public Task <int> InsertAsync(DyeingPrintingAreaSummaryModel model)
        {
            model.FlagForCreate(_identityProvider.Username, UserAgent);
            _dbSet.Add(model);

            return(_dbContext.SaveChangesAsync());
        }
        public Task <int> UpdateToAvalAsync(DyeingPrintingAreaSummaryModel model, DateTimeOffset date, string area, string type)
        {
            var modelToUpdate = _dbSet.FirstOrDefault(s => s.Id == model.Id);

            modelToUpdate.SetDate(date, _identityProvider.Username, UserAgent);
            modelToUpdate.SetArea(area, _identityProvider.Username, UserAgent);
            modelToUpdate.SetType(type, _identityProvider.Username, UserAgent);

            return(_dbContext.SaveChangesAsync());
        }
        //public Task<int> UpdateAreaIM(DyeingPrintingAreaSummaryModel model)
        //{
        //    var modelToUpdate = _dbSet.FirstOrDefault(s => s.DyeingPrintingAreaDocumentId == model.DyeingPrintingAreaDocumentId && s.DyeingPrintingAreaProductionOrderDocumentId == model.DyeingPrintingAreaProductionOrderDocumentId && s.Type == model.Type);

        //    if (modelToUpdate == null)
        //    {
        //        model.FlagForCreate(_identityProvider.Username, UserAgent);
        //        _dbSet.Add(model);
        //    }
        //    else
        //    {
        //        modelToUpdate.SetBalance(model.Balance, _identityProvider.Username, UserAgent);
        //        modelToUpdate.SetCartNo(model.CartNo, _identityProvider.Username, UserAgent);
        //        modelToUpdate.SetDate(model.Date, _identityProvider.Username, UserAgent);
        //    }


        //    return _dbContext.SaveChangesAsync();
        //}

        public Task <int> UpdateAsync(int id, DyeingPrintingAreaSummaryModel model)
        {
            var modelToUpdate = _dbSet.FirstOrDefault(s => s.Id == id);

            modelToUpdate.SetBalance(model.Balance, _identityProvider.Username, UserAgent);
            modelToUpdate.SetBuyer(model.Buyer, _identityProvider.Username, UserAgent);
            modelToUpdate.SetCartNo(model.CartNo, _identityProvider.Username, UserAgent);
            modelToUpdate.SetColor(model.Color, _identityProvider.Username, UserAgent);
            modelToUpdate.SetConstruction(model.Construction, _identityProvider.Username, UserAgent);
            modelToUpdate.SetMotif(model.Motif, _identityProvider.Username, UserAgent);
            modelToUpdate.SetProductionOrder(model.ProductionOrderId, model.ProductionOrderNo, _identityProvider.Username, UserAgent);
            modelToUpdate.SetUnit(model.Unit, _identityProvider.Username, UserAgent);
            modelToUpdate.SetUomUnit(model.UomUnit, _identityProvider.Username, UserAgent);
            modelToUpdate.SetArea(model.Area, _identityProvider.Username, UserAgent);
            modelToUpdate.SetDate(model.Date, _identityProvider.Username, UserAgent);
            modelToUpdate.SetDyeingPrintingAreaDocument(model.DyeingPrintingAreaDocumentId, model.DyeingPrintingAreaDocumentBonNo, _identityProvider.Username, UserAgent);
            modelToUpdate.SetType(model.Type, _identityProvider.Username, UserAgent);
            modelToUpdate.SetDyeingPrintingAreaProductionOrderDocumentId(model.DyeingPrintingAreaProductionOrderDocumentId, _identityProvider.Username, UserAgent);

            return(_dbContext.SaveChangesAsync());
        }