public async Task <int> CreateAsync(FPReturnInvToPurchasing model) { int Created = 0; using (var transaction = DbContext.Database.BeginTransaction()) { try { IFpRegradingResultDocsService fpRegradingResultDocsService = ServiceProvider.GetService <IFpRegradingResultDocsService>(); foreach (FPReturnInvToPurchasingDetail detail in model.FPReturnInvToPurchasingDetails) { fpRegradingResultDocsService.UpdateIsReturnedToPurchasing(detail.FPRegradingResultDocsId, true); detail.FlagForCreate(IdentityService.Username, UserAgent); detail.FlagForUpdate(IdentityService.Username, UserAgent); } model = await this.NoGenerator(model); DbSet.Add(model); Created = await DbContext.SaveChangesAsync(); await CreateInventoryDocumentAsync(model, "OUT"); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw new Exception("Insert Error : " + e.Message); } } return(Created); }
public async Task <int> DeleteAsync(int id) { int Count = 0; using (var Transaction = this.DbContext.Database.BeginTransaction()) { try { IFpRegradingResultDocsService fpRegradingResultDocsService = ServiceProvider.GetService <IFpRegradingResultDocsService>(); FPReturnInvToPurchasing fpReturnInvToPurchasing = await ReadByIdAsync(id); fpReturnInvToPurchasing.FlagForDelete(IdentityService.Username, UserAgent); foreach (var item in fpReturnInvToPurchasing.FPReturnInvToPurchasingDetails) { fpRegradingResultDocsService.UpdateIsReturnedToPurchasing(item.FPRegradingResultDocsId, false); item.FlagForDelete(IdentityService.Username, UserAgent); } Count = await DbContext.SaveChangesAsync(); await CreateInventoryDocumentAsync(fpReturnInvToPurchasing, "IN"); Transaction.Commit(); } catch (Exception e) { Transaction.Rollback(); throw new Exception("Delete Error : " + e.Message); } } return(Count); }
public async Task <int> Create(FPReturnInvToPurchasing model) { int Created = 0; using (var transaction = this.fpReturnInvToPurchasingService.DbContext.Database.BeginTransaction()) { try { foreach (FPReturnInvToPurchasingDetail detail in model.FPReturnInvToPurchasingDetails) { fpRegradingResultDocsService.UpdateIsReturnedToPurchasing(detail.FPRegradingResultDocsId, true); this.fpReturnInvToPurchasingDetailService.OnCreating(detail); } model = await this.NoGenerator(model); Created = await this.fpReturnInvToPurchasingService.CreateAsync(model); CreateInventoryDocument(model, "OUT"); transaction.Commit(); } catch (ServiceValidationExeption e) { transaction.Rollback(); throw new ServiceValidationExeption(e.ValidationContext, e.ValidationResults); } catch (Exception e) { transaction.Rollback(); throw new Exception("Insert Error : " + e.Message); } } return(Created); }