public async Task <int> Create(FabricQualityControlViewModel viewModel) { int result = 0; do { viewModel.Code = CodeGenerator.GenerateCode(); } while (_repository.GetDbSet().Any(entity => entity.Code == viewModel.Code)); var model = new FabricQualityControlModel(viewModel.Code, viewModel.DateIm.GetValueOrDefault(), viewModel.Group, viewModel.IsUsed.GetValueOrDefault(), viewModel.InspectionMaterialId, viewModel.InspectionMaterialBonNo, viewModel.InspectionMaterialProductionOrderId, viewModel.ProductionOrderNo, viewModel.MachineNoIm, viewModel.OperatorIm, viewModel.PointLimit.GetValueOrDefault(), viewModel.PointSystem.GetValueOrDefault(), viewModel.FabricGradeTests.Select((s, i) => new FabricGradeTestModel(s.AvalALength.GetValueOrDefault(), s.AvalBLength.GetValueOrDefault(), s.AvalConnectionLength.GetValueOrDefault(), s.FabricGradeTest.GetValueOrDefault(), s.FinalArea.GetValueOrDefault(), s.FinalGradeTest.GetValueOrDefault(), s.FinalLength.GetValueOrDefault(), s.FinalScore.GetValueOrDefault(), s.Grade, s.InitLength.GetValueOrDefault(), s.PcsNo, s.PointLimit.GetValueOrDefault(), s.PointSystem.GetValueOrDefault(), s.SampleLength.GetValueOrDefault(), s.Score.GetValueOrDefault(), s.Type, s.Width.GetValueOrDefault(), i, s.Criteria.Select((d, cInd) => new CriteriaModel(d.Code, d.Group, cInd, d.Name, d.Score.A.GetValueOrDefault(), d.Score.B.GetValueOrDefault(), d.Score.C.GetValueOrDefault(), d.Score.D.GetValueOrDefault())).ToList())).ToList()); result = await _repository.InsertAsync(model); var newBalance = model.FabricGradeTests.Sum(s => s.InitLength); var avalABalance = model.FabricGradeTests.Sum(s => s.AvalALength); var avalBBalance = model.FabricGradeTests.Sum(s => s.AvalBLength); var avalConnectionBalance = model.FabricGradeTests.Sum(s => s.AvalConnectionLength); result += await _dpSPPRepository .UpdateFromFabricQualityControlAsync(model.DyeingPrintingAreaInputProductionOrderId, model.FabricGradeTests.FirstOrDefault().Grade, true, newBalance, avalABalance, avalBBalance, avalConnectionBalance); return(result); }
public async Task <int> CreateAsync(FabricQualityControlModel model) { do { model.Code = CodeGenerator.Generate(); }while (DbSet.Any(d => d.Code.Equals(model.Code))); FabricQualityControlLogic.CreateModel(model); return(await DbContext.SaveChangesAsync()); }
public Task <int> InsertAsync(FabricQualityControlModel model) { model.FlagForCreate(_identityProvider.Username, UserAgent); foreach (var fabricGradeTest in model.FabricGradeTests) { fabricGradeTest.FlagForCreate(_identityProvider.Username, UserAgent); } _fabricQCDbSet.Add(model); return(_dbContext.SaveChangesAsync()); }
public Task <int> UpdateAsync(int id, FabricQualityControlModel model) { var modelToUpdate = _fabricQCDbSet.Include(s => s.FabricGradeTests).ThenInclude(s => s.Criteria).FirstOrDefault(entity => entity.Id == id); modelToUpdate.SetDateIm(model.DateIm, _identityProvider.Username, UserAgent); modelToUpdate.SetDyeingPrintingAreaInput(model.DyeingPrintingAreaInputId, model.DyeingPrintingAreaInputBonNo, model.DyeingPrintingAreaInputProductionOrderId, model.ProductionOrderNo, _identityProvider.Username, UserAgent); modelToUpdate.SetGroup(model.Group, _identityProvider.Username, UserAgent); modelToUpdate.SetIsUsed(model.IsUsed, _identityProvider.Username, UserAgent); modelToUpdate.SetMachineNoIm(model.MachineNoIm, _identityProvider.Username, UserAgent); modelToUpdate.SetOperatorIm(model.OperatorIm, _identityProvider.Username, UserAgent); modelToUpdate.SetPointLimit(model.PointLimit, _identityProvider.Username, UserAgent); modelToUpdate.SetPointSystem(model.PointSystem, _identityProvider.Username, UserAgent); foreach (var item in modelToUpdate.FabricGradeTests) { var localModel = model.FabricGradeTests.FirstOrDefault(s => s.Id == item.Id); if (localModel == null) { item.FlagForDelete(_identityProvider.Username, UserAgent); } else { item.SetAvalALength(localModel.AvalALength, _identityProvider.Username, UserAgent); item.SetAvalBLength(localModel.AvalBLength, _identityProvider.Username, UserAgent); item.SetAvalConnectionLength(localModel.AvalConnectionLength, _identityProvider.Username, UserAgent); item.SetFabricGradeTest(localModel.FabricGradeTest, _identityProvider.Username, UserAgent); item.SetFinalArea(localModel.FinalArea, _identityProvider.Username, UserAgent); item.SetFinalGradeTest(localModel.FinalGradeTest, _identityProvider.Username, UserAgent); item.SetFinalLength(localModel.FinalLength, _identityProvider.Username, UserAgent); item.SetFinalScore(localModel.FinalScore, _identityProvider.Username, UserAgent); item.SetGrade(localModel.Grade, _identityProvider.Username, UserAgent); item.SetInitLength(localModel.InitLength, _identityProvider.Username, UserAgent); item.SetItemIndex(localModel.ItemIndex, _identityProvider.Username, UserAgent); item.SetPcsNo(localModel.PcsNo, _identityProvider.Username, UserAgent); item.SetPointLimit(localModel.PointLimit, _identityProvider.Username, UserAgent); item.SetPointSystem(localModel.PointSystem, _identityProvider.Username, UserAgent); item.SetSampleLength(localModel.SampleLength, _identityProvider.Username, UserAgent); item.SetScore(localModel.Score, _identityProvider.Username, UserAgent); item.SetType(localModel.Type, _identityProvider.Username, UserAgent); item.SetWidth(localModel.Width, _identityProvider.Username, UserAgent); foreach (var criteria in item.Criteria) { var localCriteria = localModel.Criteria.FirstOrDefault(s => s.Id == criteria.Id); if (localCriteria != null) { criteria.SetCode(localCriteria.Code); criteria.SetGroup(localCriteria.Group); criteria.SetIndex(localCriteria.Index); criteria.SetName(localCriteria.Name); criteria.SetScoreA(localCriteria.ScoreA); criteria.SetScoreB(localCriteria.ScoreB); criteria.SetScoreC(localCriteria.ScoreC); criteria.SetScoreD(localCriteria.ScoreD); } else { _criteriaDbSet.Remove(criteria); } } foreach (var newCriteria in localModel.Criteria.Where(s => s.Id == 0)) { item.Criteria.Add(newCriteria); } } } foreach (var item in model.FabricGradeTests.Where(s => s.Id == 0)) { item.FlagForCreate(_identityProvider.Username, UserAgent); modelToUpdate.FabricGradeTests.Add(item); } return(_dbContext.SaveChangesAsync()); }
private FabricQualityControlViewModel MapToViewModel(FabricQualityControlModel model, DyeingPrintingAreaInputProductionOrderModel dpModel) { FabricQualityControlViewModel vm = new FabricQualityControlViewModel() { InspectionMaterialId = model.DyeingPrintingAreaInputId, Active = model.Active, Buyer = dpModel?.Buyer, CartNo = dpModel?.CartNo, Code = model.Code, Color = dpModel?.Color, Construction = dpModel?.Construction, CreatedAgent = model.CreatedAgent, CreatedBy = model.CreatedBy, CreatedUtc = model.CreatedUtc, DateIm = model.DateIm, DeletedAgent = model.DeletedAgent, DeletedBy = model.DeletedBy, DeletedUtc = model.DeletedUtc, InspectionMaterialBonNo = model.DyeingPrintingAreaInputBonNo, InspectionMaterialProductionOrderId = model.DyeingPrintingAreaInputProductionOrderId, Group = model.Group, Id = model.Id, IsDeleted = model.IsDeleted, IsUsed = model.IsUsed, LastModifiedAgent = model.LastModifiedAgent, LastModifiedBy = model.LastModifiedBy, LastModifiedUtc = model.LastModifiedUtc, MachineNoIm = model.MachineNoIm, OperatorIm = model.OperatorIm, OrderQuantity = dpModel?.Balance, PackingInstruction = dpModel?.PackingInstruction, PointLimit = model.PointLimit, PointSystem = model.PointSystem, ProductionOrderNo = model.ProductionOrderNo, ProductionOrderType = dpModel?.ProductionOrderType, ShiftIm = dpModel?.DyeingPrintingAreaInput.Shift, UId = model.UId, Uom = dpModel?.UomUnit, ProductionOrderId = dpModel?.ProductionOrderId, FabricGradeTests = model.FabricGradeTests.Select(s => new FabricGradeTestViewModel() { Active = s.Active, AvalALength = s.AvalALength, AvalBLength = s.AvalBLength, AvalConnectionLength = s.AvalConnectionLength, CreatedAgent = s.CreatedAgent, CreatedBy = s.CreatedBy, CreatedUtc = s.CreatedUtc, DeletedAgent = s.DeletedAgent, DeletedBy = s.DeletedBy, DeletedUtc = s.DeletedUtc, FabricGradeTest = s.FabricGradeTest, FinalArea = s.FinalArea, FinalGradeTest = s.FinalGradeTest, FinalLength = s.FinalLength, FinalScore = s.FinalScore, Grade = s.Grade, Id = s.Id, InitLength = s.InitLength, IsDeleted = s.IsDeleted, LastModifiedAgent = s.LastModifiedAgent, LastModifiedBy = s.LastModifiedBy, LastModifiedUtc = s.LastModifiedUtc, PcsNo = s.PcsNo, PointLimit = s.PointLimit, PointSystem = s.PointSystem, SampleLength = s.SampleLength, Score = s.Score, Type = s.Type, Width = s.Width, Criteria = s.Criteria.Select(c => new CriteriaViewModel() { Code = c.Code, Group = c.Group, Id = c.Id, Index = c.Index, Name = c.Name, Score = new Score() { A = c.ScoreA, B = c.ScoreB, C = c.ScoreC, D = c.ScoreD } }).ToList() }).ToList() }; return(vm); }
public async Task <int> UpdateAsync(int id, FabricQualityControlModel model) { await FabricQualityControlLogic.UpdateModelAsync(id, model); return(await DbContext.SaveChangesAsync()); }