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