179 lines
8.7 KiB
C#
179 lines
8.7 KiB
C#
using System.Threading.Tasks;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using AyaNova.Models;
|
|
|
|
|
|
namespace AyaNova.Biz
|
|
{
|
|
|
|
|
|
//THIS IS USED BY THE ATTACHMENT CONTROLLER
|
|
//IN THEORY WE ONLY NEED TO CHECK FOR ATTACHABLE TYPES, BUT I CAN SEE IT'S POTENTIAL USEFULNESS DOWN THE ROAD FOR OTHER THINGS
|
|
internal static class BizObjectExistsInDatabase
|
|
{
|
|
|
|
|
|
//Returns existance status of object type and id specified in database
|
|
|
|
internal static async Task<bool> ExistsAsync(AyaType aType, long id, AyContext ct)
|
|
{
|
|
//new up a context??
|
|
|
|
switch (aType)
|
|
{
|
|
//CoreBizObject add here
|
|
case AyaType.NoType://no type always exists and this is used by orphaned attachments
|
|
return true;
|
|
case AyaType.FileAttachment:
|
|
return await ct.FileAttachment.AnyAsync(z => z.Id == id);
|
|
case AyaType.DataListSavedFilter:
|
|
return await ct.DataListSavedFilter.AnyAsync(z => z.Id == id);
|
|
case AyaType.FormCustom:
|
|
return await ct.FormCustom.AnyAsync(z => z.Id == id);
|
|
case AyaType.User:
|
|
return await ct.User.AnyAsync(z => z.Id == id);
|
|
case AyaType.Customer:
|
|
return await ct.Customer.AnyAsync(z => z.Id == id);
|
|
case AyaType.CustomerNote:
|
|
return await ct.CustomerNote.AnyAsync(z => z.Id == id);
|
|
case AyaType.Contract:
|
|
return await ct.Contract.AnyAsync(z => z.Id == id);
|
|
case AyaType.HeadOffice:
|
|
return await ct.HeadOffice.AnyAsync(z => z.Id == id);
|
|
case AyaType.LoanUnit:
|
|
return await ct.LoanUnit.AnyAsync(z => z.Id == id);
|
|
case AyaType.Memo:
|
|
return await ct.Memo.AnyAsync(z => z.Id == id);
|
|
case AyaType.Part:
|
|
return await ct.Part.AnyAsync(z => z.Id == id);
|
|
case AyaType.PartWarehouse:
|
|
return await ct.PartWarehouse.AnyAsync(z => z.Id == id);
|
|
case AyaType.PartAssembly:
|
|
return await ct.PartAssembly.AnyAsync(z => z.Id == id);
|
|
|
|
//--- PM
|
|
case AyaType.PM:
|
|
return await ct.PM.AnyAsync(z => z.Id == id);
|
|
case AyaType.PMItem:
|
|
return await ct.PMItem.AnyAsync(z => z.Id == id);
|
|
case AyaType.PMItemExpense:
|
|
return await ct.PMItemExpense.AnyAsync(z => z.Id == id);
|
|
case AyaType.PMItemLabor:
|
|
return await ct.PMItemLabor.AnyAsync(z => z.Id == id);
|
|
case AyaType.PMItemLoan:
|
|
return await ct.PMItemLoan.AnyAsync(z => z.Id == id);
|
|
case AyaType.PMItemPart:
|
|
return await ct.PMItemPart.AnyAsync(z => z.Id == id);
|
|
case AyaType.PMItemScheduledUser:
|
|
return await ct.PMItemScheduledUser.AnyAsync(z => z.Id == id);
|
|
case AyaType.PMItemTask:
|
|
return await ct.PMItemTask.AnyAsync(z => z.Id == id);
|
|
case AyaType.PMItemTravel:
|
|
return await ct.PMItemTravel.AnyAsync(z => z.Id == id);
|
|
case AyaType.PMItemUnit:
|
|
return await ct.PMItemUnit.AnyAsync(z => z.Id == id);
|
|
case AyaType.PMItemOutsideService:
|
|
return await ct.PMItemOutsideService.AnyAsync(z => z.Id == id);
|
|
//---
|
|
|
|
case AyaType.Project:
|
|
return await ct.Project.AnyAsync(z => z.Id == id);
|
|
case AyaType.PurchaseOrder:
|
|
return await ct.PurchaseOrder.AnyAsync(z => z.Id == id);
|
|
|
|
//--- Quote
|
|
case AyaType.Quote:
|
|
return await ct.Quote.AnyAsync(z => z.Id == id);
|
|
case AyaType.QuoteItem:
|
|
return await ct.QuoteItem.AnyAsync(z => z.Id == id);
|
|
case AyaType.QuoteItemExpense:
|
|
return await ct.QuoteItemExpense.AnyAsync(z => z.Id == id);
|
|
case AyaType.QuoteItemLabor:
|
|
return await ct.QuoteItemLabor.AnyAsync(z => z.Id == id);
|
|
case AyaType.QuoteItemLoan:
|
|
return await ct.QuoteItemLoan.AnyAsync(z => z.Id == id);
|
|
case AyaType.QuoteItemPart:
|
|
return await ct.QuoteItemPart.AnyAsync(z => z.Id == id);
|
|
case AyaType.QuoteItemScheduledUser:
|
|
return await ct.QuoteItemScheduledUser.AnyAsync(z => z.Id == id);
|
|
case AyaType.QuoteItemTask:
|
|
return await ct.QuoteItemTask.AnyAsync(z => z.Id == id);
|
|
case AyaType.QuoteItemTravel:
|
|
return await ct.QuoteItemTravel.AnyAsync(z => z.Id == id);
|
|
case AyaType.QuoteItemUnit:
|
|
return await ct.QuoteItemUnit.AnyAsync(z => z.Id == id);
|
|
case AyaType.QuoteItemOutsideService:
|
|
return await ct.QuoteItemOutsideService.AnyAsync(z => z.Id == id);
|
|
//---
|
|
|
|
case AyaType.Unit:
|
|
return await ct.Unit.AnyAsync(z => z.Id == id);
|
|
case AyaType.UnitModel:
|
|
return await ct.UnitModel.AnyAsync(z => z.Id == id);
|
|
case AyaType.Vendor:
|
|
return await ct.Vendor.AnyAsync(z => z.Id == id);
|
|
//--- WorkOrder
|
|
case AyaType.WorkOrder:
|
|
return await ct.WorkOrder.AnyAsync(z => z.Id == id);
|
|
case AyaType.WorkOrderItem:
|
|
return await ct.WorkOrderItem.AnyAsync(z => z.Id == id);
|
|
case AyaType.WorkOrderItemExpense:
|
|
return await ct.WorkOrderItemExpense.AnyAsync(z => z.Id == id);
|
|
case AyaType.WorkOrderItemLabor:
|
|
return await ct.WorkOrderItemLabor.AnyAsync(z => z.Id == id);
|
|
case AyaType.WorkOrderItemLoan:
|
|
return await ct.WorkOrderItemLoan.AnyAsync(z => z.Id == id);
|
|
case AyaType.WorkOrderItemPart:
|
|
return await ct.WorkOrderItemPart.AnyAsync(z => z.Id == id);
|
|
case AyaType.WorkOrderItemPartRequest:
|
|
return await ct.WorkOrderItemPartRequest.AnyAsync(z => z.Id == id);
|
|
case AyaType.WorkOrderItemScheduledUser:
|
|
return await ct.WorkOrderItemScheduledUser.AnyAsync(z => z.Id == id);
|
|
case AyaType.WorkOrderItemTask:
|
|
return await ct.WorkOrderItemTask.AnyAsync(z => z.Id == id);
|
|
case AyaType.WorkOrderItemTravel:
|
|
return await ct.WorkOrderItemTravel.AnyAsync(z => z.Id == id);
|
|
case AyaType.WorkOrderItemUnit:
|
|
return await ct.WorkOrderItemUnit.AnyAsync(z => z.Id == id);
|
|
case AyaType.WorkOrderItemOutsideService:
|
|
return await ct.WorkOrderItemOutsideService.AnyAsync(z => z.Id == id);
|
|
//---
|
|
|
|
case AyaType.Report:
|
|
return await ct.Report.AnyAsync(z => z.Id == id);
|
|
case AyaType.Reminder:
|
|
return await ct.Reminder.AnyAsync(z => z.Id == id);
|
|
case AyaType.Review:
|
|
return await ct.Review.AnyAsync(z => z.Id == id);
|
|
case AyaType.ServiceRate:
|
|
return await ct.ServiceRate.AnyAsync(z => z.Id == id);
|
|
case AyaType.TravelRate:
|
|
return await ct.TravelRate.AnyAsync(z => z.Id == id);
|
|
case AyaType.TaxCode:
|
|
return await ct.TaxCode.AnyAsync(z => z.Id == id);
|
|
// case AyaType.ServiceBank:
|
|
// return await ct.ServiceBank.AnyAsync(z => z.Id == id);
|
|
case AyaType.CustomerServiceRequest:
|
|
return await ct.CustomerServiceRequest.AnyAsync(z => z.Id == id);
|
|
case AyaType.CustomerNotifySubscription:
|
|
return await ct.CustomerNotifySubscription.AnyAsync(z => z.Id == id);
|
|
case AyaType.Integration:
|
|
return await ct.Integration.AnyAsync(z => z.Id == id);
|
|
default:
|
|
throw new System.NotSupportedException($"AyaNova.Biz.BizObjectExistsInDatabase::ExistsAsync type {aType.ToString()} is not supported");
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
}//eoc
|
|
|
|
|
|
}//eons
|
|
|