Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        public ActionResult SaveIsolatorProcedures(IsolatorMappedProcedureViewModel model)
        {
            var response = isolatorService.SaveIsolatorProcedures(model, CurrentUserName);

            return(Json(response > 0));
        }