Beispiel #1
0
        public HttpResponseMessage RemoveSaleLineItem(int tillNumber, int saleNumber, int lineNumber)
        {
            var dateStart = DateTime.Now;

            _performancelog.Debug($"Start,SaleController,RemoveSaleLineItem,{string.Empty},{dateStart:hh.mm.ss.ffffff}");

            ErrorMessage        error;
            string              userCode;
            HttpResponseMessage httpResponseMessage;

            if (GetUserCode(out userCode, out httpResponseMessage))
            {
                return(httpResponseMessage);
            }
            var sale = _saleManager.RemoveSaleLineItem(userCode, tillNumber, saleNumber, lineNumber, out error, true,
                                                       true);

            if (!string.IsNullOrEmpty(error?.MessageStyle?.Message))
            {
                var statusCode = error.StatusCode == 0 ? HttpStatusCode.BadRequest : error.StatusCode;
                return(Request.CreateResponse(
                           statusCode,
                           new ErrorResponse
                {
                    Error = error.MessageStyle,
                }));
            }

            var editLines       = _saleManager.CheckEditOptions(sale.Sale_Lines, userCode);
            var enableButtons   = _saleManager.EnableCashButton(sale, userCode);
            var userCanWriteOff = _saleManager.EnableWriteOffButton(userCode);
            var saleModel       = SaleMapper.CreateSaleModel(sale, editLines, enableButtons, userCanWriteOff);

            _performancelog.Debug($"End,SaleController,RemoveSaleLineItem,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");

            return(Request.CreateResponse(HttpStatusCode.OK, saleModel));
        }