Esempio n. 1
0
        public Task <UserGroupPoco> UpdateUserGroupAsync(UserGroupPoco poco)
        {
            var nameExists   = repo.UserGroupsByName(poco.Name).Any();
            var existingPoco = repo.UserGroupsById(poco.GroupId).First();

            if (poco.Name != existingPoco.Name && nameExists)
            {
                return(Task.FromResult((UserGroupPoco)null));
            }

            repo.DeleteUsersFromGroup(existingPoco.GroupId);

            foreach (var user in poco.Users)
            {
                repo.AddUserToGroup(user);
            }

            repo.UpdateUserGroup(poco);

            return(Task.FromResult(poco));
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="poco"></param>
        /// <returns></returns>
        public Task <UserGroupPoco> UpdateUserGroupAsync(UserGroupPoco poco)
        {
            bool          nameExists   = _repo.GroupNameExists(poco.Name);
            UserGroupPoco existingPoco = _repo.GetUserGroupById(poco.GroupId);

            if (poco.Name != existingPoco.Name && nameExists)
            {
                return(Task.FromResult((UserGroupPoco)null));
            }

            _repo.DeleteUsersFromGroup(existingPoco.GroupId);

            foreach (var user in poco.Users)
            {
                _repo.AddUserToGroup(user);
            }

            _repo.UpdateUserGroup(poco);

            Updated?.Invoke(this, new GroupEventArgs(poco));

            return(Task.FromResult(poco));
        }