public async Task <GarmentLeftoverWarehouseReceiptAval> GetTestData() { GarmentLeftoverWarehouseReceiptAval data = GetNewData(); await Service.CreateAsync(data); return(data); }
public async Task <GarmentLeftoverWarehouseReceiptAval> GetTestDataBP() { GarmentLeftoverWarehouseReceiptAval data = GetNewData(); data.AvalType = "AVAL BAHAN PENOLONG"; await Service.CreateAsync(data); return(data); }
public async Task <GarmentLeftoverWarehouseReceiptAval> GetTestDataComponent() { GarmentLeftoverWarehouseReceiptAval data = GetNewData(); data.AvalType = "AVAL KOMPONEN"; await Service.CreateAsync(data); return(data); }
public async Task <GarmentLeftoverWarehouseReceiptAval> GetTestDataACC() { GarmentLeftoverWarehouseReceiptAval data = GetNewData(); data.AvalType = "AVAL ACCESSORIES"; await Service.CreateAsync(data); return(data); }
private string GenerateNo(GarmentLeftoverWarehouseReceiptAval model) { //string code = model.AvalType == "AVAL FABRIC" ? "BMAF" : "BMAC"; string code = getCode(model.AvalType); string prefix = code + model.UnitFromCode.Trim() + model._CreatedUtc.ToString("yy") + model._CreatedUtc.ToString("MM"); var lastNo = DbSet.Where(w => w.AvalReceiptNo.StartsWith(prefix)) .OrderByDescending(o => o.AvalReceiptNo) .Select(s => int.Parse(s.AvalReceiptNo.Replace(prefix, ""))) .FirstOrDefault(); var curNo = $"{prefix}{(lastNo + 1).ToString("D4")}"; return(curNo); }
public GarmentLeftoverWarehouseReceiptAval CopyData(GarmentLeftoverWarehouseReceiptAval oldData) { GarmentLeftoverWarehouseReceiptAval newData = new GarmentLeftoverWarehouseReceiptAval(); PropertyCopier <GarmentLeftoverWarehouseReceiptAval, GarmentLeftoverWarehouseReceiptAval> .Copy(oldData, newData); newData.Items = new List <GarmentLeftoverWarehouseReceiptAvalItem>(); foreach (var oldItem in oldData.Items) { GarmentLeftoverWarehouseReceiptAvalItem newItem = new GarmentLeftoverWarehouseReceiptAvalItem(); PropertyCopier <GarmentLeftoverWarehouseReceiptAvalItem, GarmentLeftoverWarehouseReceiptAvalItem> .Copy(oldItem, newItem); newData.Items.Add(newItem); } return(newData); }
public GarmentLeftoverWarehouseReceiptAvalViewModel MapToViewModel(GarmentLeftoverWarehouseReceiptAval model) { GarmentLeftoverWarehouseReceiptAvalViewModel viewModel = new GarmentLeftoverWarehouseReceiptAvalViewModel(); PropertyCopier <GarmentLeftoverWarehouseReceiptAval, GarmentLeftoverWarehouseReceiptAvalViewModel> .Copy(model, viewModel); viewModel.UnitFrom = new UnitViewModel { Id = model.UnitFromId.ToString(), Code = model.UnitFromCode, Name = model.UnitFromName }; if (model.Items != null) { viewModel.Items = new List <GarmentLeftoverWarehouseReceiptAvalItemViewModel>(); foreach (var modelItem in model.Items) { GarmentLeftoverWarehouseReceiptAvalItemViewModel viewModelItem = new GarmentLeftoverWarehouseReceiptAvalItemViewModel(); PropertyCopier <GarmentLeftoverWarehouseReceiptAvalItem, GarmentLeftoverWarehouseReceiptAvalItemViewModel> .Copy(modelItem, viewModelItem); viewModelItem.Product = new ProductViewModel { Id = modelItem.ProductId.ToString(), Code = modelItem.ProductCode, Name = modelItem.ProductName }; viewModelItem.Uom = new UomViewModel { Id = modelItem.UomId.ToString(), Unit = modelItem.UomUnit }; viewModel.Items.Add(viewModelItem); } } return(viewModel); }
public GarmentLeftoverWarehouseReceiptAval MapToModel(GarmentLeftoverWarehouseReceiptAvalViewModel viewModel) { GarmentLeftoverWarehouseReceiptAval model = new GarmentLeftoverWarehouseReceiptAval(); PropertyCopier <GarmentLeftoverWarehouseReceiptAvalViewModel, GarmentLeftoverWarehouseReceiptAval> .Copy(viewModel, model); if (viewModel.UnitFrom != null) { model.UnitFromId = long.Parse(viewModel.UnitFrom.Id); model.UnitFromCode = viewModel.UnitFrom.Code; model.UnitFromName = viewModel.UnitFrom.Name; } model.Items = new List <GarmentLeftoverWarehouseReceiptAvalItem>(); foreach (var viewModelItem in viewModel.Items) { GarmentLeftoverWarehouseReceiptAvalItem modelItem = new GarmentLeftoverWarehouseReceiptAvalItem(); PropertyCopier <GarmentLeftoverWarehouseReceiptAvalItemViewModel, GarmentLeftoverWarehouseReceiptAvalItem> .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.UomId = long.Parse(viewModelItem.Uom.Id); modelItem.UomUnit = viewModelItem.Uom.Unit; } model.Items.Add(modelItem); } return(model); }
public async Task <int> DeleteAsync(int id) { int Deleted = 0; using (var transaction = DbContext.Database.CurrentTransaction ?? DbContext.Database.BeginTransaction()) { try { GarmentLeftoverWarehouseReceiptAval model = await ReadByIdAsync(id); model.FlagForDelete(IdentityService.Username, UserAgent); List <string> avalItemIds = new List <string>(); foreach (var item in model.Items) { avalItemIds.Add(item.GarmentAvalProductItemId.ToString()); item.FlagForDelete(IdentityService.Username, UserAgent); } Deleted = await DbContext.SaveChangesAsync(); if (model.AvalType == "AVAL FABRIC") { GarmentLeftoverWarehouseStock stock = new GarmentLeftoverWarehouseStock { ReferenceType = GarmentLeftoverWarehouseStockReferenceTypeEnum.AVAL_FABRIC, UnitId = model.UnitFromId, UnitCode = model.UnitFromCode, UnitName = model.UnitFromName, Quantity = model.TotalAval }; await StockService.StockOut(stock, model.AvalReceiptNo, model.Id, 0); await UpdateAvalProductIsReceived(avalItemIds, false); } else if (model.AvalType == "AVAL BAHAN PENOLONG") { foreach (var item in model.Items) { GarmentLeftoverWarehouseStock stock = new GarmentLeftoverWarehouseStock { ReferenceType = GarmentLeftoverWarehouseStockReferenceTypeEnum.AVAL_BAHAN_PENOLONG, UnitId = model.UnitFromId, UnitCode = model.UnitFromCode, UnitName = model.UnitFromName, Quantity = item.Quantity, ProductCode = item.ProductCode, ProductName = item.ProductName, ProductId = item.ProductId, UomId = item.UomId, UomUnit = item.UomUnit }; await StockService.StockOut(stock, model.AvalReceiptNo, model.Id, item.Id); } } else if (model.AvalType == "AVAL KOMPONEN") { GarmentLeftoverWarehouseStock stock = new GarmentLeftoverWarehouseStock { ReferenceType = GarmentLeftoverWarehouseStockReferenceTypeEnum.COMPONENT, UnitId = model.UnitFromId, UnitCode = model.UnitFromCode, UnitName = model.UnitFromName, Quantity = model.TotalAval }; await StockService.StockOut(stock, model.AvalReceiptNo, model.Id, 0); foreach (var item in model.Items) { await UpdateAvalComponentIsReceived(item.AvalComponentId.ToString(), false); } } transaction.Commit(); } catch (Exception e) { transaction.Rollback(); throw e; } } return(Deleted); }
public async Task <int> UpdateAsync(int id, GarmentLeftoverWarehouseReceiptAval model) { int Updated = 0; using (var transaction = DbContext.Database.CurrentTransaction ?? DbContext.Database.BeginTransaction()) { try { GarmentLeftoverWarehouseReceiptAval 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; } if (existingModel.TotalAval != model.TotalAval) { existingModel.TotalAval = model.TotalAval; } 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; } } else if (model.AvalType == "AVAL KOMPONEN") { if (existingModel.TotalAval != model.TotalAval) { GarmentLeftoverWarehouseStock stock = new GarmentLeftoverWarehouseStock { ReferenceType = GarmentLeftoverWarehouseStockReferenceTypeEnum.COMPONENT, 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.COMPONENT, 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); }