public ActionResult Edit(Data.Models.Definition.ApplicationOption model, string[] columns) { Data.Models.Definition.ApplicationOption modelUpdate = GetModel(model.ApplicationId, model.OptionId); try { if (ModelState.IsValid) { model.ApplicationOptionColumns = modelUpdate.ApplicationOptionColumns; SetColumns(model, columns); DataBase.ApplicationOptionColumns.Update(model.ApplicationOptionColumns, modelUpdate.ApplicationOptionColumns); DataBase.ApplicationOptions.Update(modelUpdate); DataBase.Save(); return(RedirectToAction("Index")); } } catch { this.AddDefaultErrorMessage(); } model.ApplicationOptionColumns = modelUpdate.ApplicationOptionColumns; SetColumns(model, columns); return(View(model)); }
public void SetColumns(Data.Models.Definition.ApplicationOption model, string[] columns) { foreach (var col in model.ApplicationOptionColumns) { col.Visible = false; } if (columns != null) { foreach (var insert in columns.Where(p => p != "false")) { string[] keyParts = insert.Split('-'); string columnName = Convert.ToString(keyParts[2]); var det = model.ApplicationOptionColumns.Where(p => p.ColumnName == columnName).FirstOrDefault(); if (det != null) { det.Visible = true; } } } }
private Data.Models.Definition.ApplicationOption GetModel(string applicationId, string optionId) { Data.Models.Definition.ApplicationOption result = DataBase.ApplicationOptions.Get(p => p.ApplicationId == applicationId && p.OptionId == optionId, includeProperties: "ApplicationOptionColumns").SingleOrDefault(); return(result); }