From 3111f7fdb770058247d7f2bcbebb0a442734565a Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 5 Jun 2020 19:06:31 +0000 Subject: [PATCH] --- .../Controllers/AttachmentController.cs | 2 +- .../AyaNova/biz/BizObjectExistsInDatabase.cs | 90 +++++++++---------- 2 files changed, 41 insertions(+), 51 deletions(-) diff --git a/server/AyaNova/Controllers/AttachmentController.cs b/server/AyaNova/Controllers/AttachmentController.cs index 8e84ab97..566ec43c 100644 --- a/server/AyaNova/Controllers/AttachmentController.cs +++ b/server/AyaNova/Controllers/AttachmentController.cs @@ -261,7 +261,7 @@ namespace AyaNova.Api.Controllers if (!badRequest) { //check if object exists - if (!await BizObjectExistsInDatabase.ExistsAsync(attachToObject)) + if (!await BizObjectExistsInDatabase.ExistsAsync(attachToObject, ct)) { badRequest = true; errorMessage = "Invalid attach object"; diff --git a/server/AyaNova/biz/BizObjectExistsInDatabase.cs b/server/AyaNova/biz/BizObjectExistsInDatabase.cs index 45d14931..d9a2dde2 100644 --- a/server/AyaNova/biz/BizObjectExistsInDatabase.cs +++ b/server/AyaNova/biz/BizObjectExistsInDatabase.cs @@ -1,6 +1,5 @@ using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; -using AyaNova.Util; using AyaNova.Models; @@ -13,102 +12,93 @@ namespace AyaNova.Biz internal static class BizObjectExistsInDatabase { - //THIS IS THE METHOD CALLED BY THE ATTACHMENT CONTROLLER - internal static async Task ExistsAsync(AyaTypeId tid) - { - return await ExistsAsync(tid.ObjectType, tid.ObjectId); - } - //Returns existance status of object type and id specified in database - internal static async Task ExistsAsync(AyaType ayaType, long id, AyContext ct = null) + internal static async Task ExistsAsync(AyaTypeId tid, AyContext ct) { //new up a context?? - if (ct == null) - { - ct = ServiceProviderProvider.DBContext; - } - switch (ayaType) + + switch (tid.ObjectType) { //CoreBizObject add here case AyaType.FileAttachment: - return await ct.FileAttachment.AnyAsync(z => z.Id == id); + return await ct.FileAttachment.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.DataListView: - return await ct.DataListView.AnyAsync(z => z.Id == id); + return await ct.DataListView.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.FormCustom: - return await ct.FormCustom.AnyAsync(z => z.Id == id); + return await ct.FormCustom.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.User: - return await ct.User.AnyAsync(z => z.Id == id); + return await ct.User.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.Widget: - return await ct.Widget.AnyAsync(z => z.Id == id); + return await ct.Widget.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.Customer: - return await ct.Customer.AnyAsync(z => z.Id == id); + return await ct.Customer.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.Contract: - return await ct.Contract.AnyAsync(z => z.Id == id); + return await ct.Contract.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.HeadOffice: - return await ct.HeadOffice.AnyAsync(z => z.Id == id); + return await ct.HeadOffice.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.LoanUnit: - return await ct.LoanUnit.AnyAsync(z => z.Id == id); + return await ct.LoanUnit.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.Part: - return await ct.Part.AnyAsync(z => z.Id == id); + return await ct.Part.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.PM: - return await ct.PM.AnyAsync(z => z.Id == id); + return await ct.PM.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.PMItem: - return await ct.PMItem.AnyAsync(z => z.Id == id); + return await ct.PMItem.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.PMTemplate: - return await ct.PMTemplate.AnyAsync(z => z.Id == id); + return await ct.PMTemplate.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.PMTemplateItem: - return await ct.PMTemplateItem.AnyAsync(z => z.Id == id); + return await ct.PMTemplateItem.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.Project: - return await ct.Project.AnyAsync(z => z.Id == id); + return await ct.Project.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.PurchaseOrder: - return await ct.PurchaseOrder.AnyAsync(z => z.Id == id); + return await ct.PurchaseOrder.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.Quote: - return await ct.Quote.AnyAsync(z => z.Id == id); + return await ct.Quote.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.QuoteItem: - return await ct.QuoteItem.AnyAsync(z => z.Id == id); + return await ct.QuoteItem.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.QuoteTemplate: - return await ct.QuoteTemplate.AnyAsync(z => z.Id == id); + return await ct.QuoteTemplate.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.QuoteTemplateItem: - return await ct.QuoteTemplateItem.AnyAsync(z => z.Id == id); + return await ct.QuoteTemplateItem.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.Unit: - return await ct.Unit.AnyAsync(z => z.Id == id); + return await ct.Unit.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.UnitModel: - return await ct.UnitModel.AnyAsync(z => z.Id == id); + return await ct.UnitModel.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.Vendor: - return await ct.Vendor.AnyAsync(z => z.Id == id); + return await ct.Vendor.AnyAsync(z => z.Id == tid.ObjectId); //--- WorkOrder case AyaType.WorkOrder: - return await ct.WorkOrder.AnyAsync(z => z.Id == id); + return await ct.WorkOrder.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.WorkOrderItem: - return await ct.WorkOrderItem.AnyAsync(z => z.Id == id); + return await ct.WorkOrderItem.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.WorkOrderItemExpense: - return await ct.WorkOrderItemExpense.AnyAsync(z => z.Id == id); + return await ct.WorkOrderItemExpense.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.WorkOrderItemLabor: - return await ct.WorkOrderItemLabor.AnyAsync(z => z.Id == id); + return await ct.WorkOrderItemLabor.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.WorkOrderItemLoan: - return await ct.WorkOrderItemLoan.AnyAsync(z => z.Id == id); + return await ct.WorkOrderItemLoan.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.WorkOrderItemPart: - return await ct.WorkOrderItemPart.AnyAsync(z => z.Id == id); + return await ct.WorkOrderItemPart.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.WorkOrderItemPartRequest: - return await ct.WorkOrderItemPartRequest.AnyAsync(z => z.Id == id); + return await ct.WorkOrderItemPartRequest.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.WorkOrderItemScheduledUser: - return await ct.WorkOrderItemScheduledUser.AnyAsync(z => z.Id == id); + return await ct.WorkOrderItemScheduledUser.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.WorkOrderItemTask: - return await ct.WorkOrderItemTask.AnyAsync(z => z.Id == id); + return await ct.WorkOrderItemTask.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.WorkOrderItemTravel: - return await ct.WorkOrderItemTravel.AnyAsync(z => z.Id == id); + return await ct.WorkOrderItemTravel.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.WorkOrderItemUnit: - return await ct.WorkOrderItemUnit.AnyAsync(z => z.Id == id); + return await ct.WorkOrderItemUnit.AnyAsync(z => z.Id == tid.ObjectId); //--- case AyaType.WorkOrderTemplate: - return await ct.WorkOrderTemplate.AnyAsync(z => z.Id == id); + return await ct.WorkOrderTemplate.AnyAsync(z => z.Id == tid.ObjectId); case AyaType.WorkOrderTemplateItem: - return await ct.WorkOrderTemplateItem.AnyAsync(z => z.Id == id); + return await ct.WorkOrderTemplateItem.AnyAsync(z => z.Id == tid.ObjectId); default: - throw new System.NotSupportedException($"AyaNova.Biz.BizObjectExistsInDatabase::ExistsAsync type {ayaType.ToString()} is not supported"); + throw new System.NotSupportedException($"AyaNova.Biz.BizObjectExistsInDatabase::ExistsAsync type {tid.ObjectType.ToString()} is not supported"); } }