Ejemplo n.º 1
0
        public HttpResponseMessage UpdateCashDropTenders([FromBody] CashTenderModel cashTender)
        {
            var dateStart = DateTime.Now;

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

            if (cashTender == null)
            {
                return(Request.CreateResponse(
                           HttpStatusCode.BadRequest,
                           new ErrorResponse
                {
                    Error = new MessageStyle {
                        Message = Resource.InvalidRequest, MessageType = 0
                    }
                }));
            }

            ErrorMessage error;
            var          tenders = cashTender.Tenders.Select(tender => new Tender
            {
                Tender_Code    = tender.TenderCode,
                Amount_Entered = tender.AmountEntered ?? 0
            }).ToList();

            string userCode;
            HttpResponseMessage httpResponseMessage;

            if (GetUserCode(out userCode, out httpResponseMessage))
            {
                return(httpResponseMessage);
            }

            var updatedTenders = _cashManager.UpdateCashDropTendered(tenders, cashTender.DropReason,
                                                                     cashTender.SaleNumber, cashTender.TillNumber, userCode, out error);

            if (!string.IsNullOrEmpty(error.MessageStyle.Message))
            {
                _performancelog.Debug(
                    $"End,CashController,UpdateCashDropTenders,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");

                return(Request.CreateResponse(HttpStatusCode.BadRequest,
                                              new ErrorResponse
                {
                    Error = error.MessageStyle,
                }));
            }
            UpdateCashDropResponseModel response = GetUpdatedTenders(updatedTenders);

            _performancelog.Debug(
                $"End,CashController,UpdateCashDropTenders,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}");
            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Method to create update cash drop model
        /// </summary>
        /// <param name="updatedTenders">Updated tenders</param>
        /// <returns>Update cash drop model</returns>
        private UpdateCashDropResponseModel GetUpdatedTenders(Tenders updatedTenders)
        {
            var newTenders = updatedTenders.Where(u => u.Amount_Entered != 0);

            var response = new UpdateCashDropResponseModel
            {
                Tenders = newTenders.Select(tender => new TenderResponseModel
                {
                    TenderCode    = tender.Tender_Code,
                    TenderName    = tender.Tender_Name,
                    AmountEntered =
                        tender.Amount_Entered == 0 ? "" : tender.Amount_Entered.ToString(Constants.CurrencyFormat),
                    AmountValue  = tender.Amount_Used == 0 ? "" : tender.Amount_Used.ToString(Constants.CurrencyFormat),
                    MaximumValue = tender.MaxAmount,
                    MinimumValue = tender.MinAmount,
                    Image        = tender.Image
                }).ToList(),
                TenderedAmount = updatedTenders.Tend_Totals.Tend_Used.ToString(Constants.CurrencyFormat)
            };

            return(response);
        }