private void UpdateTender(decimal amountEntered) { if (SelectedTenderList.Any(x => x.TenderCode == SelectedTender.TenderCode)) { SelectedTenderList.First(x => x.TenderCode == SelectedTender.TenderCode).AmountEntered = amountEntered.ToString(CultureInfo.InvariantCulture); } else { SelectedTender.AmountEntered = amountEntered.ToString(CultureInfo.InvariantCulture); SelectedTenderList.Add(SelectedTender); } var tenders = new List <Tender>(); foreach (var tender in SelectedTenderList) { tenders.Add(new Tender { AmountEntered = tender.AmountEntered, TenderCode = tender.TenderCode }); } var updatedTenders = new UpdateTenderPost { Tenders = tenders, DropReason = _reason }; PerformAction(async() => { try { var response = await _cashBussinessLogic.UpdateTender(updatedTenders); SelectedTenderList = MapTendersWithUITender(response.Tenders); TenderTotalAmount = response.TenderedAmount; } catch (ApiDataException) { SelectedTenderList.Remove(SelectedTender); throw; } finally { IsSelectedTenderEmpty = SelectedTenderList.Count > 0; NavigateService.Instance.SecondFrameBackNavigation(); } }); }
private void OpenNumberPadForTenderItem(dynamic s) { SelectedTender = SelectedTenderList.FirstOrDefault(x => x.TenderCode == s); if (SelectedTender == null) { SelectedTender = TenderList.FirstOrDefault(x => x.TenderCode == s); } NavigateService.Instance.NavigateToTenderNumberPad(); var amountEntered = 0M; decimal.TryParse(SelectedTender?.AmountEntered, NumberStyles.Any, CultureInfo.InvariantCulture, out amountEntered); MessengerInstance.Send(true, "ResetNumberPadVM"); MessengerInstance.Send(amountEntered.ToString(CultureInfo.InvariantCulture), "SetQuantiyUsingNumberPad"); }