Removed superfluous try catch throw pattern
This commit is contained in:
@@ -361,47 +361,37 @@ namespace AyaNova.Biz
|
||||
{
|
||||
using (var transaction = await ct.Database.BeginTransactionAsync())
|
||||
{
|
||||
try
|
||||
WorkOrder dbObject = await ct.WorkOrder.AsNoTracking().Where(z => z.Id == id).FirstOrDefaultAsync();// WorkOrderGetAsync(id, false);
|
||||
if (dbObject == null)
|
||||
{
|
||||
WorkOrder dbObject = await ct.WorkOrder.AsNoTracking().Where(z => z.Id == id).FirstOrDefaultAsync();// WorkOrderGetAsync(id, false);
|
||||
if (dbObject == null)
|
||||
{
|
||||
AddError(ApiErrorCode.NOT_FOUND);
|
||||
return false;
|
||||
}
|
||||
WorkOrderValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
|
||||
//States collection
|
||||
if (!await StateDeleteAsync(id, transaction))
|
||||
return false;
|
||||
|
||||
//collect the child id's to delete
|
||||
var ItemIds = await ct.WorkOrderItem.AsNoTracking().Where(z => z.WorkOrderId == id).Select(z => z.Id).ToListAsync();
|
||||
|
||||
//Delete children
|
||||
foreach (long ItemId in ItemIds)
|
||||
if (!await ItemDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
|
||||
ct.WorkOrder.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, dbObject.Serial.ToString(), ct);
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
await TagBiz.ProcessDeleteTagsInRepositoryAsync(ct, dbObject.Tags);
|
||||
await FileUtil.DeleteAttachmentsForObjectAsync(dbObject.AyaType, dbObject.Id, ct);
|
||||
await transaction.CommitAsync();
|
||||
await WorkOrderHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
AddError(ApiErrorCode.NOT_FOUND);
|
||||
return false;
|
||||
}
|
||||
catch
|
||||
{
|
||||
//NOTE: no need to rollback the transaction, it will auto-rollback if not committed and it is disposed when it goes out of scope either way
|
||||
WorkOrderValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
|
||||
throw;
|
||||
//States collection
|
||||
if (!await StateDeleteAsync(id, transaction))
|
||||
return false;
|
||||
|
||||
}
|
||||
//collect the child id's to delete
|
||||
var ItemIds = await ct.WorkOrderItem.AsNoTracking().Where(z => z.WorkOrderId == id).Select(z => z.Id).ToListAsync();
|
||||
|
||||
//Delete children
|
||||
foreach (long ItemId in ItemIds)
|
||||
if (!await ItemDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
|
||||
ct.WorkOrder.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, dbObject.Serial.ToString(), ct);
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
await TagBiz.ProcessDeleteTagsInRepositoryAsync(ct, dbObject.Tags);
|
||||
await FileUtil.DeleteAttachmentsForObjectAsync(dbObject.AyaType, dbObject.Id, ct);
|
||||
await transaction.CommitAsync();
|
||||
await WorkOrderHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1405,24 +1395,16 @@ namespace AyaNova.Biz
|
||||
// (note: this would only ever be called when a workorder is deleted, there is no direct delete)
|
||||
internal async Task<bool> StateDeleteAsync(long workOrderId, IDbContextTransaction parentTransaction)
|
||||
{
|
||||
try
|
||||
{
|
||||
var stateList = await ct.WorkOrderState.AsNoTracking().Where(z => z.WorkOrderId == workOrderId).ToListAsync();
|
||||
var stateList = await ct.WorkOrderState.AsNoTracking().Where(z => z.WorkOrderId == workOrderId).ToListAsync();
|
||||
|
||||
foreach (var wostate in stateList)
|
||||
{
|
||||
ct.WorkOrderState.Remove(wostate);
|
||||
await ct.SaveChangesAsync();
|
||||
//no need to call this because it's only going to run this method if the workorder is deleted and
|
||||
//via process standard notifciation events for workorder deletion will remove any state delayed notifications anyway so
|
||||
//nothing to call or do here related to notification
|
||||
// await StateHandlePotentialNotificationEvent(AyaEvent.Deleted, wostate);
|
||||
}
|
||||
}
|
||||
catch
|
||||
foreach (var wostate in stateList)
|
||||
{
|
||||
|
||||
throw;
|
||||
ct.WorkOrderState.Remove(wostate);
|
||||
await ct.SaveChangesAsync();
|
||||
//no need to call this because it's only going to run this method if the workorder is deleted and
|
||||
//via process standard notifciation events for workorder deletion will remove any state delayed notifications anyway so
|
||||
//nothing to call or do here related to notification
|
||||
// await StateHandlePotentialNotificationEvent(AyaEvent.Deleted, wostate);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1827,81 +1809,73 @@ namespace AyaNova.Biz
|
||||
internal async Task<bool> ItemDeleteAsync(long id, IDbContextTransaction parentTransaction = null)
|
||||
{
|
||||
var transaction = parentTransaction ?? await ct.Database.BeginTransactionAsync();
|
||||
try
|
||||
var dbObject = await ct.WorkOrderItem.AsNoTracking().SingleOrDefaultAsync(z => z.Id == id);
|
||||
if (dbObject == null)
|
||||
{
|
||||
var dbObject = await ct.WorkOrderItem.AsNoTracking().SingleOrDefaultAsync(z => z.Id == id);
|
||||
if (dbObject == null)
|
||||
{
|
||||
AddError(ApiErrorCode.NOT_FOUND);
|
||||
AddError(ApiErrorCode.NOT_FOUND);
|
||||
return false;
|
||||
}
|
||||
ItemValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
|
||||
//collect the child id's to delete
|
||||
var ExpenseIds = await ct.WorkOrderItemExpense.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var LaborIds = await ct.WorkOrderItemLabor.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var LoanIds = await ct.WorkOrderItemLoan.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var PartIds = await ct.WorkOrderItemPart.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var PartRequestIds = await ct.WorkOrderItemPartRequest.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var ScheduledUserIds = await ct.WorkOrderItemScheduledUser.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var TaskIds = await ct.WorkOrderItemTask.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var TravelIds = await ct.WorkOrderItemTravel.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var UnitIds = await ct.WorkOrderItemUnit.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var OutsideServiceIds = await ct.WorkOrderItemOutsideService.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
|
||||
//Delete children
|
||||
foreach (long ItemId in ExpenseIds)
|
||||
if (!await ExpenseDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
}
|
||||
ItemValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
foreach (long ItemId in LaborIds)
|
||||
if (!await LaborDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in LoanIds)
|
||||
if (!await LoanDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in PartIds)
|
||||
if (!await PartDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in PartRequestIds)
|
||||
if (!await PartRequestDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in ScheduledUserIds)
|
||||
if (!await ScheduledUserDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in TaskIds)
|
||||
if (!await TaskDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in TravelIds)
|
||||
if (!await TravelDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in UnitIds)
|
||||
if (!await UnitDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in OutsideServiceIds)
|
||||
if (!await OutsideServiceDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
|
||||
//collect the child id's to delete
|
||||
var ExpenseIds = await ct.WorkOrderItemExpense.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var LaborIds = await ct.WorkOrderItemLabor.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var LoanIds = await ct.WorkOrderItemLoan.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var PartIds = await ct.WorkOrderItemPart.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var PartRequestIds = await ct.WorkOrderItemPartRequest.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var ScheduledUserIds = await ct.WorkOrderItemScheduledUser.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var TaskIds = await ct.WorkOrderItemTask.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var TravelIds = await ct.WorkOrderItemTravel.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var UnitIds = await ct.WorkOrderItemUnit.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
var OutsideServiceIds = await ct.WorkOrderItemOutsideService.Where(z => z.WorkOrderItemId == id).Select(z => z.Id).ToListAsync();
|
||||
ct.WorkOrderItem.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
|
||||
//Delete children
|
||||
foreach (long ItemId in ExpenseIds)
|
||||
if (!await ExpenseDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in LaborIds)
|
||||
if (!await LaborDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in LoanIds)
|
||||
if (!await LoanDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in PartIds)
|
||||
if (!await PartDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in PartRequestIds)
|
||||
if (!await PartRequestDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in ScheduledUserIds)
|
||||
if (!await ScheduledUserDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in TaskIds)
|
||||
if (!await TaskDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in TravelIds)
|
||||
if (!await TravelDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in UnitIds)
|
||||
if (!await UnitDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
foreach (long ItemId in OutsideServiceIds)
|
||||
if (!await OutsideServiceDeleteAsync(ItemId, transaction))
|
||||
return false;
|
||||
//Log event
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "wo:" + dbObject.WorkOrderId.ToString(), ct);//FIX wo?? Not sure what is best here; revisit
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
await TagBiz.ProcessDeleteTagsInRepositoryAsync(ct, dbObject.Tags);
|
||||
await FileUtil.DeleteAttachmentsForObjectAsync(dbObject.AyaType, dbObject.Id, ct);
|
||||
|
||||
ct.WorkOrderItem.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
|
||||
//Log event
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "wo:" + dbObject.WorkOrderId.ToString(), ct);//FIX wo?? Not sure what is best here; revisit
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
await TagBiz.ProcessDeleteTagsInRepositoryAsync(ct, dbObject.Tags);
|
||||
await FileUtil.DeleteAttachmentsForObjectAsync(dbObject.AyaType, dbObject.Id, ct);
|
||||
|
||||
//all good do the commit if it's ours
|
||||
if (parentTransaction == null)
|
||||
await transaction.CommitAsync();
|
||||
await ItemHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
throw;
|
||||
}
|
||||
//all good do the commit if it's ours
|
||||
if (parentTransaction == null)
|
||||
await transaction.CommitAsync();
|
||||
await ItemHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2162,26 +2136,18 @@ namespace AyaNova.Biz
|
||||
internal async Task<bool> ExpenseDeleteAsync(long id, IDbContextTransaction parentTransaction = null)
|
||||
{
|
||||
var transaction = parentTransaction ?? await ct.Database.BeginTransactionAsync();
|
||||
try
|
||||
{
|
||||
var dbObject = await ExpenseGetAsync(id, false);
|
||||
ExpenseValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
ct.WorkOrderItemExpense.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
//Log event
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "woitem:" + dbObject.WorkOrderItemId.ToString(), ct);//Fix??
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
if (parentTransaction == null)
|
||||
await transaction.CommitAsync();
|
||||
await ExpenseHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
throw;
|
||||
}
|
||||
var dbObject = await ExpenseGetAsync(id, false);
|
||||
ExpenseValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
ct.WorkOrderItemExpense.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
//Log event
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "woitem:" + dbObject.WorkOrderItemId.ToString(), ct);//Fix??
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
if (parentTransaction == null)
|
||||
await transaction.CommitAsync();
|
||||
await ExpenseHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2518,27 +2484,19 @@ namespace AyaNova.Biz
|
||||
internal async Task<bool> LaborDeleteAsync(long id, IDbContextTransaction parentTransaction = null)
|
||||
{
|
||||
var transaction = parentTransaction ?? await ct.Database.BeginTransactionAsync();
|
||||
try
|
||||
{
|
||||
var dbObject = await LaborGetAsync(id, false);
|
||||
LaborValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
ct.WorkOrderItemLabor.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
var dbObject = await LaborGetAsync(id, false);
|
||||
LaborValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
ct.WorkOrderItemLabor.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
|
||||
//Log event
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "woitem:" + dbObject.WorkOrderItemId.ToString(), ct);//Fix??
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
if (parentTransaction == null)
|
||||
await transaction.CommitAsync();
|
||||
await LaborHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
throw;
|
||||
}
|
||||
//Log event
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "woitem:" + dbObject.WorkOrderItemId.ToString(), ct);//Fix??
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
if (parentTransaction == null)
|
||||
await transaction.CommitAsync();
|
||||
await LaborHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2899,26 +2857,19 @@ namespace AyaNova.Biz
|
||||
internal async Task<bool> LoanDeleteAsync(long id, IDbContextTransaction parentTransaction = null)
|
||||
{
|
||||
var transaction = parentTransaction ?? await ct.Database.BeginTransactionAsync();
|
||||
try
|
||||
{
|
||||
var dbObject = await LoanGetAsync(id, false);
|
||||
LoanValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
ct.WorkOrderItemLoan.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
var dbObject = await LoanGetAsync(id, false);
|
||||
LoanValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
ct.WorkOrderItemLoan.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
|
||||
//Log event
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "woitem:" + dbObject.WorkOrderItemId.ToString(), ct);//Fix??
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
if (parentTransaction == null)
|
||||
await transaction.CommitAsync();
|
||||
await LoanHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
//Log event
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "woitem:" + dbObject.WorkOrderItemId.ToString(), ct);//Fix??
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
if (parentTransaction == null)
|
||||
await transaction.CommitAsync();
|
||||
await LoanHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -3295,26 +3246,19 @@ namespace AyaNova.Biz
|
||||
internal async Task<bool> OutsideServiceDeleteAsync(long id, IDbContextTransaction parentTransaction = null)
|
||||
{
|
||||
var transaction = parentTransaction ?? await ct.Database.BeginTransactionAsync();
|
||||
try
|
||||
{
|
||||
var dbObject = await OutsideServiceGetAsync(id, false);
|
||||
OutsideServiceValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
ct.WorkOrderItemOutsideService.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
var dbObject = await OutsideServiceGetAsync(id, false);
|
||||
OutsideServiceValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
ct.WorkOrderItemOutsideService.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
|
||||
//Log event
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "woitem:" + dbObject.WorkOrderItemId.ToString(), ct);//Fix??
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
if (parentTransaction == null)
|
||||
await transaction.CommitAsync();
|
||||
await OutsideServiceHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
//Log event
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "woitem:" + dbObject.WorkOrderItemId.ToString(), ct);//Fix??
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
if (parentTransaction == null)
|
||||
await transaction.CommitAsync();
|
||||
await OutsideServiceHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -3781,34 +3725,26 @@ namespace AyaNova.Biz
|
||||
internal async Task<bool> PartDeleteAsync(long id, IDbContextTransaction parentTransaction = null)
|
||||
{
|
||||
var transaction = parentTransaction ?? await ct.Database.BeginTransactionAsync();
|
||||
|
||||
try
|
||||
var dbObject = await PartGetAsync(id, false);
|
||||
PartValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
await PartBizActionsAsync(AyaEvent.Deleted, null, dbObject, transaction);
|
||||
ct.WorkOrderItemPart.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
await PartInventoryAdjustmentAsync(AyaEvent.Deleted, null, dbObject, transaction);
|
||||
if (HasErrors)
|
||||
{
|
||||
var dbObject = await PartGetAsync(id, false);
|
||||
PartValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
await PartBizActionsAsync(AyaEvent.Deleted, null, dbObject, transaction);
|
||||
ct.WorkOrderItemPart.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
await PartInventoryAdjustmentAsync(AyaEvent.Deleted, null, dbObject, transaction);
|
||||
if (HasErrors)
|
||||
{
|
||||
await transaction.RollbackAsync();
|
||||
return false;
|
||||
}
|
||||
//Log event
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "woitem:" + dbObject.WorkOrderItemId.ToString(), ct);//Fix??
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
await transaction.RollbackAsync();
|
||||
return false;
|
||||
}
|
||||
//Log event
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "woitem:" + dbObject.WorkOrderItemId.ToString(), ct);//Fix??
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
|
||||
if (parentTransaction == null)
|
||||
await transaction.CommitAsync();
|
||||
await PartHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
if (parentTransaction == null)
|
||||
await transaction.CommitAsync();
|
||||
await PartHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -4352,25 +4288,18 @@ namespace AyaNova.Biz
|
||||
internal async Task<bool> PartRequestDeleteAsync(long id, IDbContextTransaction parentTransaction = null)
|
||||
{
|
||||
var transaction = parentTransaction ?? await ct.Database.BeginTransactionAsync();
|
||||
try
|
||||
{
|
||||
var dbObject = await PartRequestGetAsync(id, false);
|
||||
PartRequestValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
ct.WorkOrderItemPartRequest.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
//Log event
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "woitem:" + dbObject.WorkOrderItemId.ToString(), ct);//Fix??
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
if (parentTransaction == null)
|
||||
await transaction.CommitAsync();
|
||||
await PartRequestHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
}
|
||||
catch
|
||||
{
|
||||
throw;
|
||||
}
|
||||
var dbObject = await PartRequestGetAsync(id, false);
|
||||
PartRequestValidateCanDelete(dbObject);
|
||||
if (HasErrors)
|
||||
return false;
|
||||
ct.WorkOrderItemPartRequest.Remove(dbObject);
|
||||
await ct.SaveChangesAsync();
|
||||
//Log event
|
||||
await EventLogProcessor.DeleteObjectLogAsync(UserId, dbObject.AyaType, dbObject.Id, "woitem:" + dbObject.WorkOrderItemId.ToString(), ct);//Fix??
|
||||
await Search.ProcessDeletedObjectKeywordsAsync(dbObject.Id, dbObject.AyaType, ct);
|
||||
if (parentTransaction == null)
|
||||
await transaction.CommitAsync();
|
||||
await PartRequestHandlePotentialNotificationEvent(AyaEvent.Deleted, dbObject);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user