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);
        }