public IsolatorMappedProcedureViewModel CreateIsolatorProcedureViewModel(int isoId) { var procs = repository.GetContext().IsolatorProcedures.Where(p => !p.IsArchived); var iso = repository.GetContext().Isolators .Include(p => p.Procedures) .ThenInclude(p => p.Procedure) .FirstOrDefault(p => p.IsolatorId == isoId); var model = new IsolatorMappedProcedureViewModel(); if (iso == null) { return(null); } model.IsolatorId = iso.IsolatorId; model.IsolatorName = iso.Abbriviation; model.StartProcedures = iso.Procedures.Where(p => p.Procedure.ProcedureTypeId == (int)IsolatorProcedureTypeEnum.Start) .Select(p => p.ProcedureId).ToArray(); model.StopProcedures = iso.Procedures.Where(p => p.Procedure.ProcedureTypeId == (int)IsolatorProcedureTypeEnum.Stop) .Select(p => p.ProcedureId).ToArray(); model.StartProcedureList = new MultiSelectList(procs.Where(p => p.ProcedureTypeId == (int)IsolatorProcedureTypeEnum.Start), "IsolatorProcedureId", "Description", model.StartProcedures); model.StopProcedureList = new MultiSelectList(procs.Where(p => p.ProcedureTypeId == (int)IsolatorProcedureTypeEnum.Stop), "IsolatorProcedureId", "Description", model.StopProcedures); return(model); }
public int SaveIsolatorProcedures(IsolatorMappedProcedureViewModel model, string user) { var iso = GetIsolatorById(model.IsolatorId); var startProcs = model.StartProcedures.Select(procId => new IsolatorMappedProcedure() { IsolatorId = iso.IsolatorId, ProcedureId = procId }).ToList(); var stopProcs = model.StopProcedures.Select(procId => new IsolatorMappedProcedure() { IsolatorId = iso.IsolatorId, ProcedureId = procId }); startProcs.AddRange(stopProcs); iso.Procedures = startProcs; iso.SetUpdateDetails(user); repository.SaveExisting(iso); return(iso.IsolatorId); }
public ActionResult SaveIsolatorProcedures(IsolatorMappedProcedureViewModel model) { var response = isolatorService.SaveIsolatorProcedures(model, CurrentUserName); return(Json(response > 0)); }