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