예제 #1
0
        public JsonResult CreateUserRole()
        {
            UserRoleResponse response = new UserRoleResponse();
            UserRoleModel    _model   = new UserRoleModel();

            if (Request.Form["UserID"] != null)
            {
                _model.UserID = Convert.ToInt64(Request.Form["UserID"].ToString());
            }
            if (Request.Form["Roles"] != null)
            {
                _model.RoleIds = JsonConvert.DeserializeObject <List <long> >(Request.Form["Roles"]);
            }
            if (Session["UserLogon"] != null)
            {
                _model.Account = (AccountModel)Session["UserLogon"];
            }

            var request = new UserRoleRequest
            {
                Data = _model
            };

            new UserRoleValidator(_unitOfWork, _context).Validate(request, out response);
            return(Json(new { Status = response.Status, Message = response.Message }, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public async Task <IEnumerable <UserRoleResponse> > GetPermissao(int id)
        {
            var role = await _roleManager.FindByIdAsync(id.ToString());

            if (role == null)
            {
                throw new PermissaoException("A permissão não existe na base de dados.");
            }

            List <UserRoleResponse> userRole = new List <UserRoleResponse>();

            var userRoles = await _userManager.GetUsersInRoleAsync(role.Name);

            foreach (var user in userRoles)
            {
                var userRoleDto = new UserRoleResponse
                {
                    UserId        = user.Id,
                    UserName      = user.UserName,
                    RoleId        = role.Id,
                    NomePermissao = role.Name,
                };

                userRole.Add(userRoleDto);
            }

            return(userRole);
        }
        public UserRoleResponse AddUserToRole(UserRoleRequest userRoleDto)
        {
            var response = new UserRoleResponse();

            try
            {
                var res = UserManager.AddToRoleAsync(userRoleDto.UserId, userRoleDto.Role.ToString());
                if (res.Result.Errors.Count() > 0)
                {
                    response.ResponseStatus  = ResponseStatus.BadRequest;
                    response.ResponseMessage = MessageDescription.MessageDescription.TransactionFailed.GetDescription();
                }
                else
                {
                    response.UserId         = userRoleDto.UserId;
                    response.ResponseStatus = ResponseStatus.Ok;
                }
            }
            catch (Exception ex)
            {
                response.ResponseMessage = MessageDescription.MessageDescription.TransactionFailed.GetDescription();
                response.ResponseStatus  = ResponseStatus.ExpectationFailed;
                Logger.ErrorException(ex.Message, ex);

                return(response);
            }
            return(response);
        }
        public async Task <UserRoleResponse> GetAllUserRole()
        {
            UserRoleResponse userRoleResponse = new UserRoleResponse();

            try
            {
                userRoleResponse.GetUserRoles = (from u in objContext.Users
                                                 join ur in objContext.UserRole on u.UserId equals ur.Userld
                                                 join r in objContext.Roles on ur.RoleId equals r.RoleId
                                                 where ur.IsDeleted == false && r.IsDeleted == false
                                                 select new GetUserRole
                {
                    UserId = u.UserId,
                    UserName = u.UserName,
                    RoleId = r.RoleId,
                    RoleName = r.RoleName
                }).ToList();

                userRoleResponse.Status = true;
                return(userRoleResponse);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <UserRoleResponse> DeleteUserRole(DeleteUserRoleRequest deleteUserRoleRequest)
        {
            UserRoleResponse userRoleResponse = new UserRoleResponse();

            try
            {
                var deleteUserRole = objContext.UserRole
                                     .Where(u => u.Userld == deleteUserRoleRequest.UserId && u.RoleId == deleteUserRoleRequest.RoleId).FirstOrDefault();
                if (deleteUserRole != null)
                {
                    deleteUserRole.IsDeleted = true;
                    deleteUserRole.DeletedBy = "Admin";
                    deleteUserRole.DeletedOn = DateTime.Now;
                    await objContext.SaveChangesAsync();

                    userRoleResponse.Status  = true;
                    userRoleResponse.Message = Constants.User_Role_Deleted_Success;
                }
                else
                {
                    userRoleResponse.Status  = false;
                    userRoleResponse.Message = Constants.USER_NOT_EXITS;
                }

                return(userRoleResponse);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <UserRoleResponse> AddUserRole(UserRoleRequestForAdd userRoleRequestForAdd)
        {
            UserRoleResponse userRoleResponse = new UserRoleResponse();

            try
            {
                for (int i = 0; i <= userRoleRequestForAdd.addUserRoleRequests.Count - 1; i++)
                {
                    UserRole userRole = new UserRole();
                    userRole.Userld    = userRoleRequestForAdd.UserId;
                    userRole.RoleId    = userRoleRequestForAdd.addUserRoleRequests[i].RoleId;
                    userRole.IsActive  = userRoleRequestForAdd.IsActive;
                    userRole.CreatedBy = "Admin";
                    userRole.CreatedOn = DateTime.Now;
                    objContext.UserRole.Add(userRole);
                    await objContext.SaveChangesAsync();
                }
                userRoleResponse.Status  = true;
                userRoleResponse.Message = Constants.Role_Created_Success;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(userRoleResponse);
        }
        public UserRoleResponse AddUserToRole(UserRoleRequest userRoleDto)
        {
            var response = new UserRoleResponse();

            try
            {
                var res = UserManager.AddToRoleAsync(userRoleDto.UserId, userRoleDto.Role.ToString());
                if (res.Result.Errors.Count() > 0)
                {
                    response.ErrorList      = res.Result.Errors.ToList();
                    response.ResponseStatus = ResponseStatus.ExpectationFailed;
                }
                else
                {
                    response.UserId         = userRoleDto.UserId;
                    response.ResponseStatus = ResponseStatus.Ok;
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException != null)
                {
                    response.ResponseMessage = (ex.InnerException).Message;
                }
                else
                {
                    response.ResponseMessage = ex.Message;
                }
                response.ResponseStatus = ResponseStatus.ExpectationFailed;
                return(response);
            }
            return(response);
        }
예제 #8
0
        public IActionResult Get(int id)
        {
            UserRole userRole = this._userRoleService.Get(id);

            UserRoleResponse userRoleResponse = AutoMap.Map <UserRole, UserRoleResponse>(userRole);

            return(Ok(new BaseResponse <UserRoleResponse>(userRoleResponse)));
        }
예제 #9
0
        public IActionResult Modify([FromBody] UserRoleRequest userRoleRequest)
        {
            UserRole userRole = AutoMap.Map <UserRoleRequest, UserRole>(userRoleRequest);

            this._userRoleService.Modify(userRole.Identity, userRole);

            UserRoleResponse userRoleResponse = AutoMap.Map <UserRoleRequest, UserRoleResponse>(userRoleRequest);

            return(Ok(new BaseResponse <UserRoleResponse>(userRoleResponse)));
        }
예제 #10
0
        public IActionResult Add([FromBody] UserRoleRequest userRoleRequest)
        {
            UserRole userRole = AutoMap.Map <UserRoleRequest, UserRole>(userRoleRequest);

            userRole.Identity = default;
            this._userRoleService.Add(userRole);

            UserRoleResponse userRoleResponse = AutoMap.Map <UserRoleRequest, UserRoleResponse>(userRoleRequest);

            return(Ok(new BaseResponse <UserRoleResponse>(userRoleResponse)));
        }
예제 #11
0
        public UserRoleResponse AddUserToRole(UserRoleRequest userRoleDto)
        {
            var response = new UserRoleResponse();

            try
            {
                var res = UserManager.AddToRole(userRoleDto.UserId, userRoleDto.RoleName);
                if (res.Errors.Count() > 0)
                {
                    response.ResponseStatus = new ResponseStatus
                    {
                        StatusCode = (int)HttpStatusCode.BadRequest,
                        HttpStatus = HttpStatusCode.BadRequest.ToString(),
                        Message    = MessageDescription.TransactionFailed.GetDescription(),
                        Errors     = new List <ResponseError>()
                        {
                            new ResponseError()
                            {
                                Message = res.Errors.FirstOrDefault()
                            }
                        }
                    };
                }
                else
                {
                    response.UserId         = userRoleDto.UserId;
                    response.ResponseStatus = new ResponseStatus
                    {
                        StatusCode = (int)HttpStatusCode.OK,
                        HttpStatus = HttpStatusCode.OK.ToString()
                    };
                }
            }
            catch (Exception ex)
            {
                response.ResponseStatus = new ResponseStatus
                {
                    StatusCode = (int)HttpStatusCode.ExpectationFailed,
                    HttpStatus = HttpStatusCode.ExpectationFailed.ToString(),
                    Message    = MessageDescription.TransactionFailed.GetDescription(),
                    Errors     = new List <ResponseError>()
                    {
                        new ResponseError()
                        {
                            Message = MessageDescription.TransactionFailed.GetDescription()
                        }
                    }
                };
                return(response);
            }
            return(response);
        }
예제 #12
0
        public async Task <IActionResult> Index()
        {
            var listUser = await _userManager.Users.ToListAsync();

            var userRoleResponse = new List <UserRoleResponse>();

            foreach (var user in listUser)
            {
                var newUserRole = new UserRoleResponse();
                newUserRole.Roles = (List <string>) await _userManager.GetRolesAsync(user);
            }
            return(View());
        }
        public async Task <ActionResult> GetAllUserRole()
        {
            try
            {
                _userRoleResponse = await _userRoleService.GetAllUserRole();

                return(new OkObjectResult(_userRoleResponse));
            }
            catch (Exception ex)
            {
                _userRoleResponse.Message = ex.Message;
                _userRoleResponse.Status  = false;
                return(BadRequest(_userRoleResponse));
            }
        }
        public async Task <ActionResult> AddUserRole([FromBody] UserRoleRequestForAdd userRoleRequestForAdd)
        {
            try
            {
                _userRoleResponse = await _userRoleService.AddUserRole(userRoleRequestForAdd);

                return(new OkObjectResult(_userRoleResponse));
            }
            catch (Exception ex)
            {
                _userRoleResponse.Message = ex.Message;
                _userRoleResponse.Status  = false;
                return(BadRequest(_userRoleResponse));
            }
        }
        public async Task <ActionResult> DeleteUserRole([FromBody] DeleteUserRoleRequest deleteUserRoleRequest)
        {
            try
            {
                _userRoleResponse = await _userRoleService.DeleteUserRole(deleteUserRoleRequest);

                return(new OkObjectResult(_userRoleResponse));
            }
            catch (Exception ex)
            {
                _userRoleResponse.Message = ex.Message;
                _userRoleResponse.Status  = false;
                return(BadRequest(_userRoleResponse));
            }
        }
예제 #16
0
        /// <summary>
        /// Create or edit user role
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public UserRoleResponse CreateOrEdit(UserRoleRequest request)
        {
            UserRoleResponse response = new UserRoleResponse();

            using (var transaction = _context.Database.BeginTransaction())
            {
                try
                {
                    var toberemove = _context.UserRoles.Where(x => x.UserID == request.Data.UserID);
                    _context.UserRoles.RemoveRange(toberemove);
                    _context.SaveChanges();

                    //insert new
                    foreach (long _roleid in request.Data.RoleIds)
                    {
                        var _userrole = new UserRole
                        {
                            UserID      = request.Data.UserID,
                            RoleID      = _roleid,
                            CreatedBy   = request.Data.Account.UserCode,
                            CreatedDate = DateTime.Now
                        };

                        _context.UserRoles.Add(_userrole);
                    }

                    int resultAffected = _context.SaveChanges();
                    transaction.Commit();

                    response.Message = Messages.DataSaved;
                }
                catch (Exception ex)
                {
                    transaction.Rollback();

                    response.Status  = false;
                    response.Message = Messages.GeneralError;

                    ErrorLog(ClinicEnums.Module.MASTER_ROLE_PRIVILEGE, ClinicEnums.Action.DELETE.ToString(), request.Data.Account, ex);
                }
            }

            return(response);
        }
예제 #17
0
        public async Task <IActionResult> GetUsersInRole([FromQuery] string roleId, CancellationToken cancellationToken)
        {
            var apiResponse = new Response();

            var role = await _roleManager.FindByIdAsync(roleId);

            if (role == null)
            {
                apiResponse.AddError(ExceptionCreator.CreateNotFoundError(nameof(role), $"Role id: {roleId} is not found"));
                return(NotFound(apiResponse));
            }

            var userRoleList = new List <UserRoleResponse>();

            try
            {
                foreach (var user in _userManager.Users)
                {
                    var userRole = new UserRoleResponse()
                    {
                        UserId   = user.Id,
                        UserName = user.UserName
                    };

                    if (await _userManager.IsInRoleAsync(user, role.Name))
                    {
                        userRole.HasRole = true;
                    }
                    else
                    {
                        userRole.HasRole = false;
                    }

                    userRoleList.Add(userRole);
                }

                return(Ok(userRoleList));
            }
            catch (Exception exception)
            {
                return(_actionResultMapper.Map(exception));
            }
        }
        public async Task <UserRoleResponse> UpdateUserRole(UserRoleRequestForUpdate userRoleRequestForUpdate)
        {
            UserRoleResponse userRoleResponse = new UserRoleResponse();

            try
            {
                var updateUserRoles = objContext.UserRole.Where(ur => ur.Userld == userRoleRequestForUpdate.UserId).ToList();
                if (updateUserRoles != null)
                {
                    for (int i = 0; i <= updateUserRoles.Count - 1; i++)
                    {
                        updateUserRoles[i].IsDeleted = true;
                        updateUserRoles[i].DeletedBy = "Admin";
                        updateUserRoles[i].DeletedOn = DateTime.Now;
                        await objContext.SaveChangesAsync();
                    }
                }
                if (userRoleRequestForUpdate.updateUserRoleRequests.Count > 0)
                {
                    for (int i = 0; i <= userRoleRequestForUpdate.updateUserRoleRequests.Count - 1; i++)
                    {
                        UserRole userRole = new UserRole();
                        userRole.Userld     = userRoleRequestForUpdate.UserId;
                        userRole.RoleId     = userRoleRequestForUpdate.updateUserRoleRequests[i].RoleId;
                        userRole.ModifiedBy = "Admin";
                        userRole.ModifiedOn = DateTime.Now;
                        objContext.UserRole.Add(userRole);
                        await objContext.SaveChangesAsync();
                    }
                }
                userRoleResponse.Status  = true;
                userRoleResponse.Message = Constants.User_Role_Updated_Success;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(userRoleResponse);
        }
예제 #19
0
        /// <summary>
        /// Get list of user role
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public UserRoleResponse GetListData(UserRoleRequest request)
        {
            var           qry    = _unitOfWork.UserRoleRepository.Get(x => x.UserID == request.Data.UserID && x.RowStatus == 0);
            UserRoleModel _model = new UserRoleModel();

            if (qry.Count > 0)
            {
                _model.UserID = qry.FirstOrDefault().UserID;
            }

            foreach (var item in qry)
            {
                _model.RoleIds.Add(item.RoleID);
            }

            var response = new UserRoleResponse
            {
                Entity = _model
            };

            return(response);
        }
예제 #20
0
        /// <summary>
        /// Validate request
        /// </summary>
        /// <param name="request"></param>
        /// <param name="response"></param>
        public void Validate(UserRoleRequest request, out UserRoleResponse response)
        {
            response = new UserRoleResponse();

            if (request.Data.UserID == 0)
            {
                errorFields.Add("User Name");
            }
            if (request.Data.RoleIds.Count == 0)
            {
                errorFields.Add("Role");
            }

            if (errorFields.Any())
            {
                response.Status  = false;
                response.Message = string.Format(Messages.ValidationErrorFields, String.Join(",", errorFields));
            }

            if (response.Status)
            {
                response = new UserRoleHandler(_unitOfWork, _context).CreateOrEdit(request);
            }
        }