public async Task <GarmentLeftoverWarehouseReceiptAccessory> GetTestDataACC() { GarmentLeftoverWarehouseReceiptAccessory data = GetNewData(); await Service.CreateAsync(data); return(data); }
public async Task <int> CreateAsync(GarmentLeftoverWarehouseReceiptAccessory 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.InvoiceNoReceive = 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.ACCESSORIES, UnitId = model.RequestUnitId, UnitCode = model.RequestUnitCode, UnitName = model.RequestUnitName, PONo = item.POSerialNumber, UomId = item.UomUnitId, UomUnit = item.UomUnit, Quantity = item.Quantity, ProductCode = item.ProductCode, ProductId = item.ProductId, ProductName = item.ProductName, BasicPrice = item.BasicPrice }; await StockService.StockIn(stock, model.InvoiceNoReceive, model.Id, item.Id); } await UpdateUnitExpenditureNoteIsReceived(model.UENid, true); transaction.Commit(); return(Created); } catch (Exception e) { transaction.Rollback(); throw e; } } }
private string GenerateNo(GarmentLeftoverWarehouseReceiptAccessory model) { string code = "BMACC"; string prefix = code + model.RequestUnitCode.Trim() + model._CreatedUtc.ToString("yy") + model._CreatedUtc.ToString("MM"); var lastNo = DbSet.Where(w => w.InvoiceNoReceive.StartsWith(prefix)) .OrderByDescending(o => o.InvoiceNoReceive) .Select(s => int.Parse(s.InvoiceNoReceive.Replace(prefix, ""))) .FirstOrDefault(); var curNo = $"{prefix}{(lastNo + 1).ToString("D4")}"; return(curNo); }
public GarmentLeftoverWarehouseReceiptAccessoriesViewModel MapToViewModel(GarmentLeftoverWarehouseReceiptAccessory model) { GarmentLeftoverWarehouseReceiptAccessoriesViewModel viewModel = new GarmentLeftoverWarehouseReceiptAccessoriesViewModel(); PropertyCopier <GarmentLeftoverWarehouseReceiptAccessory, GarmentLeftoverWarehouseReceiptAccessoriesViewModel> .Copy(model, viewModel); viewModel.RequestUnit = new UnitViewModel { Id = model.RequestUnitId.ToString(), Code = model.RequestUnitCode, Name = model.RequestUnitName }; viewModel.Storage = new StorageViewModel { _id = model.StorageFromId.ToString(), code = model.StorageFromCode, name = model.StorageFromName }; if (model.Items != null) { viewModel.Items = new List <GarmentLeftoverWarehouseReceiptAccessoriesItemViewModel>(); foreach (var modelItem in model.Items) { GarmentLeftoverWarehouseReceiptAccessoriesItemViewModel viewModelItem = new GarmentLeftoverWarehouseReceiptAccessoriesItemViewModel(); PropertyCopier <GarmentLeftoverWarehouseReceiptAccessoryItem, GarmentLeftoverWarehouseReceiptAccessoriesItemViewModel> .Copy(modelItem, viewModelItem); viewModelItem.Product = new ProductViewModel { Id = modelItem.ProductId.ToString(), Code = modelItem.ProductCode, Name = modelItem.ProductName }; viewModelItem.Uom = new UomViewModel { Id = modelItem.UomUnitId.ToString(), Unit = modelItem.UomUnit }; viewModel.Items.Add(viewModelItem); } } return(viewModel); }
public GarmentLeftoverWarehouseReceiptAccessory CopyData(GarmentLeftoverWarehouseReceiptAccessory oldData) { GarmentLeftoverWarehouseReceiptAccessory newData = new GarmentLeftoverWarehouseReceiptAccessory(); PropertyCopier <GarmentLeftoverWarehouseReceiptAccessory, GarmentLeftoverWarehouseReceiptAccessory> .Copy(oldData, newData); newData.Items = new List <GarmentLeftoverWarehouseReceiptAccessoryItem>(); foreach (var oldItem in oldData.Items) { GarmentLeftoverWarehouseReceiptAccessoryItem newItem = new GarmentLeftoverWarehouseReceiptAccessoryItem(); PropertyCopier <GarmentLeftoverWarehouseReceiptAccessoryItem, GarmentLeftoverWarehouseReceiptAccessoryItem> .Copy(oldItem, newItem); newData.Items.Add(newItem); } return(newData); }
public GarmentLeftoverWarehouseReceiptAccessory MapToModel(GarmentLeftoverWarehouseReceiptAccessoriesViewModel viewModel) { GarmentLeftoverWarehouseReceiptAccessory model = new GarmentLeftoverWarehouseReceiptAccessory(); PropertyCopier <GarmentLeftoverWarehouseReceiptAccessoriesViewModel, GarmentLeftoverWarehouseReceiptAccessory> .Copy(viewModel, model); if (viewModel.RequestUnit != null) { model.RequestUnitId = long.Parse(viewModel.RequestUnit.Id); model.RequestUnitCode = viewModel.RequestUnit.Code; model.RequestUnitName = viewModel.RequestUnit.Name; } if (viewModel.Storage != null) { model.StorageFromId = long.Parse(viewModel.Storage._id); model.StorageFromCode = viewModel.Storage.code; model.StorageFromName = viewModel.Storage.name; } model.Items = new List <GarmentLeftoverWarehouseReceiptAccessoryItem>(); foreach (var viewModelItem in viewModel.Items) { GarmentLeftoverWarehouseReceiptAccessoryItem modelItem = new GarmentLeftoverWarehouseReceiptAccessoryItem(); PropertyCopier <GarmentLeftoverWarehouseReceiptAccessoriesItemViewModel, GarmentLeftoverWarehouseReceiptAccessoryItem> .Copy(viewModelItem, modelItem); if (viewModelItem.Product != null) { modelItem.ProductId = long.Parse(viewModelItem.Product.Id); modelItem.ProductCode = viewModelItem.Product.Code; modelItem.ProductName = viewModelItem.Product.Name; } if (viewModelItem.Uom != null) { modelItem.UomUnitId = long.Parse(viewModelItem.Uom.Id); modelItem.UomUnit = viewModelItem.Uom.Unit; } model.Items.Add(modelItem); } return(model); }
public async Task <int> UpdateAsync(int id, GarmentLeftoverWarehouseReceiptAccessory model) { int Updated = 0; using (var transaction = DbContext.Database.CurrentTransaction ?? DbContext.Database.BeginTransaction()) { try { GarmentLeftoverWarehouseReceiptAccessory existingModel = await DbSet.Where(w => w.Id == id).FirstOrDefaultAsync(); //if (existingModel.InvoiceNoReceive != model.InvoiceNoReceive) //{ // existingModel.InvoiceNoReceive = model.InvoiceNoReceive; //} //if (existingModel.RequestUnitCode != model.RequestUnitCode) //{ // existingModel.RequestUnitCode = model.RequestUnitCode; //} //if (existingModel.RequestUnitId != model.RequestUnitId) //{ // existingModel.RequestUnitId = model.RequestUnitId; //} //if (existingModel.RequestUnitName != model.RequestUnitName) //{ // existingModel.RequestUnitName = model.RequestUnitName; //} //if (existingModel.StorageFromName != model.StorageFromName) //{ // existingModel.StorageFromName = model.StorageFromName; //} //if (existingModel.StorageFromId != model.StorageFromId) //{ // existingModel.StorageFromId = model.StorageFromId; //} //if (existingModel.StorageFromCode != model.StorageFromCode) //{ // existingModel.StorageFromCode = model.StorageFromCode; //} if (existingModel.StorageReceiveDate != model.StorageReceiveDate) { existingModel.StorageReceiveDate = model.StorageReceiveDate; } //if (existingModel.UENid != model.UENid) //{ // existingModel.UENid = model.UENid; //} //if (existingModel.UENNo != model.UENNo) //{ // existingModel.UENNo = model.UENNo; //} if (existingModel.Remark != model.Remark) { existingModel.Remark = model.Remark; } //if (model.AvalType == "AVAL FABRIC") //{ // if (existingModel.TotalAval != model.TotalAval) // { // GarmentLeftoverWarehouseStock stock = new GarmentLeftoverWarehouseStock // { // ReferenceType = GarmentLeftoverWarehouseStockReferenceTypeEnum.AVAL_FABRIC, // UnitId = model.UnitFromId, // UnitCode = model.UnitFromCode, // UnitName = model.UnitFromName, // Quantity = existingModel.TotalAval // }; // await StockService.StockOut(stock, existingModel.AvalReceiptNo, model.Id, 0); // GarmentLeftoverWarehouseStock stock1 = new GarmentLeftoverWarehouseStock // { // ReferenceType = GarmentLeftoverWarehouseStockReferenceTypeEnum.AVAL_FABRIC, // UnitId = model.UnitFromId, // UnitCode = model.UnitFromCode, // UnitName = model.UnitFromName, // Quantity = model.TotalAval // }; // await StockService.StockIn(stock1, model.AvalReceiptNo, model.Id, 0); // existingModel.TotalAval = model.TotalAval; // } //} existingModel.FlagForUpdate(IdentityService.Username, UserAgent); Updated = await DbContext.SaveChangesAsync(); transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw e; } } return(Updated); }