コード例 #1
0
        public HttpResponseMessage SetLoyaltyCustomer([FromBody] LoyaltyCustomerResponseModel customerModel)
        {
            var dateStart = DateTime.Now;

            _performancelog.Debug($"Start,CustomerController,SetLoyaltyCustomer,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            ErrorMessage error;


            var customer = new Customer
            {
                Code         = customerModel.Code,
                Loyalty_Code = customerModel.LoyaltyNumber
            };

            var result = _customerManager.SetLoyaltyCustomer(customer, out error);

            _performancelog.Debug($"End,CustomerController,SetLoyaltyCustomer,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            var success = new SuccessReponse {
                Success = result
            };

            if (result)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, success));
            }
            return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse
            {
                Error = error.MessageStyle
            }));
        }
コード例 #2
0
        public HttpResponseMessage AddCustomer([FromBody] LoyaltyCustomerResponseModel customerModel)
        {
            var dateStart = DateTime.Now;

            _performancelog.Debug($"Start,CustomerController,AddCustomer,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            const MessageType criticalMessageType = (int)MessageType.Critical + MessageType.OkOnly;

            HttpResponseMessage addCustomer;

            if (VerifyCustomerAddRequest(customerModel, criticalMessageType, out addCustomer))
            {
                return(addCustomer);
            }

            var customer = new Customer
            {
                Name           = customerModel.Name,
                Code           = customerModel.Code,
                Loyalty_Points = Convert.ToDouble(customerModel.LoyaltyPoints),
                Phone          = customerModel.Phone,
                Loyalty_Code   = customerModel.LoyaltyNumber
            };

            var result         = _customerManager.SaveCustomer(customer);
            var successReponse = new SuccessReponse
            {
                Success = result
            };

            _performancelog.Debug($"End,CustomerController,AddCustomer,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(Request.CreateResponse(result ? HttpStatusCode.OK : HttpStatusCode.Conflict, successReponse));
        }
コード例 #3
0
        /// <summary>
        /// Method to get loyalty customer modle
        /// </summary>
        /// <param name="customer">Customer</param>
        /// <returns></returns>
        private static LoyaltyCustomerResponseModel GetLoyaltyCustomerResponseModel(Customer customer)
        {
            var customerModel = new LoyaltyCustomerResponseModel
            {
                Code          = customer.Code,
                Name          = customer.Name,
                Phone         = customer.Phone,
                LoyaltyNumber = customer.Loyalty_Code,
                LoyaltyPoints = Math.Round(customer.Loyalty_Points, 7).ToString(CultureInfo.InvariantCulture)
            };

            return(customerModel);
        }
コード例 #4
0
        /// <summary>
        /// Add customer validations
        /// </summary>
        /// <param name="customerModel">Customer model</param>
        /// <param name="criticalMessageType">Message type</param>
        /// <param name="addCustomer">Add customer</param>
        /// <returns></returns>
        private bool VerifyCustomerAddRequest(LoyaltyCustomerResponseModel customerModel, MessageType criticalMessageType,
                                              out HttpResponseMessage addCustomer)
        {
            addCustomer = null;
            var store  = CacheManager.GetStoreInfo();
            var offSet = store?.OffSet ?? 0;

            if (string.IsNullOrEmpty(customerModel.Code))
            {
                {
                    addCustomer = Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse
                    {
                        Error = _resourceManager.CreateMessage(offSet, 0, 8108, null, criticalMessageType)
                    });
                    return(true);
                }
            }
            if (!IsValidCustomerCode(customerModel.Code))
            {
                {
                    addCustomer = Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse
                    {
                        Error = _resourceManager.CreateMessage(offSet, 0, 6581, null, criticalMessageType)
                    });
                    return(true);
                }
            }
            if (customerModel.Code.Length > 10)
            {
                {
                    addCustomer = Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse
                    {
                        Error = _resourceManager.CreateMessage(offSet, 16, 90, null, criticalMessageType)
                    });
                    return(true);
                }
            }
            if (string.IsNullOrEmpty(customerModel.LoyaltyNumber) || customerModel.LoyaltyNumber.Equals("0"))
            {
                {
                    addCustomer = Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse
                    {
                        Error = _resourceManager.CreateMessage(offSet, 16, 94, null, MessageType.OkOnly)
                    });
                    return(true);
                }
            }
            if (string.IsNullOrEmpty(customerModel.Name))
            {
                {
                    addCustomer = Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse
                    {
                        Error = _resourceManager.CreateMessage(offSet, 16, 96, null, MessageType.OkOnly)
                    });
                    return(true);
                }
            }

            if (_customerManager.IsCustomerExist(customerModel.Code))
            {
                {
                    addCustomer = Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse
                    {
                        Error = _resourceManager.CreateMessage(offSet, 16, 95, null)
                    });
                    return(true);
                }
            }

            if (_customerManager.CheckCustomerByLoyaltyNumber(customerModel.LoyaltyNumber))
            {
                {
                    addCustomer = Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse
                    {
                        Error = _resourceManager.CreateMessage(offSet, 16, 93, null, MessageType.OkOnly)
                    });
                    return(true);
                }
            }
            return(false);
        }