public IList<string> CreateGroup(Group group)
        {
            var errors = new List<string>();
            if (GroupNameExist(group.Name))
            {
                errors.Add("Group Name <b>" + group.Name + "</b> is not available. Please select another name");
            }

            if (errors.Count > 0)
            {
                return errors;
            }
            GroupRepository.Add(group);
            SaveGroup();
            return errors;
        }
 public void UpdateGroup(Group group)
 {
     GroupRepository.Update(group);
     SaveGroup();
 }
        public async Task<ActionResult> Create(CreateViewModel createViewModel)
        {
            if (!ModelState.IsValid)
            {
                return View(createViewModel);
            }

            var applicationRoleList = new List<ApplicationRole>();
            var checkBoxRoleViewModelArray = createViewModel.CheckBoxRoleViewModelList.ToArray();
            for (var i = 0; i < checkBoxRoleViewModelArray.Count(); i++)
            {
                var checkBoxRole = createViewModel.CheckBoxRoleViewModelList[i];
                var selectedRoleId = checkBoxRole.Selected ? checkBoxRole.Id : 0;
                var selectedRole = await RoleManager.FindByIdAsync(selectedRoleId);
                applicationRoleList.Add(selectedRole);
            }
            var group = new Group()
            {
                Name = createViewModel.Name,
                Description = createViewModel.Description,
                ApplicationRoles = applicationRoleList,
            };
            GroupService.CreateGroup(group);
            TempData["GroupId"] = group.GroupId;
            TempData["GroupName"] = group.Name;
            TempData["Message"] = GroupsMessage.CreateSuccess;

            return RedirectToAction("index", "groups");
        }