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> 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 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> 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); }