public async Task <int> DeleteTransitArea(DyeingPrintingAreaInputModel model) { int result = 0; result += await _outputSPPRepository.UpdateFromInputAsync(model.DyeingPrintingAreaInputProductionOrders.Select(s => s.DyeingPrintingAreaOutputProductionOrderId).ToList(), false, null); foreach (var item in model.DyeingPrintingAreaInputProductionOrders.Where(s => !s.HasOutputDocument)) { item.FlagForDelete(_identityProvider.Username, UserAgent); var previousOutputData = await _outputSPPRepository.ReadByIdAsync(item.DyeingPrintingAreaOutputProductionOrderId); if (previousOutputData.Area == DyeingPrintingArea.PACKING) { //var outputData = await _outputProductionOrderRepository.ReadByIdAsync(item.Id); var packingData = JsonConvert.DeserializeObject <List <PackingData> >(previousOutputData.PrevSppInJson); foreach (var pack in packingData) { pack.Balance *= -1; } result += await _SPPRepository.UpdateFromNextAreaInputPackingAsync(packingData); } else { result += await _SPPRepository.UpdateFromNextAreaInputAsync(previousOutputData.DyeingPrintingAreaInputProductionOrderId, item.Balance * -1, item.PackagingQty * -1); } //result += await _SPPRepository.UpdateFromNextAreaInputAsync(previousOutputData.DyeingPrintingAreaInputProductionOrderId, item.Balance * -1, item.PackagingQty * -1); } //model.FlagForDelete(_identityProvider.Username, UserAgent); _dbSet.Update(model); result += await _dbContext.SaveChangesAsync(); return(result); }
public async Task <int> DeleteShippingArea(DyeingPrintingAreaInputModel model) { int result = 0; if (model.ShippingType == DyeingPrintingArea.ZONAGUDANG) { result += await _outputSPPRepository.UpdateFromInputAsync(model.DyeingPrintingAreaInputProductionOrders.Select(s => s.DyeingPrintingAreaOutputProductionOrderId).ToList(), false, null); } foreach (var item in model.DyeingPrintingAreaInputProductionOrders.Where(s => !s.HasOutputDocument)) { item.FlagForDelete(_identityProvider.Username, UserAgent); if (model.ShippingType == DyeingPrintingArea.ZONAGUDANG) { var previousOutputData = await _outputSPPRepository.ReadByIdAsync(item.DyeingPrintingAreaOutputProductionOrderId); result += await _SPPRepository.UpdateFromNextAreaInputAsync(previousOutputData.DyeingPrintingAreaInputProductionOrderId, item.Balance * -1, item.PackagingQty * -1); } } _dbSet.Update(model); result += await _dbContext.SaveChangesAsync(); return(result); }
public async Task <int> Update(int id, InputAvalTransformationViewModel viewModel) { int result = 0; var dbModel = await _repository.ReadByIdAsync(id); var model = new DyeingPrintingAreaInputModel(viewModel.Date, viewModel.Area, viewModel.Shift, viewModel.BonNo, viewModel.Group, viewModel.AvalType, viewModel.IsTransformedAval, viewModel.TotalQuantity, viewModel.TotalWeight, viewModel.AvalTransformationProductionOrders.Select(d => new DyeingPrintingAreaInputProductionOrderModel(viewModel.Area, d.BonNo, d.ProductionOrder.Id, d.ProductionOrder.No, d.ProductionOrder.Type, d.ProductionOrder.OrderQuantity, d.CartNo, d.Construction, d.Unit, d.Buyer, d.BuyerId, d.Color, d.Motif, d.AvalType, d.UomUnit, d.InputQuantity, d.HasOutputDocument, d.DyeingPrintingAreaInputProductionOrderId, d.Material.Id, d.Material.Name, d.MaterialConstruction.Id, d.MaterialConstruction.Name, d.MaterialWidth, d.Machine, d.ProcessType.Id, d.ProcessType.Name, d.YarnMaterial.Id, d.YarnMaterial.Name, d.ProductSKUId, d.FabricSKUId, d.ProductSKUCode, d.HasPrintingProductSKU, d.ProductPackingId, d.FabricPackingId, d.ProductPackingCode, d.HasPrintingProductPacking, d.InputQuantity, d.FinishWidth) { Id = d.Id }).ToList()); result = await _repository.UpdateAvalTransformationArea(id, model, dbModel); var diffAvalQuantity = dbModel.TotalAvalQuantity - model.TotalAvalQuantity; var diffAvalWeight = dbModel.TotalAvalWeight - model.TotalAvalWeight; var movementModel = new DyeingPrintingAreaMovementModel(viewModel.Date, viewModel.Area, DyeingPrintingArea.TRANSFORM, model.Id, model.BonNo, diffAvalQuantity * -1, diffAvalWeight * -1, model.AvalType); result += await _movementRepository.InsertAsync(movementModel); return(result); }
public async Task <int> UpdateAvalTransformationArea(int id, DyeingPrintingAreaInputModel model, DyeingPrintingAreaInputModel dbModel) { int result = 0; dbModel.SetDate(model.Date, _identityProvider.Username, UserAgent); dbModel.SetShift(model.Shift, _identityProvider.Username, UserAgent); dbModel.SetGroup(model.Group, _identityProvider.Username, UserAgent); dbModel.SetIsTransformedAval(model.IsTransformedAval, _identityProvider.Username, UserAgent); dbModel.SetTotalAvalQuantity(model.TotalAvalQuantity, _identityProvider.Username, UserAgent); dbModel.SetTotalAvalWeight(model.TotalAvalWeight, _identityProvider.Username, UserAgent); foreach (var item in dbModel.DyeingPrintingAreaInputProductionOrders.Where(s => !s.HasOutputDocument)) { var localItem = model.DyeingPrintingAreaInputProductionOrders.FirstOrDefault(s => s.Id == item.Id); if (localItem == null) { item.FlagForDelete(_identityProvider.Username, UserAgent); result += await _SPPRepository.UpdateFromOutputAsync(item.DyeingPrintingAreaOutputProductionOrderId, false); } } result += await _dbContext.SaveChangesAsync(); return(result); }
public async Task <int> Update(int id, InputInspectionMaterialViewModel viewModel) { int result = 0; var dbModel = await _repository.ReadByIdAsync(id); var model = new DyeingPrintingAreaInputModel(viewModel.Date, viewModel.Area, viewModel.Shift, viewModel.BonNo, viewModel.Group, viewModel.InspectionMaterialProductionOrders.Select(s => new DyeingPrintingAreaInputProductionOrderModel(viewModel.Area, s.ProductionOrder.Id, s.ProductionOrder.No, s.ProductionOrder.Type, s.ProductionOrder.OrderQuantity, s.PackingInstruction, s.CartNo, s.Buyer, s.Construction, s.Unit, s.Color, s.Motif, s.UomUnit, s.InputQuantity, s.InputQuantity, s.HasOutputDocument, s.BuyerId, 0, s.Material.Id, s.Material.Name, s.MaterialConstruction.Id, s.MaterialConstruction.Name, s.MaterialWidth, s.ProcessType.Id, s.ProcessType.Name, s.YarnMaterial.Id, s.YarnMaterial.Name, s.InputQuantity, s.FinishWidth, viewModel.Date, s.MaterialOrigin) // s.Material.Name, s.MaterialConstruction.Id, s.MaterialConstruction.Name, s.MaterialWidth, s.ProcessType.Id, s.ProcessType.Name, s.YarnMaterial.Id, s.YarnMaterial.Name, s.InputQuantity, viewModel.Date) { Id = s.Id }).ToList()); Dictionary <int, double> dictBalance = new Dictionary <int, double>(); foreach (var item in dbModel.DyeingPrintingAreaInputProductionOrders) { var lclModel = model.DyeingPrintingAreaInputProductionOrders.FirstOrDefault(s => s.Id == item.Id); if (lclModel != null) { var diffBalance = lclModel.InputQuantity - item.InputQuantity; dictBalance.Add(lclModel.Id, diffBalance); } } var deletedData = dbModel.DyeingPrintingAreaInputProductionOrders.Where(s => !s.HasOutputDocument && !viewModel.InspectionMaterialProductionOrders.Any(d => d.Id == s.Id)).ToList(); if (deletedData.Any(item => !item.HasOutputDocument && item.BalanceRemains != item.Balance)) { throw new Exception("Ada SPP yang Sudah Dibuat di Pengeluaran Inspection Material!"); } result = await _repository.UpdateIMArea(id, model, dbModel); foreach (var item in dbModel.DyeingPrintingAreaInputProductionOrders.Where(d => !d.HasOutputDocument && !d.IsDeleted)) { double newBalance = 0; if (!dictBalance.TryGetValue(item.Id, out newBalance)) { newBalance = item.InputQuantity; } if (newBalance != 0) { var movementModel = new DyeingPrintingAreaMovementModel(dbModel.Date, item.MaterialOrigin, dbModel.Area, DyeingPrintingArea.IN, dbModel.Id, dbModel.BonNo, item.ProductionOrderId, item.ProductionOrderNo, item.CartNo, item.Buyer, item.Construction, item.Unit, item.Color, item.Motif, item.UomUnit, newBalance, item.Id, item.ProductionOrderType); result += await _movementRepository.InsertAsync(movementModel); } } foreach (var item in deletedData) { var movementModel = new DyeingPrintingAreaMovementModel(dbModel.Date, item.MaterialOrigin, dbModel.Area, DyeingPrintingArea.IN, dbModel.Id, dbModel.BonNo, item.ProductionOrderId, item.ProductionOrderNo, item.CartNo, item.Buyer, item.Construction, item.Unit, item.Color, item.Motif, item.UomUnit, item.Balance * -1, item.Id, item.ProductionOrderType); result += await _movementRepository.InsertAsync(movementModel); } return(result); }
public async Task <int> Create(InputAvalTransformationViewModel viewModel) { int result = 0; var model = _repository.GetDbSet().AsNoTracking() .FirstOrDefault(s => s.Area == DyeingPrintingArea.GUDANGAVAL && s.Date.Date == viewModel.Date.Date & s.Shift == viewModel.Shift && s.AvalType == viewModel.AvalType && s.IsTransformedAval); viewModel.AvalTransformationProductionOrders = viewModel.AvalTransformationProductionOrders.Where(s => s.IsSave).ToList(); if (model == null) { int totalCurrentYearData = _repository.ReadAllIgnoreQueryFilter().Count(s => s.IsTransformedAval && s.Area == DyeingPrintingArea.GUDANGAVAL && s.CreatedUtc.Year == viewModel.Date.Year); string bonNo = GenerateBonNo(totalCurrentYearData + 1, viewModel.Date); model = new DyeingPrintingAreaInputModel(viewModel.Date, viewModel.Area, viewModel.Shift, bonNo, viewModel.Group, viewModel.AvalType, true, viewModel.TotalQuantity, viewModel.TotalWeight, viewModel.AvalTransformationProductionOrders.Select(d => new DyeingPrintingAreaInputProductionOrderModel(viewModel.Area, d.BonNo, d.ProductionOrder.Id, d.ProductionOrder.No, d.ProductionOrder.Type, d.ProductionOrder.OrderQuantity, d.CartNo, d.Construction, d.Unit, d.Buyer, d.BuyerId, d.Color, d.Motif, d.AvalType, d.UomUnit, d.InputQuantity, false, d.Id, d.Material.Id, d.Material.Name, d.MaterialConstruction.Id, d.MaterialConstruction.Name, d.MaterialWidth, d.Machine, d.ProcessType.Id, d.ProcessType.Name, d.YarnMaterial.Id, d.YarnMaterial.Name, d.ProductSKUId, d.FabricSKUId, d.ProductSKUCode, d.HasPrintingProductSKU, d.ProductPackingId, d.FabricPackingId, d.ProductPackingCode, d.HasPrintingProductPacking, d.InputQuantity, d.FinishWidth)).ToList()); result = await _repository.InsertAsync(model); var movementModel = new DyeingPrintingAreaMovementModel(viewModel.Date, viewModel.Area, DyeingPrintingArea.TRANSFORM, model.Id, model.BonNo, model.TotalAvalQuantity, model.TotalAvalWeight, model.AvalType); result += await _movementRepository.InsertAsync(movementModel); foreach (var item in model.DyeingPrintingAreaInputProductionOrders) { var itemVM = viewModel.AvalTransformationProductionOrders.FirstOrDefault(s => s.Id == item.DyeingPrintingAreaOutputProductionOrderId); result += await _inputProductionOrderRepository.UpdateFromOutputAsync(item.DyeingPrintingAreaOutputProductionOrderId, true); } } else { foreach (var item in viewModel.AvalTransformationProductionOrders) { var modelItem = new DyeingPrintingAreaInputProductionOrderModel(viewModel.Area, item.BonNo, item.ProductionOrder.Id, item.ProductionOrder.No, item.ProductionOrder.Type, item.ProductionOrder.OrderQuantity, item.CartNo, item.Construction, item.Unit, item.Buyer, item.BuyerId, item.Color, item.Motif, item.AvalType, item.UomUnit, item.InputQuantity, false, item.Id, item.Material.Id, item.Material.Name, item.MaterialConstruction.Id, item.MaterialConstruction.Name, item.MaterialWidth, item.Machine, item.ProcessType.Id, item.ProcessType.Name, item.YarnMaterial.Id, item.YarnMaterial.Name, item.ProductSKUId, item.FabricSKUId, item.ProductSKUCode, item.HasPrintingProductSKU, item.ProductPackingId, item.FabricPackingId, item.ProductPackingCode, item.HasPrintingProductPacking, item.InputQuantity, item.FinishWidth); modelItem.DyeingPrintingAreaInputId = model.Id; result += await _inputProductionOrderRepository.InsertAsync(modelItem); result += await _inputProductionOrderRepository.UpdateFromOutputAsync(item.Id, true); } var movementModel = new DyeingPrintingAreaMovementModel(viewModel.Date, viewModel.Area, DyeingPrintingArea.TRANSFORM, model.Id, model.BonNo, viewModel.TotalQuantity, viewModel.TotalWeight, viewModel.AvalType); result += await _movementRepository.InsertAsync(movementModel); result += await _repository.UpdateHeaderAvalTransform(model, viewModel.TotalQuantity, viewModel.TotalWeight); } return(result); }
public Task <int> UpdateAsync(int id, DyeingPrintingAreaInputModel model) { var modelToUpdate = _dbSet.Include(s => s.DyeingPrintingAreaInputProductionOrders).FirstOrDefault(s => s.Id == id); modelToUpdate.SetArea(model.Area, _identityProvider.Username, UserAgent); modelToUpdate.SetBonNo(model.BonNo, _identityProvider.Username, UserAgent); modelToUpdate.SetDate(model.Date, _identityProvider.Username, UserAgent); modelToUpdate.SetShift(model.Shift, _identityProvider.Username, UserAgent); modelToUpdate.SetGroup(model.Group, _identityProvider.Username, UserAgent); modelToUpdate.SetTotalAvalQuantity(model.TotalAvalQuantity, _identityProvider.Username, UserAgent); modelToUpdate.SetTotalAvalWeight(model.TotalAvalWeight, _identityProvider.Username, UserAgent); foreach (var item in modelToUpdate.DyeingPrintingAreaInputProductionOrders) { var localItem = model.DyeingPrintingAreaInputProductionOrders.FirstOrDefault(s => s.Id == item.Id); if (localItem == null) { item.FlagForDelete(_identityProvider.Username, UserAgent); } else { item.SetArea(localItem.Area, _identityProvider.Username, UserAgent); item.SetBalance(localItem.Balance, _identityProvider.Username, UserAgent); item.SetBuyer(localItem.BuyerId, localItem.Buyer, _identityProvider.Username, UserAgent); item.SetCartNo(localItem.CartNo, _identityProvider.Username, UserAgent); item.SetColor(localItem.Color, _identityProvider.Username, UserAgent); item.SetConstruction(localItem.Construction, _identityProvider.Username, UserAgent); item.SetGrade(localItem.Grade, _identityProvider.Username, UserAgent); item.SetHasOutputDocument(localItem.HasOutputDocument, _identityProvider.Username, UserAgent); item.SetMotif(localItem.Motif, _identityProvider.Username, UserAgent); item.SetProductionOrder(localItem.ProductionOrderId, localItem.ProductionOrderNo, localItem.ProductionOrderType, localItem.ProductionOrderOrderQuantity, _identityProvider.Username, UserAgent); item.SetRemark(localItem.Remark, _identityProvider.Username, UserAgent); item.SetStatus(localItem.Status, _identityProvider.Username, UserAgent); item.SetUnit(localItem.Unit, _identityProvider.Username, UserAgent); item.SetUomUnit(localItem.UomUnit, _identityProvider.Username, UserAgent); item.SetIsChecked(localItem.IsChecked, _identityProvider.Username, UserAgent); item.SetPackingInstruction(localItem.PackingInstruction, _identityProvider.Username, UserAgent); item.SetDeliveryOrderSales(localItem.DeliveryOrderSalesId, localItem.DeliveryOrderSalesNo, _identityProvider.Username, UserAgent); item.SetMaterial(localItem.MaterialId, localItem.MaterialName, _identityProvider.Username, UserAgent); item.SetMaterialConstruction(localItem.MaterialConstructionId, localItem.MaterialConstructionName, _identityProvider.Username, UserAgent); item.SetMaterialWidth(localItem.MaterialWidth, _identityProvider.Username, UserAgent); item.SetMachine(localItem.Machine, _identityProvider.Username, UserAgent); item.SetPackagingLength(localItem.PackagingLength, _identityProvider.Username, UserAgent); } } foreach (var item in model.DyeingPrintingAreaInputProductionOrders.Where(s => s.Id == 0)) { item.FlagForCreate(_identityProvider.Username, UserAgent); modelToUpdate.DyeingPrintingAreaInputProductionOrders.Add(item); } return(_dbContext.SaveChangesAsync()); }
public Task <int> DeleteIMArea(DyeingPrintingAreaInputModel model) { foreach (var item in model.DyeingPrintingAreaInputProductionOrders.Where(s => !s.HasOutputDocument)) { item.FlagForDelete(_identityProvider.Username, UserAgent); } //model.FlagForDelete(_identityProvider.Username, UserAgent); _dbSet.Update(model); return(_dbContext.SaveChangesAsync()); }
public Task <int> InsertAsync(DyeingPrintingAreaInputModel model) { model.FlagForCreate(_identityProvider.Username, UserAgent); foreach (var item in model.DyeingPrintingAreaInputProductionOrders) { item.FlagForCreate(_identityProvider.Username, UserAgent); } _dbSet.Add(model); return(_dbContext.SaveChangesAsync()); }
public Task <int> UpdateHeaderAvalTransform(DyeingPrintingAreaInputModel model, double avalQuantity, double weightQuantity) { var newAvalQuantity = model.TotalAvalQuantity + avalQuantity; var newWeightQuantity = model.TotalAvalWeight + weightQuantity; model.SetTotalAvalQuantity(newAvalQuantity, _identityProvider.Username, UserAgent); model.SetTotalAvalWeight(newWeightQuantity, _identityProvider.Username, UserAgent); _dbSet.Update(model); return(_dbContext.SaveChangesAsync()); }
public async Task <int> UpdateTransitArea(int id, DyeingPrintingAreaInputModel model, DyeingPrintingAreaInputModel dbModel) { int result = 0; dbModel.SetDate(model.Date, _identityProvider.Username, UserAgent); dbModel.SetShift(model.Shift, _identityProvider.Username, UserAgent); dbModel.SetGroup(model.Group, _identityProvider.Username, UserAgent); foreach (var item in dbModel.DyeingPrintingAreaInputProductionOrders.Where(s => !s.HasOutputDocument)) { var localItem = model.DyeingPrintingAreaInputProductionOrders.FirstOrDefault(s => s.Id == item.Id); if (localItem == null) { item.FlagForDelete(_identityProvider.Username, UserAgent); result += await _outputSPPRepository.UpdateFromInputNextAreaFlagAsync(item.DyeingPrintingAreaOutputProductionOrderId, false, null); var previousOutputData = await _outputSPPRepository.ReadByIdAsync(item.DyeingPrintingAreaOutputProductionOrderId); if (previousOutputData.Area == DyeingPrintingArea.PACKING) { //var outputData = await _outputProductionOrderRepository.ReadByIdAsync(item.Id); var packingData = JsonConvert.DeserializeObject <List <PackingData> >(previousOutputData.PrevSppInJson); foreach (var pack in packingData) { pack.Balance *= -1; } result += await _SPPRepository.UpdateFromNextAreaInputPackingAsync(packingData); } else { result += await _SPPRepository.UpdateFromNextAreaInputAsync(previousOutputData.DyeingPrintingAreaInputProductionOrderId, item.Balance * -1, item.PackagingQty * -1); } //result += await _SPPRepository.UpdateFromNextAreaInputAsync(previousOutputData.DyeingPrintingAreaInputProductionOrderId, item.Balance * -1, item.PackagingQty * -1); } } //foreach (var item in model.DyeingPrintingAreaInputProductionOrders.Where(s => s.Id == 0)) //{ // item.FlagForCreate(_identityProvider.Username, UserAgent); // dbModel.DyeingPrintingAreaInputProductionOrders.Add(item); // result += await _outputSPPRepository.UpdateFromInputNextAreaFlagAsync(item.DyeingPrintingAreaOutputProductionOrderId, true); // var previousOutputData = await _outputSPPRepository.ReadByIdAsync(item.DyeingPrintingAreaOutputProductionOrderId); // result += await _SPPRepository.UpdateFromNextAreaInputAsync(previousOutputData.DyeingPrintingAreaInputProductionOrderId, item.Balance); //} result += await _dbContext.SaveChangesAsync(); return(result); }
public async Task <int> Create(InputInspectionMaterialViewModel viewModel) { int result = 0; var model = _repository.GetDbSet().AsNoTracking() .FirstOrDefault(s => s.Area == DyeingPrintingArea.INSPECTIONMATERIAL && s.Date.Date == viewModel.Date.Date & s.Shift == viewModel.Shift); if (model == null) { int totalCurrentYearData = _repository.ReadAllIgnoreQueryFilter().Count(s => s.Area == DyeingPrintingArea.INSPECTIONMATERIAL && s.CreatedUtc.Year == viewModel.Date.Year); string bonNo = GenerateBonNo(totalCurrentYearData + 1, viewModel.Date); model = new DyeingPrintingAreaInputModel(viewModel.Date, viewModel.Area, viewModel.Shift, bonNo, viewModel.Group, viewModel.InspectionMaterialProductionOrders.Select(s => new DyeingPrintingAreaInputProductionOrderModel(viewModel.Area, s.ProductionOrder.Id, s.ProductionOrder.No, s.ProductionOrder.Type, s.ProductionOrder.OrderQuantity, s.PackingInstruction, s.CartNo, s.Buyer, s.Construction, s.Unit, s.Color, s.Motif, s.UomUnit, s.InputQuantity, s.InputQuantity, false, s.BuyerId, 0, s.Material.Id, s.Material.Name, s.MaterialConstruction.Id, s.MaterialConstruction.Name, s.MaterialWidth, s.ProcessType.Id, s.ProcessType.Name, s.YarnMaterial.Id, s.YarnMaterial.Name, s.InputQuantity, s.FinishWidth, viewModel.Date, s.MaterialOrigin)).ToList()); result = await _repository.InsertAsync(model); foreach (var item in model.DyeingPrintingAreaInputProductionOrders) { var movementModel = new DyeingPrintingAreaMovementModel(model.Date, item.MaterialOrigin, model.Area, DyeingPrintingArea.IN, model.Id, model.BonNo, item.ProductionOrderId, item.ProductionOrderNo, item.CartNo, item.Buyer, item.Construction, item.Unit, item.Color, item.Motif, item.UomUnit, item.InputQuantity, item.Id, item.ProductionOrderType); result += await _movementRepository.InsertAsync(movementModel); } } else { foreach (var item in viewModel.InspectionMaterialProductionOrders) { var modelItem = new DyeingPrintingAreaInputProductionOrderModel(viewModel.Area, item.ProductionOrder.Id, item.ProductionOrder.No, item.ProductionOrder.Type, item.ProductionOrder.OrderQuantity, item.PackingInstruction, item.CartNo, item.Buyer, item.Construction, item.Unit, item.Color, item.Motif, item.UomUnit, item.InputQuantity, item.InputQuantity, false, item.BuyerId, 0, item.Material.Id, item.Material.Name, item.MaterialConstruction.Id, item.MaterialConstruction.Name, item.MaterialWidth, item.ProcessType.Id, item.ProcessType.Name, item.YarnMaterial.Id, item.YarnMaterial.Name, item.InputQuantity, item.FinishWidth, viewModel.Date, item.MaterialOrigin); modelItem.DyeingPrintingAreaInputId = model.Id; result += await _productionOrderRepository.InsertAsync(modelItem); var movementModel = new DyeingPrintingAreaMovementModel(viewModel.Date, item.MaterialOrigin, viewModel.Area, DyeingPrintingArea.IN, model.Id, model.BonNo, item.ProductionOrder.Id, item.ProductionOrder.No, item.CartNo, item.Buyer, item.Construction, item.Unit, item.Color, item.Motif, item.UomUnit, item.InputQuantity, modelItem.Id, item.ProductionOrder.Type); result += await _movementRepository.InsertAsync(movementModel); } } return(result); }
public async Task <int> DeleteAvalTransformationArea(DyeingPrintingAreaInputModel model) { int result = 0; foreach (var item in model.DyeingPrintingAreaInputProductionOrders.Where(s => !s.HasOutputDocument)) { item.FlagForDelete(_identityProvider.Username, UserAgent); result += await _SPPRepository.UpdateFromOutputAsync(item.DyeingPrintingAreaOutputProductionOrderId, false); } model.FlagForDelete(_identityProvider.Username, UserAgent); _dbSet.Update(model); result += await _dbContext.SaveChangesAsync(); return(result); }
public Task <int> UpdateIMArea(int id, DyeingPrintingAreaInputModel model, DyeingPrintingAreaInputModel modelToUpdate) { modelToUpdate.SetDate(model.Date, _identityProvider.Username, UserAgent); modelToUpdate.SetShift(model.Shift, _identityProvider.Username, UserAgent); modelToUpdate.SetGroup(model.Group, _identityProvider.Username, UserAgent); foreach (var item in modelToUpdate.DyeingPrintingAreaInputProductionOrders.Where(s => !s.HasOutputDocument)) { var localItem = model.DyeingPrintingAreaInputProductionOrders.FirstOrDefault(s => s.Id == item.Id); if (localItem == null) { item.FlagForDelete(_identityProvider.Username, UserAgent); } else { item.SetCartNo(localItem.CartNo, _identityProvider.Username, UserAgent); var diffBalance = localItem.InputQuantity - item.InputQuantity; var newBalanceRemains = item.BalanceRemains + diffBalance; var newBalance = item.Balance + diffBalance; if (newBalanceRemains <= 0) { item.SetHasOutputDocument(true, _identityProvider.Username, UserAgent); } else { item.SetHasOutputDocument(false, _identityProvider.Username, UserAgent); } item.SetBalanceRemains(newBalanceRemains, _identityProvider.Username, UserAgent); item.SetBalance(newBalance, _identityProvider.Username, UserAgent); item.SetInputQuantity(localItem.InputQuantity, _identityProvider.Username, UserAgent); } } foreach (var item in model.DyeingPrintingAreaInputProductionOrders.Where(s => s.Id == 0)) { item.FlagForCreate(_identityProvider.Username, UserAgent); modelToUpdate.DyeingPrintingAreaInputProductionOrders.Add(item); } return(_dbContext.SaveChangesAsync()); }
public async Task <int> Update(int id, InputShippingViewModel viewModel) { int result = 0; var dbModel = await _repository.ReadByIdAsync(id); var model = new DyeingPrintingAreaInputModel(viewModel.Date, viewModel.Area, viewModel.Shift, viewModel.BonNo, viewModel.Group, viewModel.ShippingType, viewModel.ShippingProductionOrders.Select(s => new DyeingPrintingAreaInputProductionOrderModel(viewModel.Area, s.DeliveryOrder.Id, s.DeliveryOrder.No, s.ProductionOrder.Id, s.ProductionOrder.No, s.ProductionOrder.Type, s.ProductionOrder.OrderQuantity, s.Buyer, s.Construction, s.PackingType, s.Color, s.Motif, s.Grade, s.InputQtyPacking, s.Packing, s.InputQuantity, s.UomUnit, s.HasOutputDocument, s.InputQuantity, s.Unit, s.BuyerId, s.DyeingPrintingAreaInputProductionOrderId, s.Material.Id, s.Material.Name, s.MaterialConstruction.Id, s.MaterialConstruction.Name, s.MaterialWidth, s.CartNo, s.Remark, s.ProcessType.Id, s.ProcessType.Name, s.YarnMaterial.Id, s.YarnMaterial.Name, s.ProductSKUId, s.FabricSKUId, s.ProductSKUCode, s.HasPrintingProductSKU, s.ProductPackingId, s.FabricPackingId, s.ProductPackingCode, s.HasPrintingProductPacking, s.PackingLength, s.InputQuantity, s.InputQtyPacking, s.DeliveryOrderRetur.Id, s.DeliveryOrderRetur.No, s.FinishWidth, s.DateIn) { Id = s.Id }).ToList()); var deletedData = dbModel.DyeingPrintingAreaInputProductionOrders.Where(s => !s.HasOutputDocument && !viewModel.ShippingProductionOrders.Any(d => d.Id == s.Id)).ToList(); if (deletedData.Any(item => !item.HasOutputDocument && item.BalanceRemains != item.Balance)) { throw new Exception("Ada SPP yang Sudah Dibuat di Pengeluaran Shipping!"); } result = await _repository.UpdateShippingArea(id, model, dbModel); foreach (var item in deletedData) { var movementModel = new DyeingPrintingAreaMovementModel(dbModel.Date, dbModel.Area, DyeingPrintingArea.IN, dbModel.Id, dbModel.BonNo, item.ProductionOrderId, item.ProductionOrderNo, item.CartNo, item.Buyer, item.Construction, item.Unit, item.Color, item.Motif, item.UomUnit, item.Balance * -1, item.Id, item.ProductionOrderType, item.Grade, null, item.PackagingType, item.InputPackagingQty * -1, item.PackagingUnit, item.PackagingLength); result += await _movementRepository.InsertAsync(movementModel); } return(result); }
private InputAvalTransformationViewModel MapToViewModel(DyeingPrintingAreaInputModel model) { var vm = new InputAvalTransformationViewModel() { Active = model.Active, TotalWeight = model.TotalAvalWeight, TotalQuantity = model.TotalAvalQuantity, AvalType = model.AvalType, Area = model.Area, BonNo = model.BonNo, CreatedAgent = model.CreatedAgent, CreatedBy = model.CreatedBy, CreatedUtc = model.CreatedUtc, Date = model.Date, DeletedAgent = model.DeletedAgent, DeletedBy = model.DeletedBy, DeletedUtc = model.DeletedUtc, Group = model.Group, Id = model.Id, IsDeleted = model.IsDeleted, LastModifiedAgent = model.LastModifiedAgent, LastModifiedBy = model.LastModifiedBy, LastModifiedUtc = model.LastModifiedUtc, IsTransformedAval = model.IsTransformedAval, Shift = model.Shift, AvalTransformationProductionOrders = model.DyeingPrintingAreaInputProductionOrders.Select(d => new InputAvalTransformationProductionOrderViewModel() { Active = d.Active, AvalType = d.AvalType, BonNo = d.InputAvalBonNo, Machine = d.Machine, Buyer = d.Buyer, BuyerId = d.BuyerId, CartNo = d.CartNo, Color = d.Color, Construction = d.Construction, CreatedAgent = d.CreatedAgent, CreatedBy = d.CreatedBy, CreatedUtc = d.CreatedUtc, DeletedAgent = d.DeletedAgent, DeletedBy = d.DeletedBy, DeletedUtc = d.DeletedUtc, DyeingPrintingAreaInputProductionOrderId = d.DyeingPrintingAreaOutputProductionOrderId, Id = d.Id, IsDeleted = d.IsDeleted, LastModifiedAgent = d.LastModifiedAgent, LastModifiedBy = d.LastModifiedBy, LastModifiedUtc = d.LastModifiedUtc, Motif = d.Motif, MaterialWidth = d.MaterialWidth, FinishWidth = d.FinishWidth, Material = new Material() { Id = d.MaterialId, Name = d.MaterialName }, MaterialConstruction = new MaterialConstruction() { Name = d.MaterialConstructionName, Id = d.MaterialConstructionId }, ProcessType = new CommonViewModelObjectProperties.ProcessType() { Id = d.ProcessTypeId, Name = d.ProcessTypeName }, YarnMaterial = new CommonViewModelObjectProperties.YarnMaterial() { Id = d.YarnMaterialId, Name = d.YarnMaterialName }, ProductionOrder = new ProductionOrder() { Id = d.ProductionOrderId, No = d.ProductionOrderNo, OrderQuantity = d.ProductionOrderOrderQuantity, Type = d.ProductionOrderType }, Quantity = d.Balance, InputQuantity = d.InputQuantity, Unit = d.Unit, UomUnit = d.UomUnit, HasOutputDocument = d.HasOutputDocument, ProductSKUId = d.ProductSKUId, FabricSKUId = d.FabricSKUId, ProductSKUCode = d.ProductSKUCode, HasPrintingProductSKU = d.HasPrintingProductSKU, ProductPackingId = d.ProductPackingId, FabricPackingId = d.FabricPackingId, ProductPackingCode = d.ProductPackingCode, HasPrintingProductPacking = d.HasPrintingProductPacking }).ToList() }; return(vm); }
private InputShippingViewModel MapToViewModel(DyeingPrintingAreaInputModel model) { var vm = new InputShippingViewModel() { Active = model.Active, Id = model.Id, Area = model.Area, BonNo = model.BonNo, CreatedAgent = model.CreatedAgent, CreatedBy = model.CreatedBy, CreatedUtc = model.CreatedUtc, Date = model.Date, DeletedAgent = model.DeletedAgent, DeletedBy = model.DeletedBy, Group = model.Group, DeletedUtc = model.DeletedUtc, IsDeleted = model.IsDeleted, LastModifiedAgent = model.LastModifiedAgent, LastModifiedBy = model.LastModifiedBy, LastModifiedUtc = model.LastModifiedUtc, Shift = model.Shift, ShippingType = model.ShippingType, ShippingProductionOrders = model.DyeingPrintingAreaInputProductionOrders.Select(s => new InputShippingProductionOrderViewModel() { Active = s.Active, LastModifiedUtc = s.LastModifiedUtc, Buyer = s.Buyer, BuyerId = s.BuyerId, CartNo = s.CartNo, Color = s.Color, Construction = s.Construction, CreatedAgent = s.CreatedAgent, CreatedBy = s.CreatedBy, CreatedUtc = s.CreatedUtc, DeletedAgent = s.DeletedAgent, DeletedBy = s.DeletedBy, DeletedUtc = s.DeletedUtc, Remark = s.Remark, PackingInstruction = s.PackingInstruction, Area = s.Area, HasOutputDocument = s.HasOutputDocument, Id = s.Id, IsDeleted = s.IsDeleted, LastModifiedAgent = s.LastModifiedAgent, LastModifiedBy = s.LastModifiedBy, Packing = s.PackagingUnit, Motif = s.Motif, Grade = s.Grade, DeliveryOrder = new DeliveryOrderSales() { Id = s.DeliveryOrderSalesId, No = s.DeliveryOrderSalesNo }, QtyPacking = s.PackagingQty, InputQtyPacking = s.InputPackagingQty, PackingType = s.PackagingType, Qty = s.Balance, InputQuantity = s.InputQuantity, ProductionOrder = new ProductionOrder() { Id = s.ProductionOrderId, No = s.ProductionOrderNo, OrderQuantity = s.ProductionOrderOrderQuantity, Type = s.ProductionOrderType }, DeliveryOrderRetur = new DeliveryOrderRetur() { Id = s.DeliveryOrderReturId, No = s.DeliveryOrderReturNo }, MaterialWidth = s.MaterialWidth, FinishWidth = s.FinishWidth, Material = new Material() { Id = s.MaterialId, Name = s.MaterialName }, MaterialConstruction = new MaterialConstruction() { Name = s.MaterialConstructionName, Id = s.MaterialConstructionId }, PackingLength = s.PackagingLength, ProcessType = new CommonViewModelObjectProperties.ProcessType() { Id = s.ProcessTypeId, Name = s.ProcessTypeName }, YarnMaterial = new CommonViewModelObjectProperties.YarnMaterial() { Id = s.YarnMaterialId, Name = s.YarnMaterialName }, Unit = s.Unit, UomUnit = s.UomUnit, ProductSKUId = s.ProductSKUId, FabricSKUId = s.FabricSKUId, ProductSKUCode = s.ProductSKUCode, HasPrintingProductSKU = s.HasPrintingProductSKU, ProductPackingId = s.ProductPackingId, FabricPackingId = s.FabricPackingId, ProductPackingCode = s.ProductPackingCode, HasPrintingProductPacking = s.HasPrintingProductPacking, DateIn = s.DateIn, DateOut = s.DateOut, }).ToList() }; return(vm); }
public async Task <int> UpdateShippingArea(int id, DyeingPrintingAreaInputModel model, DyeingPrintingAreaInputModel dbModel) { int result = 0; dbModel.SetDate(model.Date, _identityProvider.Username, UserAgent); dbModel.SetShift(model.Shift, _identityProvider.Username, UserAgent); dbModel.SetGroup(model.Group, _identityProvider.Username, UserAgent); foreach (var item in dbModel.DyeingPrintingAreaInputProductionOrders.Where(s => !s.HasOutputDocument)) { var localItem = model.DyeingPrintingAreaInputProductionOrders.FirstOrDefault(s => s.Id == item.Id); if (localItem == null) { item.FlagForDelete(_identityProvider.Username, UserAgent); if (model.ShippingType == DyeingPrintingArea.ZONAGUDANG) { result += await _outputSPPRepository.UpdateFromInputNextAreaFlagAsync(item.DyeingPrintingAreaOutputProductionOrderId, false, null); var previousOutputData = await _outputSPPRepository.ReadByIdAsync(item.DyeingPrintingAreaOutputProductionOrderId); result += await _SPPRepository.UpdateFromNextAreaInputAsync(previousOutputData.DyeingPrintingAreaInputProductionOrderId, item.Balance * -1, item.PackagingQty * -1); } } else { var diffBalance = localItem.InputQuantity - item.InputQuantity; var diffQtyPacking = localItem.InputPackagingQty - item.InputPackagingQty; var newBalanceRemains = item.BalanceRemains + diffBalance; var newBalance = item.Balance + diffBalance; var newPackagingQty = item.PackagingQty + diffQtyPacking; item.SetGrade(localItem.Grade, _identityProvider.Username, UserAgent); item.SetPackagingType(localItem.PackagingType, _identityProvider.Username, UserAgent); item.SetPackagingQty(newPackagingQty, _identityProvider.Username, UserAgent); item.SetPackagingUnit(localItem.PackagingUnit, _identityProvider.Username, UserAgent); item.SetPackagingLength(localItem.PackagingLength, _identityProvider.Username, UserAgent); item.SetInputPackagingQty(localItem.InputPackagingQty, _identityProvider.Username, UserAgent); item.SetBalance(newBalance, _identityProvider.Username, UserAgent); item.SetInputQuantity(localItem.InputQuantity, _identityProvider.Username, UserAgent); item.SetBalanceRemains(newBalanceRemains, _identityProvider.Username, UserAgent); } } if (model.ShippingType == DyeingPrintingArea.RETURBARANG) { foreach (var item in model.DyeingPrintingAreaInputProductionOrders.Where(s => s.Id == 0)) { item.FlagForCreate(_identityProvider.Username, UserAgent); dbModel.DyeingPrintingAreaInputProductionOrders.Add(item); } } //foreach (var item in model.DyeingPrintingAreaInputProductionOrders.Where(s => s.Id == 0)) //{ // item.FlagForCreate(_identityProvider.Username, UserAgent); // dbModel.DyeingPrintingAreaInputProductionOrders.Add(item); // result += await _outputSPPRepository.UpdateFromInputNextAreaFlagAsync(item.DyeingPrintingAreaOutputProductionOrderId, true); // var previousOutputData = await _outputSPPRepository.ReadByIdAsync(item.DyeingPrintingAreaOutputProductionOrderId); // result += await _SPPRepository.UpdateFromNextAreaInputAsync(previousOutputData.DyeingPrintingAreaInputProductionOrderId, item.Balance); //} result += await _dbContext.SaveChangesAsync(); return(result); }
public async Task <int> Reject(InputShippingViewModel viewModel) { int result = 0; var groupedProductionOrders = viewModel.ShippingProductionOrders.GroupBy(s => s.Area); if (viewModel.ShippingType != DyeingPrintingArea.ZONAGUDANG) { return(result); } foreach (var item in groupedProductionOrders) { var model = _repository.GetDbSet().AsNoTracking() .FirstOrDefault(s => s.Area == item.Key && s.Date.Date == viewModel.Date.Date & s.Shift == viewModel.Shift); if (model == null) { int totalCurrentYearData = _repository.ReadAllIgnoreQueryFilter().Count(s => s.Area == item.Key && s.CreatedUtc.Year == viewModel.Date.Year); string bonNo = GenerateBonNo(totalCurrentYearData + 1, viewModel.Date, item.Key); model = new DyeingPrintingAreaInputModel(viewModel.Date, item.Key, viewModel.Shift, bonNo, viewModel.Group, item.Select(s => new DyeingPrintingAreaInputProductionOrderModel(item.Key, s.ProductionOrder.Id, s.ProductionOrder.No, s.ProductionOrder.Type, s.PackingInstruction, s.CartNo, s.Buyer, s.Construction, s.Unit, s.Color, s.Motif, s.UomUnit, s.InputQuantity, false, s.Packing, s.PackingType, s.InputQtyPacking, s.Grade, s.ProductionOrder.OrderQuantity, s.BuyerId, s.Id, s.Remark, s.InputQuantity, s.Material.Id, s.Material.Name, s.MaterialConstruction.Id, s.MaterialConstruction.Name, s.MaterialWidth, s.ProcessType.Id, s.ProcessType.Name, s.YarnMaterial.Id, s.YarnMaterial.Name, s.ProductSKUId, s.FabricSKUId, s.ProductSKUCode, s.HasPrintingProductSKU, s.ProductPackingId, s.FabricPackingId, s.ProductPackingCode, s.HasPrintingProductPacking, s.PackingLength, s.InputQuantity, s.InputQtyPacking, s.FinishWidth, s.DateIn)).ToList()); result = await _repository.InsertAsync(model); result += await _outputSPPRepository.UpdateFromInputAsync(item.Select(s => s.Id).ToList(), true, DyeingPrintingArea.TOLAK); foreach (var detail in item) { var itemModel = model.DyeingPrintingAreaInputProductionOrders.FirstOrDefault(s => s.DyeingPrintingAreaOutputProductionOrderId == detail.Id); result += await _productionOrderRepository.UpdateFromNextAreaInputAsync(detail.DyeingPrintingAreaInputProductionOrderId, detail.InputQuantity, detail.InputQtyPacking); var movementModel = new DyeingPrintingAreaMovementModel(viewModel.Date, item.Key, DyeingPrintingArea.IN, model.Id, model.BonNo, detail.ProductionOrder.Id, detail.ProductionOrder.No, detail.CartNo, detail.Buyer, detail.Construction, detail.Unit, detail.Color, detail.Motif, detail.UomUnit, detail.InputQuantity, itemModel.Id, detail.ProductionOrder.Type, detail.Grade, null, detail.PackingType, detail.InputQtyPacking, detail.Packing, detail.PackingLength); result += await _movementRepository.InsertAsync(movementModel); } } else { foreach (var detail in item) { var modelItem = new DyeingPrintingAreaInputProductionOrderModel(item.Key, detail.ProductionOrder.Id, detail.ProductionOrder.No, detail.ProductionOrder.Type, detail.PackingInstruction, detail.CartNo, detail.Buyer, detail.Construction, detail.Unit, detail.Color, detail.Motif, detail.UomUnit, detail.InputQuantity, false, detail.Packing, detail.PackingType, detail.InputQtyPacking, detail.Grade, detail.ProductionOrder.OrderQuantity, detail.BuyerId, detail.Id, detail.Remark, detail.InputQuantity, detail.Material.Id, detail.Material.Name, detail.MaterialConstruction.Id, detail.MaterialConstruction.Name, detail.MaterialWidth, detail.ProcessType.Id, detail.ProcessType.Name, detail.YarnMaterial.Id, detail.YarnMaterial.Name, detail.ProductSKUId, detail.FabricSKUId, detail.ProductSKUCode, detail.HasPrintingProductSKU, detail.ProductPackingId, detail.FabricPackingId, detail.ProductPackingCode, detail.HasPrintingProductPacking, detail.PackingLength, detail.InputQuantity, detail.InputQtyPacking, detail.FinishWidth, detail.DateIn); modelItem.DyeingPrintingAreaInputId = model.Id; result += await _productionOrderRepository.InsertAsync(modelItem); result += await _productionOrderRepository.UpdateFromNextAreaInputAsync(detail.DyeingPrintingAreaInputProductionOrderId, detail.InputQuantity, detail.InputQtyPacking); var movementModel = new DyeingPrintingAreaMovementModel(viewModel.Date, item.Key, DyeingPrintingArea.IN, model.Id, model.BonNo, detail.ProductionOrder.Id, detail.ProductionOrder.No, detail.CartNo, detail.Buyer, detail.Construction, detail.Unit, detail.Color, detail.Motif, detail.UomUnit, detail.InputQuantity, modelItem.Id, detail.ProductionOrder.Type, detail.Grade, null, detail.PackingType, detail.InputQtyPacking, detail.Packing, detail.PackingLength); result += await _movementRepository.InsertAsync(movementModel); } result += await _outputSPPRepository.UpdateFromInputAsync(item.Select(s => s.Id).ToList(), true, DyeingPrintingArea.TOLAK); } } return(result); }
public async Task <int> Create(InputShippingViewModel viewModel) { int result = 0; var model = _repository.GetDbSet().AsNoTracking() .FirstOrDefault(s => s.Area == DyeingPrintingArea.SHIPPING && s.Date.Date == viewModel.Date.Date & s.Shift == viewModel.Shift && s.ShippingType == viewModel.ShippingType); if (model == null) { int totalCurrentYearData = _repository.ReadAllIgnoreQueryFilter().Count(s => s.Area == DyeingPrintingArea.SHIPPING && s.CreatedUtc.Year == viewModel.Date.Year); string bonNo = GenerateBonNo(totalCurrentYearData + 1, viewModel.Date, viewModel.Area); model = new DyeingPrintingAreaInputModel(viewModel.Date, viewModel.Area, viewModel.Shift, bonNo, viewModel.Group, viewModel.ShippingType, viewModel.ShippingProductionOrders.Select(s => new DyeingPrintingAreaInputProductionOrderModel(viewModel.Area, s.DeliveryOrder.Id, s.DeliveryOrder.No, s.ProductionOrder.Id, s.ProductionOrder.No, s.ProductionOrder.Type, s.ProductionOrder.OrderQuantity, s.Buyer, s.Construction, s.PackingType, s.Color, s.Motif, s.Grade, s.InputQtyPacking, s.Packing, s.InputQuantity, s.UomUnit, false, s.InputQuantity, s.Unit, s.BuyerId, s.Id, s.Material.Id, s.Material.Name, s.MaterialConstruction.Id, s.MaterialConstruction.Name, s.MaterialWidth, s.CartNo, s.Remark, s.ProcessType.Id, s.ProcessType.Name, s.YarnMaterial.Id, s.YarnMaterial.Name, s.ProductSKUId, s.FabricSKUId, s.ProductSKUCode, s.HasPrintingProductSKU, s.ProductPackingId, s.FabricPackingId, s.ProductPackingCode, s.HasPrintingProductPacking, s.PackingLength, s.InputQuantity, s.InputQtyPacking, s.DeliveryOrderRetur.Id, s.DeliveryOrderRetur.No, s.FinishWidth, viewModel.Date)).ToList()); result = await _repository.InsertAsync(model); //result += await _outputRepository.UpdateFromInputAsync(viewModel.OutputId, true); if (viewModel.ShippingType == DyeingPrintingArea.ZONAGUDANG) { result += await _outputSPPRepository.UpdateFromInputAsync(viewModel.ShippingProductionOrders.Select(s => s.Id).ToList(), true, DyeingPrintingArea.TERIMA); } foreach (var item in model.DyeingPrintingAreaInputProductionOrders) { var itemVM = viewModel.ShippingProductionOrders.FirstOrDefault(s => s.Id == item.DyeingPrintingAreaOutputProductionOrderId); if (viewModel.ShippingType == DyeingPrintingArea.ZONAGUDANG) { result += await _productionOrderRepository.UpdateFromNextAreaInputAsync(itemVM.DyeingPrintingAreaInputProductionOrderId, item.InputQuantity, item.InputPackagingQty); } var movementModel = new DyeingPrintingAreaMovementModel(viewModel.Date, viewModel.Area, DyeingPrintingArea.IN, model.Id, model.BonNo, item.ProductionOrderId, item.ProductionOrderNo, item.CartNo, item.Buyer, item.Construction, item.Unit, item.Color, item.Motif, item.UomUnit, item.InputQuantity, item.Id, item.ProductionOrderType, item.Grade, null, item.PackagingType, item.InputPackagingQty, item.PackagingUnit, item.PackagingLength); result += await _movementRepository.InsertAsync(movementModel); } } else { foreach (var item in viewModel.ShippingProductionOrders) { var modelItem = new DyeingPrintingAreaInputProductionOrderModel(viewModel.Area, item.DeliveryOrder.Id, item.DeliveryOrder.No, item.ProductionOrder.Id, item.ProductionOrder.No, item.ProductionOrder.Type, item.ProductionOrder.OrderQuantity, item.Buyer, item.Construction, item.PackingType, item.Color, item.Motif, item.Grade, item.InputQtyPacking, item.Packing, item.InputQuantity, item.UomUnit, false, item.InputQuantity, item.Unit, item.BuyerId, item.Id, item.Material.Id, item.Material.Name, item.MaterialConstruction.Id, item.MaterialConstruction.Name, item.MaterialWidth, item.CartNo, item.Remark, item.ProcessType.Id, item.ProcessType.Name, item.YarnMaterial.Id, item.YarnMaterial.Name, item.ProductSKUId, item.FabricSKUId, item.ProductSKUCode, item.HasPrintingProductSKU, item.ProductPackingId, item.FabricPackingId, item.ProductPackingCode, item.HasPrintingProductPacking, item.PackingLength, item.InputQuantity, item.InputQtyPacking, item.DeliveryOrderRetur.Id, item.DeliveryOrderRetur.No, item.FinishWidth, viewModel.Date); modelItem.DyeingPrintingAreaInputId = model.Id; result += await _productionOrderRepository.InsertAsync(modelItem); if (viewModel.ShippingType == DyeingPrintingArea.ZONAGUDANG) { result += await _productionOrderRepository.UpdateFromNextAreaInputAsync(item.DyeingPrintingAreaInputProductionOrderId, item.InputQuantity, item.InputQtyPacking); } var movementModel = new DyeingPrintingAreaMovementModel(viewModel.Date, viewModel.Area, DyeingPrintingArea.IN, model.Id, model.BonNo, item.ProductionOrder.Id, item.ProductionOrder.No, item.CartNo, item.Buyer, item.Construction, item.Unit, item.Color, item.Motif, item.UomUnit, item.InputQuantity, modelItem.Id, item.ProductionOrder.Type, item.Grade, null, item.PackingType, item.InputQtyPacking, item.Packing, item.PackingLength); result += await _movementRepository.InsertAsync(movementModel); } if (viewModel.ShippingType == DyeingPrintingArea.ZONAGUDANG) { result += await _outputSPPRepository.UpdateFromInputAsync(viewModel.ShippingProductionOrders.Select(s => s.Id).ToList(), true, DyeingPrintingArea.TERIMA); } } return(result); }
private InputInspectionMaterialViewModel MapToViewModel(DyeingPrintingAreaInputModel model) { var vm = new InputInspectionMaterialViewModel() { Active = model.Active, Id = model.Id, Area = model.Area, Group = model.Group, BonNo = model.BonNo, CreatedAgent = model.CreatedAgent, CreatedBy = model.CreatedBy, CreatedUtc = model.CreatedUtc, Date = model.Date, DeletedAgent = model.DeletedAgent, DeletedBy = model.DeletedBy, DeletedUtc = model.DeletedUtc, IsDeleted = model.IsDeleted, LastModifiedAgent = model.LastModifiedAgent, LastModifiedBy = model.LastModifiedBy, LastModifiedUtc = model.LastModifiedUtc, Shift = model.Shift, InspectionMaterialProductionOrders = model.DyeingPrintingAreaInputProductionOrders.Select(s => new InputInspectionMaterialProductionOrderViewModel() { Active = s.Active, LastModifiedUtc = s.LastModifiedUtc, Balance = s.Balance, Buyer = s.Buyer, BuyerId = s.BuyerId, BalanceRemains = s.BalanceRemains, CartNo = s.CartNo, Color = s.Color, Construction = s.Construction, CreatedAgent = s.CreatedAgent, CreatedBy = s.CreatedBy, CreatedUtc = s.CreatedUtc, DeletedAgent = s.DeletedAgent, DeletedBy = s.DeletedBy, DeletedUtc = s.DeletedUtc, Grade = s.Grade, InitLength = s.InitLength, InputQuantity = s.InputQuantity, MaterialWidth = s.MaterialWidth, MaterialOrigin = s.MaterialOrigin, FinishWidth = s.FinishWidth, YarnMaterial = new CommonViewModelObjectProperties.YarnMaterial() { Id = s.YarnMaterialId, Name = s.YarnMaterialName }, ProcessType = new CommonViewModelObjectProperties.ProcessType() { Id = s.ProcessTypeId, Name = s.ProcessTypeName }, Material = new Material() { Id = s.MaterialId, Name = s.MaterialName }, MaterialConstruction = new MaterialConstruction() { Name = s.MaterialConstructionName, Id = s.MaterialConstructionId }, IsChecked = s.IsChecked, PackingInstruction = s.PackingInstruction, HasOutputDocument = s.HasOutputDocument, Id = s.Id, IsDeleted = s.IsDeleted, LastModifiedAgent = s.LastModifiedAgent, LastModifiedBy = s.LastModifiedBy, Motif = s.Motif, ProductionOrder = new ProductionOrder() { Id = s.ProductionOrderId, No = s.ProductionOrderNo, OrderQuantity = s.ProductionOrderOrderQuantity, Type = s.ProductionOrderType }, Unit = s.Unit, UomUnit = s.UomUnit }).ToList() }; return(vm); }