예제 #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
        public HttpResponseMessage SaveMessage([FromBody] MessageModel messageModel)
        {
            var dateStart = DateTime.Now;

            _performancelog.Debug($"Start,MessageController,SaveMessage,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}");
            var accessToken = Request.GetFirstHeaderValueOrDefault <string>("authToken");

            if (accessToken == null)
            {
                return(Request.CreateResponse(
                           HttpStatusCode.BadRequest,
                           new ErrorResponse
                {
                    Error = new MessageStyle {
                        Message = Resource.Error, MessageType = 0
                    }
                }));
            }
            if (messageModel == null)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, new ErrorResponse
                {
                    Error = new MessageStyle
                    {
                        Message = Resource.InvalidInformation
                    }
                }));
            }
            var userCode = TokenValidator.GetUserCode(accessToken);
            var message  = new MessageButton
            {
                Message = messageModel.Message,
                Index   = messageModel.Index
            };
            ErrorMessage error;

            _messageManager.SaveMessage(message, messageModel.TillNumber, userCode, out error);

            _performancelog.Debug($"End,MessageController,SaveMessage,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            var response = new SuccessReponse {
                Success = true
            };

            if (string.IsNullOrEmpty(error.MessageStyle.Message))
            {
                return(Request.CreateResponse(HttpStatusCode.OK, response));
            }

            return(Request.CreateResponse(error.StatusCode,
                                          new ErrorResponse
            {
                Error = error.MessageStyle,
            }));
        }
예제 #4
0
        public HttpResponseMessage OpenCashDrawer([FromBody] CashDropModel cashDrop)
        {
            var dateStart = DateTime.Now;

            _performancelog.Debug($"Start,CashController,OpenCashDrawer,{string.Empty},{dateStart:hh.mm.ss.ffffff}");
            string userCode;
            HttpResponseMessage httpResponseMessage;

            if (GetUserCode(out userCode, out httpResponseMessage))
            {
                return(httpResponseMessage);
            }
            if (cashDrop == null)
            {
                return(Request.CreateResponse(
                           HttpStatusCode.BadRequest,
                           new ErrorResponse
                {
                    Error = new MessageStyle {
                        Message = Constants.InvalidRequest, MessageType = 0
                    }
                }));
            }
            ErrorMessage error;

            _cashManager.OpenCashDrawer(userCode, cashDrop.DropReason, cashDrop.TillNumber, out error);
            if (!string.IsNullOrEmpty(error.MessageStyle.Message))
            {
                return(Request.CreateResponse(error.StatusCode,
                                              new ErrorResponse
                {
                    Error = error.MessageStyle,
                }));
            }
            var success = new SuccessReponse
            {
                Success = true
            };

            _performancelog.Debug(
                $"End,CashController,OpenCashDrawer,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(Request.CreateResponse(HttpStatusCode.OK, success));
        }