Beispiel #1
0
        public async Task <IHttpActionResult> ManageUsersInRole(UsersInRoleModelDTO model)
        {
            RespuestaDTO <UsersInRoleModelDTO> response = await new RoleBLL(Request).ManageUsersInRole(model);

            if (response.Error.Count > 0)
            {
                GetErrorResult(response);
            }
            return(Ok(response));
        }
Beispiel #2
0
        public async Task <RespuestaDTO <UsersInRoleModelDTO> > ManageUsersInRole(UsersInRoleModelDTO model)
        {
            var role = await this.RoleManager.FindByIdAsync(model.Id);

            RespuestaDTO <UsersInRoleModelDTO> response = new RespuestaDTO <UsersInRoleModelDTO>();

            response.Data = model;

            if (role == null)
            {
                response.Mensaje = "El Role Con Id" + model.Id + " No Existe ";
                response.Error.Add(new ErrorDTO()
                {
                    Code     = "404",
                    Menssage = "Role no existe"
                });
                return(response);
            }

            foreach (string user in model.EnrolledUsers)
            {
                var appUser = await this.UserManager.FindByIdAsync(user);

                if (appUser == null)
                {
                    response.Error.Add(new ErrorDTO()
                    {
                        Code     = "404",
                        Menssage = "El Usuario" + user + " No Ha Sido Encontrado"
                    });
                    continue;
                }

                if (!this.UserManager.IsInRole(user, role.Name))
                {
                    response.Error = ApplicationUserManager.Result(await this.UserManager.AddToRoleAsync(user, role.Name));

                    if (response.Error.Count > 0)
                    {
                        response.Mensaje = "El Role No Ha Sido Agredo Al Usuario";
                    }
                    else
                    {
                        response.Mensaje = "El Role Ha Sido Agredo Al Usuario";
                    }
                }
            }

            foreach (string user in model.RemovedUsers)
            {
                var appUser = await this.UserManager.FindByIdAsync(user);

                if (appUser == null)
                {
                    response.Error.Add(new ErrorDTO()
                    {
                        Code     = "404",
                        Menssage = "El Usuario No Ha Sido Encontrado"
                    });
                    continue;
                }

                response.Error = ApplicationUserManager.Result(await this.UserManager.RemoveFromRoleAsync(user, role.Name));

                if (response.Error.Count > 0)
                {
                    response.Mensaje += " El Rol No Ha Sido Removido Del Usuario";
                }
                else
                {
                    response.Mensaje += "\n El Role Ha Sido Removido Del Usuario";
                }
            }
            return(response);
        }