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