// GET: Manager/AccessDefinition/Edit/5 public ActionResult Edit(int?id) { AccessDefinitionsViewModel adVM = new AccessDefinitionsViewModel(); CFAccessDefinition access = new CFAccessDefinition(); if (id != null) { CFAccessDefinition accessDef = AccessDefinitionService.GetAccessDefinitionById(id.Value); adVM = UpdateAccessDefinitionViewModel(accessDef, adVM); } else { //get all available AccessMode enum int i = 0; foreach (AccessMode am in Enum.GetValues(typeof(AccessMode))) { if (i > 0) //skip the first one -- None { adVM.AccessModes.Add(new AccessCheckBox { Text = am.ToString(), Value = ((int)am) }); } i++; } } return(View(adVM)); }
public CFAccessDefinition UpdateAccessDefinition(AccessDefinitionsViewModel accessDefVM, string[] selectedModes) { CFAccessDefinition accessDef = new CFAccessDefinition(); if (accessDefVM.Id != null) { accessDef = AccessDefinitionService.GetAccessDefinitionById(accessDefVM.Id.Value); foreach (string am in selectedModes.ToList()) { AccessMode selectedMode = (AccessMode)Enum.Parse(typeof(AccessMode), am); accessDef.AccessModes |= selectedMode; } } else { foreach (string am in selectedModes.ToList()) { AccessMode selectedMode = (AccessMode)Enum.Parse(typeof(AccessMode), am); accessDef.AccessModes |= selectedMode; } } accessDef.Name = accessDefVM.Name; return(accessDef); }
public ActionResult Edit(AccessDefinitionsViewModel accessDefVM) { try { if (ModelState.IsValid) { CFAccessDefinition accessDefinition = new CFAccessDefinition(); string[] selectedModes = Request.Form["SelectedAccessModes"].Split(','); accessDefinition = UpdateAccessDefinition(accessDefVM, selectedModes); accessDefinition = AccessDefinitionService.EditAccessDefinition(accessDefinition); accessDefinition.Serialize(); Db.SaveChanges(); } return(RedirectToAction("Index")); } catch (Exception ex) { throw ex; } //return View(); }
public AccessDefinitionsViewModel UpdateAccessDefinitionViewModel(CFAccessDefinition accessDef, AccessDefinitionsViewModel adVM) { adVM.Name = accessDef.Name; // List<AccessMode> selectedModes = accessDef.AccessModesList; adVM.AccessModes = PopulateAccessModesView(accessDef); return(adVM); }