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