示例#1
0
        public IHttpActionResult DeleteUserRule(int userRuleId)
        {
            UserRuleRequest request = new UserRuleRequest {
                UserRuleDto = new UserRuleDto()
                {
                    UserRuleId = userRuleId
                }
            };
            List <string>   errors  = ValidateDeleteUserRule(request);
            UserRuleMessage message = new UserRuleMessage();

            if (errors != null && errors.Any())
            {
                message.ErrorMessage     = UserMessageResource.ValidationErrors;
                message.ErrorType        = ErrorType.ValidationError;
                message.Errors           = new List <string>();
                message.OperationSuccess = false;
                message.Errors.AddRange(errors);
            }
            else
            {
                message = _serviceUserRuleClient.DeleteUserRule(request);
            }
            return(Json(message));
        }
        /// <summary>
        /// Change UserRule informations.
        /// </summary>
        /// <param name="request">userRule request.</param>
        /// <returns>UserRule message.</returns>
        public UserRuleMessage UpdateUserRule(UserRuleRequest request)
        {
            UserRuleMessage message = new UserRuleMessage();

            try
            {
                request.FindUserRuleDto = FindUserRuleDto.UserId;
                UserRuleResponsePivot findMessage = _serviceUserRule.FindUserRules(request.ToPivot());
                if (findMessage?.UserRulePivot != null)
                {
                    _serviceUserRule.UpdateUserRule(request.ToPivot());
                    message.OperationSuccess = true;
                }
                else
                {
                    message.ErrorMessage     = UserRuleMessageResource.NotFound;
                    message.OperationSuccess = false;
                }
            }
            catch (Exception e)
            {
                message.ErrorType    = ErrorType.TechnicalError;
                message.ErrorMessage = e.Message;
            }
            return(message);
        }
示例#3
0
 /// <summary>
 /// From UserRule Request to UserRule Request pivot.
 /// </summary>
 /// <param name="userRuleRequest">the request to assemble.</param>
 /// <returns>UserRule Request pivot result.</returns>
 public static UserRuleRequestPivot ToPivot(this UserRuleRequest userRuleRequest)
 {
     return(new UserRuleRequestPivot
     {
         FindUserRulePivot = Utility.EnumToEnum <FindUserRuleDto, FindUserRulePivot>(userRuleRequest.FindUserRuleDto),
         UserRulePivotList = userRuleRequest.UserRuleDtoList.ToPivotList(),
         UserRulePivot = userRuleRequest.UserRuleDto.ToPivot()
     });
 }
示例#4
0
        /// <summary>
        /// create user rule validation.
        /// </summary>
        /// <param name="request">the request to validate.</param>
        /// <returns>errors validation</returns>
        private List <string> ValidateDeleteUserRule(UserRuleRequest request)
        {
            var errors = new List <string>();

            if (request?.UserRuleDto == null)
            {
                errors.Add(UserRuleMessageResource.NullRequest);
            }
            else
            {
                errors.AddRange(GenericValidationAttribute <UserRuleDto> .ValidateAttributes("UserRuleId", request.UserRuleDto.UserRuleId.ToString()));
            }
            return(errors);
        }
        /// <summary>
        /// Create new UserRule
        /// </summary>
        /// <param name="request">userRule request.</param>
        /// <returns>UserRule message.</returns>
        public UserRuleMessage CreateUserRule(UserRuleRequest request)
        {
            UserRuleMessage message = new UserRuleMessage();

            try
            {
                message = _serviceUserRule.CreateUserRule(request.ToPivot()).ToMessage();
                message.OperationSuccess = true;
            }
            catch (Exception e)
            {
                message.ErrorType    = ErrorType.TechnicalError;
                message.ErrorMessage = e.Message;
            }
            return(message);
        }
示例#6
0
        public IHttpActionResult FindUserRules(UserRuleRequest request)
        {
            List <string>   errors  = ValidateFindUserRule(request);
            UserRuleMessage message = new UserRuleMessage();

            if (errors != null && errors.Any())
            {
                message.ErrorMessage     = UserMessageResource.ValidationErrors;
                message.ErrorType        = ErrorType.ValidationError;
                message.Errors           = new List <string>();
                message.OperationSuccess = false;
                message.Errors.AddRange(errors);
            }
            else
            {
                message = _serviceUserRuleClient.FindUserRules(request);
            }
            return(Json(message));
        }
示例#7
0
        /// <summary>
        /// create user rule validation.
        /// </summary>
        /// <param name="request">the request to validate.</param>
        /// <returns>errors validation</returns>
        private List <string> ValidateUpdateUserRuleRangeRange(UserRuleRequest request)
        {
            var errors = new List <string>();

            if (request?.UserRuleDtoList == null)
            {
                errors.Add(UserRuleMessageResource.NullRequest);
            }
            else
            {
                foreach (var userRule in request.UserRuleDtoList.ToList())
                {
                    errors.AddRange(GenericValidationAttribute <UserRuleDto> .ValidateAttributes("UserRuleStatus", userRule.UserRuleStatus.ToString()));
                    errors.AddRange(GenericValidationAttribute <UserRuleDto> .ValidateAttributes("UserRuleId", userRule.UserRuleId.ToString()));
                    errors.AddRange(GenericValidationAttribute <UserRuleDto> .ValidateAttributes("UserId", userRule.UserId.ToString()));
                    errors.AddRange(GenericValidationAttribute <UserRuleDto> .ValidateAttributes("RuleId", userRule.RuleId.ToString()));
                }
            }
            return(errors);
        }
示例#8
0
        /// <summary>
        /// create user rule validation.
        /// </summary>
        /// <param name="request">the request to validate.</param>
        /// <returns>errors validation</returns>
        private List <string> ValidateFindUserRule(UserRuleRequest request)
        {
            var errors = new List <string>();

            if (request?.UserRuleDto == null)
            {
                errors.Add(UserRuleMessageResource.NullRequest);
            }
            else
            {
                switch (request.FindUserRuleDto)
                {
                case FindUserRuleDto.UserRuleId:
                    errors.AddRange(GenericValidationAttribute <UserRuleDto> .ValidateAttributes("UserRuleId", request.UserRuleDto.UserRuleId.ToString()));
                    break;

                case FindUserRuleDto.UserId:
                    errors.AddRange(GenericValidationAttribute <UserRuleDto> .ValidateAttributes("UserId", request.UserRuleDto.UserId.ToString()));
                    break;
                }
            }
            return(errors);
        }
示例#9
0
        /// <summary>
        /// Create new User
        /// </summary>
        /// <param name="request">user request.</param>
        /// <returns>User message.</returns>
        public UserMessage CreateUser(UserRequest request)
        {
            UserMessage message = new UserMessage();

            try
            {
                //search user by adress mail.
                request.FindUserDto = FindUserDto.UserMail;
                UserResponsePivot response = _serviceUser.FindUsers(request.ToPivot());

                if (response?.UserPivot == null)
                {
                    //generate and set password:
                    string password = ManagePassword.GeneratePassword(5);
                    request.UserDto.UserPassword = password;
                    message = _serviceUser.CreateUser(request.ToPivot()).ToMessage();

                    //add user rule.
                    RuleMessage ruleMessage = _serviceRule.GetAllRules().ToMessage();
                    if (ruleMessage?.RuleDtoList != null)
                    {
                        foreach (var rule in ruleMessage.RuleDtoList.ToList())
                        {
                            UserRuleRequest userRuleRequest = new UserRuleRequest
                            {
                                UserRuleDto = new UserRuleDto
                                {
                                    UserId         = message.UserDto.UserId,
                                    UserRuleStatus = false,
                                    RuleId         = rule.RuleId
                                }
                            };
                            _serviceUserRule.CreateUserRule(userRuleRequest.ToPivot()).ToMessage();
                        }
                    }
                    else
                    {
                        message.Errors = new List <string> {
                            UserRuleMessageResource.UserRuleNotAdded
                        };
                        message.ErrorMessage     = UserRuleMessageResource.UserRuleNotAdded;
                        message.ErrorType        = ErrorType.FunctionalError;
                        message.OperationSuccess = false;
                    }
                    message.OperationSuccess = true;
                }
                else
                {
                    message.Errors = new List <string> {
                        UserMessageResource.AlreadyExist
                    };
                    message.ErrorMessage     = UserMessageResource.AlreadyExist;
                    message.ErrorType        = ErrorType.FunctionalError;
                    message.OperationSuccess = false;
                }
            }
            catch (Exception e)
            {
                message.ErrorType    = ErrorType.TechnicalError;
                message.ErrorMessage = e.Message;
            }
            return(message);
        }