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 })); }
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)); }
/// <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); }
/// <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); }