public ActionResult _EditSubject(PD_Subject_ViewModel model) { var _p = _db.PD_Processes.Find(model.PD_Process_Id); if (User.Identity.Name.Equals(_p.LockedBy)) { var subject = _db.PD_Subjects.Find(model.PD_Process_Id, model.Id); subject.Name = model.Name; subject.MultiSubject = model.MultiSubject; subject.ExternalSubject = model.ExternalSubject; subject.CanBeStarted = model.CanBeStarted; _db.SaveChanges(); return RedirectToAction("ViewProcess", new { processid = model.PD_Process_Id, edit = 1 }); } else { return null; } }
public ActionResult _EditSubject(int processid, int subjectid, int edit) { var subject = _db.PD_Subjects.Find(processid, subjectid); PD_Subject_ViewModel model = new PD_Subject_ViewModel() { PD_Process_Id = subject.PD_Process_Id, Id = subject.Id, Name = subject.Name, MultiSubject = subject.MultiSubject, ExternalSubject = subject.ExternalSubject, CanBeStarted = subject.CanBeStarted }; if (subject.ExternalSubject) { List<ES_ViewModel> sList = new List<ES_ViewModel>(); // List<P_ProcessSubject> PSList = _idb.P_ProcessSubjects.Where(x => x.Process_Id != processid && x.ExternalSubject == 0).ToList<P_ProcessSubject>(); List<PD_Subject> PSList = _db.PD_Subjects.Where(x => x.PD_Process_Id != processid && x.ExternalSubject == false).ToList<PD_Subject>(); try { PSList.ForEach(x => sList.Add(new ES_ViewModel(x.PD_Process_Id + "|" + x.Id, x.PD_Process.Name + " - " + x.Name))); model.ExternalSources = sList; int pid = Int32.Parse(subject.ExternalSubjectId.Split('|')[0]); int sid = Int32.Parse(subject.ExternalSubjectId.Split('|')[1]); PD_Subject es = _db.PD_Subjects.Where(x => x.Id == sid && x.PD_Process_Id == pid).FirstOrDefault(); model.ExternalSubjectSource = new ES_ViewModel(subject.ExternalSubjectId, es.PD_Process.Name + " - " + es.Name); } catch (Exception e) { } } ViewBag.Edit = edit; return PartialView(model); }