示例#1
0
        //post customer register
        public LogicResult PostCustomer(CustomerRegiter customer)
        {
            var unitofwork = _repositoryHelper.GetUnitOfWork();
            var repo       = _repositoryHelper.GetRepository <ICustomerRepository>(unitofwork);

            if (customer.PassWord != customer.ConfirmPassWord)
            {
                return new LogicResult()
                       {
                           IsSuccess = false, message = Validation.ConfirmPassWordNotCorrect
                       }
            }
            ;

            //check NRIC is unique
            var CheckCustomerNRIC = repo.GetExists(x => x.NRIC == customer.NRIC);

            if (CheckCustomerNRIC)
            {
                return new LogicResult()
                       {
                           IsSuccess = false, message = Validation.NRICExisted
                       }
            }
            ;

            //hash password
            var md5Pass = CreateMD5(customer.PassWord);

            var customerToSave = new Customer()
            {
                Name     = customer.Name,
                DoB      = customer.DOB,
                Gender   = customer.Gender,
                passWord = md5Pass,
                NRIC     = customer.NRIC,
                Phone    = customer.Phone,
                Email    = customer.Email,
            };

            repo.Create(customerToSave);
            unitofwork.SaveChanges();

            return(new LogicResult()
            {
                IsSuccess = true
            });
        }
示例#2
0
        public HttpResponseMessage PostCustomer(CustomerRegiter customer)
        {
            var message = CreateMessageData($"customer");

            if (!ModelState.IsValid)
            {
                return(CreateBadRequestErrorResponse(message, Validation.InvalidParameters));
            }

            var postResult = _customerService.PostCustomer(customer);

            if (!postResult.IsSuccess)
            {
                return(CreateValidationErrorResponse(message, new ValidationResult(postResult.message)));
            }

            return(CreateOkResponse(message, customer.Name));
        }