public Result ValidateCreateAccount(CreateAccountMessageEntity createAccountMessageEntity)
        {
            Result result = IsCreateAccountMessageEntityValid(createAccountMessageEntity);

            if (result.ResultStatus != ResultStatus.Success)
            {
                return(result);
            }

            result = IsEmailAddressValid(createAccountMessageEntity);
            if (result.ResultStatus != ResultStatus.Success)
            {
                return(result);
            }

            result = IsPhoneValid(createAccountMessageEntity);
            if (result.ResultStatus != ResultStatus.Success)
            {
                return(result);
            }

            result = IsNameValid(createAccountMessageEntity);
            if (result.ResultStatus != ResultStatus.Success)
            {
                return(result);
            }

            result = IsUserNameValid(createAccountMessageEntity);
            if (result.ResultStatus != ResultStatus.Success)
            {
                return(result);
            }

            return(result);
        }
 public Result PostProcessCreateAccount(CreateAccountMessageEntity createAccountMessageEntity)
 {
     return(new Result()
     {
         ResultStatus = ResultStatus.Success
     });
 }
        public Result ProcessCreateAccount(CreateAccountMessageEntity createAccountMessageEntity)
        {
            Result result = CreateAccount(createAccountMessageEntity);

            if (result.ResultStatus != ResultStatus.Success)
            {
                return(result);
            }
            return(result);
        }
 public Result IsCreateAccountMessageEntityValid(CreateAccountMessageEntity createAccountMessageEntity)
 {
     if (createAccountMessageEntity == null)
     {
         return(KatavuccolPortalUtility.GetResult(ResultStatus.Success, katavuccolPortalWebErrorCode.CreateAccountMessageEntityIsEmpty, KatavuccolPortalWebConstants.CreateAccountMessageEntityIsEmpty));
     }
     return(new Result()
     {
         ResultStatus = ResultStatus.Success
     });
 }
        public CreateAccountModelAPI MapCreateAccountModelAPI(CreateAccountMessageEntity createAccountMessageEntity)
        {
            CreateAccountModelAPI createAccountModelAPI = new CreateAccountModelAPI
            {
                firstName     = createAccountMessageEntity.FirstName,
                emailAddress  = createAccountMessageEntity.EmailAddress,
                lastName      = createAccountMessageEntity.LastName,
                password      = createAccountMessageEntity.Password,
                phoneNumber   = createAccountMessageEntity.PhoneNumber,
                userName      = createAccountMessageEntity.UserName,
                productItemId = createAccountMessageEntity.ProductItemId
            };

            return(createAccountModelAPI);
        }
Пример #6
0
        public Result CreateAccount(CreateAccountMessageEntity createAccountMessageEntity)
        {
            #region 0. Setup

            #endregion

            #region 1. Validate

            Result result = profileBusinessServiceValidator.ValidateCreateAccount(createAccountMessageEntity);
            if (result.ResultStatus != ResultStatus.Success)
            {
                return(result);
            }

            #endregion

            #region 2. Verifier

            result = profileBusinessServiceVerifier.VerifyCreateAccount(createAccountMessageEntity);
            if (result.ResultStatus != ResultStatus.Success)
            {
                return(result);
            }

            #endregion

            #region 3. Process

            result = profileBusinessServiceProcessor.ProcessCreateAccount(createAccountMessageEntity);
            if (result.ResultStatus != ResultStatus.Success)
            {
                return(result);
            }

            #endregion

            #region 4. PostProcess

            Result postResult = profileBusinessServicePostProcessor.PostProcessCreateAccount(createAccountMessageEntity);
            if (postResult.ResultStatus != ResultStatus.Success)
            {
                //TODO:log response
            }

            #endregion

            return(result);
        }
        public Result IsUserNameValid(CreateAccountMessageEntity createAccountMessageEntity)
        {
            if (createAccountMessageEntity.UserName.IsEmpty())
            {
                return(KatavuccolPortalUtility.GetResult(ResultStatus.Success, katavuccolPortalWebErrorCode.UserNameIsEmpty, KatavuccolPortalWebConstants.UserNameIsEmpty));
            }

            if (baseProfileBusinessServiceValidator.IsUserNameValid(createAccountMessageEntity.UserName))
            {
                return(KatavuccolPortalUtility.GetResult(ResultStatus.Success, katavuccolPortalWebErrorCode.UserNameIsInValidFormat, KatavuccolPortalWebConstants.UserNameIsInValidFormat));
            }
            return(new Result()
            {
                ResultStatus = ResultStatus.Success
            });
        }
        public Result IsNameValid(CreateAccountMessageEntity createAccountMessageEntity)
        {
            if (createAccountMessageEntity.FirstName.IsEmpty())
            {
                return(KatavuccolPortalUtility.GetResult(ResultStatus.Success, katavuccolPortalWebErrorCode.FirstNameIsEmpty, KatavuccolPortalWebConstants.FirstNameIsEmpty));
            }

            if (createAccountMessageEntity.LastName.IsEmpty())
            {
                return(KatavuccolPortalUtility.GetResult(ResultStatus.Success, katavuccolPortalWebErrorCode.LastNameIsEmpty, KatavuccolPortalWebConstants.LastNameIsEmpty));
            }

            return(new Result()
            {
                ResultStatus = ResultStatus.Success
            });
        }
        public Result IsEmailAddressValid(CreateAccountMessageEntity createAccountMessageEntity)
        {
            if (createAccountMessageEntity.EmailAddress.IsEmpty())
            {
                return(KatavuccolPortalUtility.GetResult(ResultStatus.Success, katavuccolPortalWebErrorCode.EmailAddressIsEmpty, KatavuccolPortalWebConstants.EmailAddressIsEmpty));
            }

            Result result = baseProfileBusinessServiceValidator.IsEmailAddressValid(createAccountMessageEntity.EmailAddress);

            if (result.ResultStatus == ResultStatus.Success)
            {
                return(new Result()
                {
                    ResultStatus = ResultStatus.Success
                });
            }
            return(KatavuccolPortalUtility.GetResult(ResultStatus.Fail, katavuccolPortalWebErrorCode.EmailAddressIsInValidFormat, KatavuccolPortalWebConstants.EmailAddressIsInValidFormat));
        }
        public Result IsPhoneValid(CreateAccountMessageEntity createAccountMessageEntity)
        {
            if (createAccountMessageEntity.PhoneNumber.IsEmpty())
            {
                return(KatavuccolPortalUtility.GetResult(ResultStatus.Success));
            }

            Result result = baseProfileBusinessServiceValidator.IsPhoneNumberValid(createAccountMessageEntity.PhoneNumber, out PhoneNumber parsedPhoneNumber);

            if (result.ResultStatus == ResultStatus.Success)
            {
                createAccountMessageEntity.ParsedPhoneNumber = parsedPhoneNumber;
                return(new Result()
                {
                    ResultStatus = ResultStatus.Success
                });
            }
            return(KatavuccolPortalUtility.GetResult(ResultStatus.Success, katavuccolPortalWebErrorCode.PhoneNumberIsInValidFormat, KatavuccolPortalWebConstants.PhoneNumberIsInValidFormat));
        }
        public Result IsPasswordValid(CreateAccountMessageEntity createAccountMessageEntity)
        {
            if (createAccountMessageEntity.Password.IsEmpty())
            {
                return(KatavuccolPortalUtility.GetResult(ResultStatus.Success, katavuccolPortalWebErrorCode.PasswordIsEmpty, KatavuccolPortalWebConstants.PasswordIsEmpty));
            }

            if (createAccountMessageEntity.Password == createAccountMessageEntity.ConfirmPassword)
            {
                return(KatavuccolPortalUtility.GetResult(ResultStatus.Success, katavuccolPortalWebErrorCode.PasswordAndConfirmPasswordNotMatch, KatavuccolPortalWebConstants.PasswordAndConfirmPasswordNotMatch));
            }

            if (baseProfileBusinessServiceValidator.IsPasswordValid(createAccountMessageEntity.Password))
            {
                return(KatavuccolPortalUtility.GetResult(ResultStatus.Success, katavuccolPortalWebErrorCode.PasswordIsInValidFormat, KatavuccolPortalWebConstants.PasswordIsInValidFormat));
            }
            return(new Result()
            {
                ResultStatus = ResultStatus.Success
            });
        }
Пример #12
0
        public ActionResult <AccountCreationResponseModel> AccountCreation(AccountCreationRequestModel accountCreationRequestModel)
        {
            AccountCreationResponseModel accountCreationResponseModel = new AccountCreationResponseModel();

            try
            {
                CreateAccountMessageEntity createAccountMessageEntity = profileControllerMapper.MapCreateAccountMessageEntity(accountCreationRequestModel);
                Result result = profileBusinessService.CreateAccount(createAccountMessageEntity);
                accountCreationResponseModel = profileControllerMapper.MapAccountCreationResponseModel(result, createAccountMessageEntity);
                if (accountCreationResponseModel?.ResultStatus == ResultStatus.Success.ToString())
                {
                    return(Ok(accountCreationResponseModel));
                }

                return(BadRequest(accountCreationResponseModel));
            }
            catch (System.Exception ex)
            {
                return(StatusCode(500));
            }
        }
        public Result CreateAccount(CreateAccountMessageEntity createAccountMessageEntity)
        {
            CreateAccountModelAPI createAccountModelAPI = profileBusinessServiceMapper.MapCreateAccountModelAPI(createAccountMessageEntity);
            CreateAccountIPost    createAccountIPost    = profileBusinessServiceMapper.MapCreateAccountIPost(createAccountModelAPI, createAccountMessageEntity);
            RestResponse          restResponse          = katavuccolClient.Post(createAccountIPost);

            if (restResponse.ResponseContent.IsValid())
            {
                CreateAccountResponseModelAPI createAccountResponseModelAPI = JsonConvert.DeserializeObject <CreateAccountResponseModelAPI>(restResponse.ResponseContent);
                if (createAccountResponseModelAPI.userId.IsEmpty())
                {
                    KatavuccolPortalUtility.GetResult(ResultStatus.Fail, katavuccolPortalWebErrorCode.UserIdIsEmptyFromAPIService, KatavuccolPortalWebConstants.UserIdIsEmptyFromAPIService);
                }
                createAccountMessageEntity.UserId = createAccountResponseModelAPI.userId;
            }
            else
            {
                return(KatavuccolPortalUtility.GetResult(ResultStatus.Fail, katavuccolPortalWebErrorCode.InValidResponseFromAPIAccountCreation, KatavuccolPortalWebConstants.InValidResponseFromAPIAccountCreation));
            }
            return(new Result()
            {
                ResultStatus = ResultStatus.Success
            });
        }
Пример #14
0
        public AccountCreationResponseModel MapAccountCreationResponseModel(Result result, CreateAccountMessageEntity createAccountMessageEntity)
        {
            if (createAccountMessageEntity == null && result == null)
            {
                return(new AccountCreationResponseModel()
                {
                    ResultStatus = ResultStatus.Fail.ToString(),
                    ResultMessage = WebUtilities.GetResultMessageApiModel(katavuccolPortalWebErrorCode.InternalError, "getting internal error")
                });
            }

            if (createAccountMessageEntity == null && result != null)
            {
                return(new AccountCreationResponseModel()
                {
                    ResultStatus = result.ResultStatus.ToString(),
                    ResultMessage = result.ResultMessage.ToResultMessageAPIModel()
                });
            }

            AccountCreationResponseModel accountCreationResponseModel = new AccountCreationResponseModel
            {
                UserId        = createAccountMessageEntity.UserId,
                ResultStatus  = result.ResultStatus.ToString(),
                ResultMessage = result.ResultMessage.ToResultMessageAPIModel()
            };

            return(accountCreationResponseModel);
        }
        public CreateAccountIPost MapCreateAccountIPost(CreateAccountModelAPI createAccountModelAPI, CreateAccountMessageEntity createAccountMessageEntity)
        {
            CreateAccountIPost createAccountIPost = new CreateAccountIPost
            {
                Endpoint = EndPoints.KatavuccolAPIUrl.ToString(),
                Request  = createAccountModelAPI
            };

            return(createAccountIPost);
        }