This commit is contained in:
2021-02-16 15:19:41 +00:00
parent 2d7c921713
commit 10271b75f9
6 changed files with 18 additions and 7 deletions

View File

@@ -342,6 +342,8 @@ namespace AyaNova.Biz
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("Unit"));
if (await ct.CustomerServiceRequest.AnyAsync(m => m.CustomerId == inObj.Id))
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("CustomerServiceRequest"));
if (await ct.PurchaseOrder.AnyAsync(m => m.DropShipToCustomerId == inObj.Id))
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("PurchaseOrder"));
// await Task.CompletedTask;
}

View File

@@ -412,6 +412,8 @@ namespace AyaNova.Biz
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("PartInventoryList"));//translates to "Part inventory"
if (await ct.PartStockLevel.AnyAsync(m => m.PartId == inObj.Id))
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("PartStockingLevels"));
if (await ct.PurchaseOrderItem.AnyAsync(m => m.PartId == inObj.Id))
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("PurchaseOrder"));
}

View File

@@ -271,6 +271,8 @@ namespace AyaNova.Biz
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("PartInventoryTransaction"));
if (await ct.PartStockLevel.AnyAsync(m => m.PartWarehouseId == inObj.Id))
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("PartStockingLevels"));
if (await ct.PurchaseOrderItem.AnyAsync(m => m.PartWarehouseId == inObj.Id))
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("PurchaseOrder"));
}

View File

@@ -160,7 +160,7 @@ namespace AyaNova.Biz
AddError(ApiErrorCode.NOT_FOUND);
return false;
}
ValidateCanDelete(dbObject);
await ValidateCanDeleteAsync(dbObject);
if (HasErrors)
return false;
ct.Project.Remove(dbObject);
@@ -244,13 +244,9 @@ namespace AyaNova.Biz
}
}
//Any form customizations to validate?
var FormCustomization = await ct.FormCustom.AsNoTracking().SingleOrDefaultAsync(x => x.FormKey == AyaType.Project.ToString());
if (FormCustomization != null)
{
//Yeppers, do the validation, there are two, the custom fields and the regular fields that might be set to required
//validate users choices for required non custom fields
RequiredFieldsValidator.Validate(this, FormCustomization, proposedObj);
@@ -260,9 +256,12 @@ namespace AyaNova.Biz
}
private void ValidateCanDelete(Project inObj)
private async Task ValidateCanDeleteAsync(Project inObj)
{
//whatever needs to be check to delete this object
//Referential integrity
//FOREIGN KEY CHECKS
if (await ct.PurchaseOrder.AnyAsync(m => m.ProjectId == inObj.Id))
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("PurchaseOrder"));
}

View File

@@ -293,6 +293,8 @@ namespace AyaNova.Biz
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("UnitModel"));
if (await ct.Unit.AnyAsync(m => m.PurchasedFromVendorId == inObj.Id))
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("Unit"));
//part has three potential references, if any match that's good enough since it's the same message
if (await ct.Part.AnyAsync(z => z.ManufacturerId == inObj.Id) == true)
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("Part"));
@@ -300,6 +302,9 @@ namespace AyaNova.Biz
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("Part"));
else if (await ct.Part.AnyAsync(z => z.AlternativeWholeSalerId == inObj.Id) == true)
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("Part"));
if (await ct.PurchaseOrder.AnyAsync(m => m.VendorId == inObj.Id))
AddError(ApiErrorCode.VALIDATION_REFERENTIAL_INTEGRITY, "generalerror", await Translate("PurchaseOrder"));
}

View File

@@ -53,6 +53,7 @@ namespace AyaNova.Models
public virtual DbSet<PMTemplateItem> PMTemplateItem { get; set; }
public virtual DbSet<Project> Project { get; set; }
public virtual DbSet<PurchaseOrder> PurchaseOrder { get; set; }
public virtual DbSet<PurchaseOrderItem> PurchaseOrderItem { get; set; }
public virtual DbSet<Quote> Quote { get; set; }
public virtual DbSet<QuoteItem> QuoteItem { get; set; }
public virtual DbSet<QuoteTemplate> QuoteTemplate { get; set; }