// Dressing public async Task <DressingViewModel> DressingGet(int?machineId, DateTime?processDate) { DressingViewModel viewModel = new DressingViewModel(); if (machineId == null || processDate == null) { // returning blank model viewModel.Model = new DressingModel() { ProcessDate = DateTime.Now.Date, Blocks = new List <BlockDressingModel>() }; viewModel.MachineOperators = new List <MachineOperatorModel>(); viewModel.MachineStoppages = new List <MachineStoppageModel>(); for (int counter = 0; counter < 2; counter++) { // 6 blank blocks viewModel.Model.Blocks.Add(new BlockDressingModel()); } } viewModel.Machines = await this.plantRepository.MachineListItemGet(); viewModel.Operators = await this.plantRepository.OperatorListItemGet(); return(viewModel); }
public async Task DressingSave(DressingViewModel viewModel, SharedDomain sharedDomain) { List <NTError> errors = new List <NTError>(); // validating BlockNumbers string[] blockNumbers = viewModel.Model.Blocks.Select(m => m.BlockNumber).ToArray(); List <BlockStateModel> blockStates = await sharedDomain.BlockStatesGet(blockNumbers); string[] invalidBlockNumbers = blockNumbers.Except(blockStates.Where(b => b.State == (int)State.Excavate).Select(b => b.BlockNumber)).ToArray(); if (invalidBlockNumbers.Length > 0) { errors.Add(new NTError() { Description = string.Format(PlantMessages.BlockNumbersInvalid, string.Join(", ", invalidBlockNumbers)) }); } // validating time for Stoppages if (!viewModel.MachineStoppages.ValidateTimeRange()) { errors.Add(new NTError() { Description = PlantMessages.StoppageTimeRangeInvalid }); } // checking for one operator if (viewModel.MachineOperators.Count == 0) { errors.Add(new NTError() { Description = PlantMessages.OperatorRequired }); } else if (!viewModel.MachineOperators.ValidateTimeRange()) { errors.Add(new NTError() { Description = PlantMessages.OperatorTimeRangeInvalid }); } if (errors.Count > 0) { throw new NTException(PlantMessages.DressingError, errors); } // saving the Block Dressing await this.plantRepository.DressingSave(viewModel); // finally saving the state info foreach (var state in blockStates) { state.State = (int)State.Dress; } await sharedDomain.BlockStatesSave(blockStates); }
public async Task DressingSave(DressingViewModel viewModel) { await this.DbContext.Database.BeginTransactionAsync(); //Saving Dressing Model DressingEntity dressingEntity = await SaveEntity <DressingEntity, DressingModel>(viewModel.Model, false); BlockDressingEntity blockDressingEntity; foreach (var block in viewModel.Model.Blocks) { blockDressingEntity = await SaveEntity <BlockDressingEntity, BlockDressingModel>(block, false); blockDressingEntity.Dressing = dressingEntity; } //saving Stoppages & Operators await StoppagesSave(viewModel.MachineStoppages, viewModel.Model.MachineId); await OperatorsSave(viewModel.MachineOperators, viewModel.Model.MachineId); }
// Dressing public async Task<DressingViewModel> DressingGet(int? machineId, DateTime? processDate) { DressingViewModel viewModel = new DressingViewModel(); if (machineId == null || processDate == null) { // returning blank model viewModel.Model = new DressingModel() { ProcessDate = DateTime.Now.Date, Blocks = new List<BlockDressingModel>() }; viewModel.MachineOperators = new List<MachineOperatorModel>(); viewModel.MachineStoppages = new List<MachineStoppageModel>(); for (int counter = 0; counter < 2; counter++) { // 6 blank blocks viewModel.Model.Blocks.Add(new BlockDressingModel()); } } viewModel.Machines = await this.plantRepository.MachineListItemGet(); viewModel.Operators = await this.plantRepository.OperatorListItemGet(); return viewModel; }
public async Task DressingSave(DressingViewModel viewModel, SharedDomain sharedDomain) { List<NTError> errors = new List<NTError>(); // validating BlockNumbers string[] blockNumbers = viewModel.Model.Blocks.Select(m => m.BlockNumber).ToArray(); List<BlockStateModel> blockStates = await sharedDomain.BlockStatesGet(blockNumbers); string[] invalidBlockNumbers = blockNumbers.Except(blockStates.Where(b => b.State == (int)State.Excavate).Select(b => b.BlockNumber)).ToArray(); if (invalidBlockNumbers.Length > 0) { errors.Add(new NTError() { Description = string.Format(PlantMessages.BlockNumbersInvalid, string.Join(", ", invalidBlockNumbers)) }); } // validating time for Stoppages if (!viewModel.MachineStoppages.ValidateTimeRange()) { errors.Add(new NTError() { Description = PlantMessages.StoppageTimeRangeInvalid }); } // checking for one operator if (viewModel.MachineOperators.Count == 0) { errors.Add(new NTError() { Description = PlantMessages.OperatorRequired }); } else if (!viewModel.MachineOperators.ValidateTimeRange()) { errors.Add(new NTError() { Description = PlantMessages.OperatorTimeRangeInvalid }); } if (errors.Count > 0) { throw new NTException(PlantMessages.DressingError, errors); } // saving the Block Dressing await this.plantRepository.DressingSave(viewModel); // finally saving the state info foreach (var state in blockStates) { state.State = (int)State.Dress; } await sharedDomain.BlockStatesSave(blockStates); }
public async Task <AjaxModel <NTModel> > DressingSave([FromBody] DressingViewModel viewModel) { return(await AjaxHelper.SaveAsync(m => domain.DressingSave(viewModel, HttpContext.RequestServices.GetRequiredService <SharedDomain>()), PlantMessages.DressingSaveSuccess)); }