public async Task <int> UpdateAsync(int id, GarmentLeftoverWarehouseReceiptFabric model) { using (var transaction = DbContext.Database.CurrentTransaction ?? DbContext.Database.BeginTransaction()) { try { int Updated = 0; GarmentLeftoverWarehouseReceiptFabric existingModel = await DbSet.Where(w => w.Id == id).FirstOrDefaultAsync(); if (existingModel.ReceiptDate != model.ReceiptDate) { existingModel.ReceiptDate = model.ReceiptDate; } if (existingModel.Remark != model.Remark) { existingModel.Remark = model.Remark; } existingModel.FlagForUpdate(IdentityService.Username, UserAgent); Updated = await DbContext.SaveChangesAsync(); transaction.Commit(); return(Updated); } catch (Exception e) { transaction.Rollback(); throw e; } } }
public async Task <int> CreateAsync(GarmentLeftoverWarehouseReceiptFabric model) { using (var transaction = DbContext.Database.CurrentTransaction ?? DbContext.Database.BeginTransaction()) { try { int Created = 0; model.FlagForCreate(IdentityService.Username, UserAgent); model.FlagForUpdate(IdentityService.Username, UserAgent); model.ReceiptNoteNo = GenerateNo(model); foreach (var item in model.Items) { item.FlagForCreate(IdentityService.Username, UserAgent); item.FlagForUpdate(IdentityService.Username, UserAgent); } DbSet.Add(model); Created = await DbContext.SaveChangesAsync(); foreach (var item in model.Items) { GarmentLeftoverWarehouseStock stock = new GarmentLeftoverWarehouseStock { ReferenceType = GarmentLeftoverWarehouseStockReferenceTypeEnum.FABRIC, UnitId = model.UnitFromId, UnitCode = model.UnitFromCode, UnitName = model.UnitFromName, PONo = item.POSerialNumber, UomId = item.UomId, UomUnit = item.UomUnit, Quantity = item.Quantity, ProductCode = item.ProductCode, ProductId = item.ProductId, ProductName = item.ProductName, BasicPrice = item.BasicPrice }; await StockService.StockIn(stock, model.ReceiptNoteNo, model.Id, item.Id); } await UpdateUnitExpenditureNoteIsReceived(model.UENId, true); transaction.Commit(); return(Created); } catch (Exception e) { transaction.Rollback(); throw e; } } }