Ejemplo n.º 1
0
        public HttpResponseMessage DeactivateGivexCard([FromBody] ActivateGivexModel givexModel)
        {
            var dateStart = DateTime.Now;

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

            ErrorMessage        errorMessage;
            HttpResponseMessage responseMessage;

            var cardNumber = givexModel.GivexCardNumber;

            if (!ValidateGivexCard(ref cardNumber, out responseMessage))
            {
                return(responseMessage);
            }
            givexModel.GivexCardNumber = cardNumber;

            if (!ValidateStockCode(givexModel.StockCode, out responseMessage))
            {
                return(responseMessage);
            }

            string userCode;
            HttpResponseMessage httpResponseMessage;

            if (GetUserCode(out userCode, out httpResponseMessage))
            {
                return(httpResponseMessage);
            }
            Report giveReceipt;
            var    sale = _givexManager.DeactivateGivexCard(givexModel.GivexCardNumber,
                                                            givexModel.GivexPrice,
                                                            userCode,
                                                            givexModel.TillNumber,
                                                            givexModel.SaleNumber,
                                                            givexModel.StockCode,
                                                            out giveReceipt,
                                                            out errorMessage);

            if (!string.IsNullOrEmpty(errorMessage.MessageStyle.Message))
            {
                return(Request.CreateResponse(errorMessage.StatusCode, new ErrorResponse
                {
                    Error = errorMessage.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);
            var response        = new GivexResponseModel
            {
                Sale    = saleModel,
                Receipt = giveReceipt
            };

            _performancelog.Debug($"End,GivexController,DeactivateGivexCard,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
Ejemplo n.º 2
0
        public HttpResponseMessage IncreaseGivexCard([FromBody] ActivateGivexModel givexModel)
        {
            var dateStart = DateTime.Now;

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

            ErrorMessage        errorMessage;
            HttpResponseMessage responseMessage;
            var offSet     = _policyManager.LoadStoreInfo().OffSet;
            var cardNumber = givexModel.GivexCardNumber;

            if (!ValidateGivexCard(ref cardNumber, out responseMessage))
            {
                return(responseMessage);
            }
            givexModel.GivexCardNumber = cardNumber;

            if (!ValidateStockCode(givexModel.StockCode, out responseMessage))
            {
                return(responseMessage);
            }
            string userCode;
            HttpResponseMessage httpResponseMessage;

            if (GetUserCode(out userCode, out httpResponseMessage))
            {
                return(httpResponseMessage);
            }
            if (Conversion.Val(givexModel.GivexPrice) <= 0)
            {
                var messageType = (int)MessageType.OkOnly + MessageType.Critical;

                return(Request.CreateResponse(HttpStatusCode.NotAcceptable,
                                              new ErrorResponse
                {
                    Error = _resourceManager.CreateMessage(offSet, 32, 95, null, messageType),
                }));
            }
            Report giveReceipt;
            var    sale = _givexManager.IncreaseGivexCard(givexModel.GivexCardNumber,
                                                          givexModel.GivexPrice,
                                                          userCode,
                                                          givexModel.TillNumber,
                                                          givexModel.SaleNumber,
                                                          givexModel.StockCode,
                                                          out giveReceipt,
                                                          out errorMessage);

            if (!string.IsNullOrEmpty(errorMessage.MessageStyle.Message))
            {
                return(Request.CreateResponse(errorMessage.StatusCode, new ErrorResponse
                {
                    Error = errorMessage.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);
            var response        = new GivexResponseModel
            {
                Sale    = saleModel,
                Receipt = giveReceipt
            };

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