Пример #1
0
        // 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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        // GET: Manager/AccessDefinition
        public ActionResult Index()
        {
            //AccessDefinitionsViewModel adVM = new AccessDefinitionsViewModel();
            var acessDefs = (AccessDefinitionService.GetAccessDefinitions()).Select(a => a as CFAccessDefinition);

            // adVM = UpdateAccessDefinitionViewModel(accessDef, adVM);
            return(View(acessDefs));
        }
        public EntityAccessDefinitionsViewModel UpdateViewModel(CFEntity entity)
        {
            UserService     us           = new UserService();
            UserListService uListService = new UserListService(Db);

            EntityAccessDefinitionsViewModel entityAccessVM = new EntityAccessDefinitionsViewModel();

            entityAccessVM.Id               = entity.Id;
            entityAccessVM.EntityName       = entity.Name;
            entityAccessVM.BlockInheritance = entity.BlockInheritance;

            entityAccessVM.AvailableUsers2 = us.GetUserIdAndLoginName();
            Dictionary <string, string> allUserLists = uListService.GetDictionaryUserLists();

            allUserLists.ToList().ForEach(x => entityAccessVM.AvailableUsers2.Add(x.Key, x.Value));

            AccessDefinitionService accessDefinitionService = new AccessDefinitionService(Db);
            SelectList accessDefs = new SelectList(accessDefinitionService.GetSelectListAccessDefinitions()
                                                   .GroupBy(a => a.Name)
                                                   .Select(a => a.FirstOrDefault())
                                                   .Select(i => new SelectListItem()
            {
                Value = ((int)i.AccessModes).ToString(),
                Text  = i.StringAccessModesList
            }), "Value", "Text");

            entityAccessVM.AvailableAccessDefinitions = accessDefs;

            entityAccessVM.AvailableAccessDefinitions2 = accessDefs.ToList();

            if (entity.AccessGroups.Count > 0)
            {
                //update SelectedAccessGroups
                foreach (CFAccessGroup gr in entity.AccessGroups)
                {
                    AccessGroup accGrp = new Models.ViewModels.AccessGroup();
                    accGrp.userId = gr.AccessGuid.ToString(); //FirstOrDefault().ToString();
                    var    user = us.GetUserById(accGrp.userId);
                    string name = string.Empty;
                    if (user == null)
                    {
                        name = uListService.GetEntityGroup(accGrp.userId).Name;
                    }
                    else
                    {
                        name = user.Login;
                    }
                    accGrp.User           = name;
                    accGrp.AccessMode     = gr.AccessDefinition.StringAccessModesList;
                    accGrp.AccessModesNum = (int)gr.AccessDefinition.AccessModes;

                    entityAccessVM.SelectedAccessGroups.Add(accGrp);
                }
            }


            return(entityAccessVM);
        }
Пример #5
0
        public JsonResult Delete(int id)
        {
            bool success = false;

            try
            {
                AccessDefinitionService.DeleteAccessDefinition(id);
                Db.SaveChanges(User.Identity);
                success = true;
            }catch (Exception ex)
            {
                success = false;
            }

            return(Json(success, JsonRequestBehavior.AllowGet));
        }
Пример #6
0
        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();
        }