private List<PD_Parameter_ViewModel> listofStringParametersToViewModel(int processid ,ICollection<string> parameters) { List<PD_Parameter_ViewModel> list = new List<PD_Parameter_ViewModel>(); foreach (string parameter in parameters) { var pc = _db.PD_Parameters.Find(processid, parameter); var cfg = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(pc.Config); PD_Parameter_ViewModel pvm = new PD_Parameter_ViewModel() { Name = pc.Name, Type = cfg.Type, DefaultValue = cfg.Value.ToString() }; list.Add(pvm); } return list; }
public ActionResult _EditParameter(int processid, int subjectid, string parameter, int edit) { PD_Parameter_ViewModel pvm; PD_Parameter pc = new PD_Parameter() { PD_Process_Id = processid }; if (parameter != null) { pc = _db.PD_Parameters.Find(processid, parameter); var cfg = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(pc.Config); //_DeleteParameter(processid, subjectid, parameter); //_EditMessageParameter(int processid, int messagetypeId, string parameter, int edit, string messageName) //_db.PD_Parameters.Add(pc); pvm = new PD_Parameter_ViewModel() { Name = pc.Name, Type = cfg.Type, DefaultValue = cfg.Value.ToString(), Process_Id = processid, Subject_Id = subjectid }; } else { pvm = new PD_Parameter_ViewModel() { Process_Id = processid, Subject_Id = subjectid, Type = "string" , DefaultValue = "0" }; } ViewBag.Edit = edit; return PartialView(pvm); }
public ActionResult _EditParameter(PD_Parameter_ViewModel model) { var _p = _db.PD_Processes.Find(model.Process_Id); if (User.Identity.Name.Equals(_p.LockedBy)) { PD_Parameter p = _db.PD_Parameters.Find(model.Process_Id, model.Name); if (p == null) { string val = model.DefaultValue; if (model.Type.Equals("string")) { val = "\"" + val + "\""; } string cfg = "{\"Type\":\"" + model.Type +"\",\"Value\":" + val + "}"; p = new PD_Parameter() { PD_Process_Id = model.Process_Id, Name = model.Name, Config = cfg }; _db.PD_Parameters.Add(p); } else { try { model.DefaultValue = checkDefaultValue(model.Type, model.DefaultValue); } catch (Exception e) { return RedirectToAction("ViewSubject", new { processid = model.Process_Id, subjectid = model.Subject_Id, edit = 1 }); } string val = model.DefaultValue; if (model.Type.Equals("string")) { val = "\"" + val + "\""; } p.Config = "{\"Type\":\"" + model.Type + "\",\"Value\":" + val + "}"; } var item = _db.PD_Subjects.Find(model.Process_Id, model.Subject_Id); if (!item.GlobalParameters.Contains(model.Name)) { item.GlobalParameters.Add(model.Name); } _db.SaveChanges(); return RedirectToAction("ViewSubject", new { processid = model.Process_Id, subjectid = model.Subject_Id, edit = 1 }); } else { return null; } }