This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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"));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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"));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -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"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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; }
|
||||
|
||||
Reference in New Issue
Block a user