public ActionResult Create(Template _Template) { using (var ctx = new DynamicParameterContext()) { if (_Template.TemplateID != 0) { Template temp = ctx.Templates.Where(m => m.TemplateID == _Template.TemplateID).FirstOrDefault(); temp.Name = _Template.Name; } else { ctx.Templates.Add(_Template); } ctx.SaveChanges(); } return(RedirectToAction("Index")); }
public ActionResult Create(TemplateParameters _TemplateParameters) { using (var ctx = new DynamicParameterContext()) { //Check If New Model Or Existing Model if (_TemplateParameters.TemplateParameterID != 0) { TemplateParameters temp = ctx.TemplateParameters.Where(m => m.TemplateParameterID == _TemplateParameters.TemplateParameterID).FirstOrDefault(); temp.Name = _TemplateParameters.Name; temp.Value = _TemplateParameters.Value; temp.Type = _TemplateParameters.Type; temp.AllowMultiple = _TemplateParameters.AllowMultiple; } else { ctx.TemplateParameters.Add(_TemplateParameters); } //Add Parameter Values if (_TemplateParameters.ParameterValues.Count > 0) { //Remove All Template Parameter Values From DB Based On Template Parameter ID var tpv = ctx.TemplateParameterValues.Where(x => x.TemplateParameterID == _TemplateParameters.TemplateParameterID); if (tpv.Any()) { ctx.TemplateParameterValues.RemoveRange(tpv); } //Remove Deleted Values On ClientSide _TemplateParameters.ParameterValues.RemoveAll(x => x.Deleted == true); //Add New Template Parameter Values To DB foreach (TemplateParameterValues t in _TemplateParameters.ParameterValues) { ctx.TemplateParameterValues.Add(t); } } //Add Parameter Defaults if (_TemplateParameters.ParameterDefaults.Count > 0) { //Remove All Template Parameter Values From DB Based On Template Parameter ID var tpd = ctx.TemplateParameterDefaults.Where(x => x.TemplateParameterID == _TemplateParameters.TemplateParameterID); if (tpd.Any()) { ctx.TemplateParameterDefaults.RemoveRange(tpd); } //Remove Deleted Values On ClientSide _TemplateParameters.ParameterDefaults.RemoveAll(x => x.Deleted == true); //Add New Template Parameter Values To DB foreach (TemplateParameterDefaults t in _TemplateParameters.ParameterDefaults) { if (_TemplateParameters.ParameterValues.Any(x => x.Value == t.Value)) { ctx.TemplateParameterDefaults.Add(t); } else { ModelState.AddModelError("", "Some of the default values are not found in available values. please check once."); break; } } } //Save Changes To DB if (ModelState.IsValid) { ctx.SaveChanges(); } else { return(View(_TemplateParameters)); } } return(RedirectToAction("Index", new { ID = _TemplateParameters.TemplateParameterID })); }