internal async Task <RateOptionsSubmissionResult> SubmitRateOptions() { var equipmentAmount = EquipmentAmount.AsDouble(); if (equipmentAmount > MaxEquipmentAmount || equipmentAmount < MinEquipmentAmount) { return(RateOptionsSubmissionResult.InvalidEquipmentAmount); } var pointAmount = Points.AsInt(); if (pointAmount > MaxPoints) { return(RateOptionsSubmissionResult.InvalidPointAmount); } //need to get max points value var terms = Terms.Where(t => t.IsSelected); var rateCards = RateCards.Where(r => r.IsSelected); var maintenanceTypes = MaintenanceTypes.Where(m => m.IsSelected); var purchaseOptions = PurchaseOptions.Where(p => p.IsSelected); var advancePayments = AdvancePayments.Where(a => a.IsSelected); _quoteBuilder.SetRateOptions(new RateOptions { CompanyName = CompanyName, EquipmentAmount = EquipmentAmount.AsDouble(), EquipmentDescription = EquipmentDescription, RateCards = rateCards.ToList(), Terms = terms.ToList(), MaintenanceTypes = maintenanceTypes.ToList(), PurchaseOptions = purchaseOptions.ToList(), Points = Points.AsInt(), PassThrough = PassThrough.AsInt(), AdvancePayments = advancePayments.ToList() }); try { _hudProvider.DisplayProgress("Retrieving Payment Options"); var response = await _monthlyPaymentService.GetMonthlyPayments(_quoteBuilder.GetQuote()); if (response != null) { if (response.ErrorStatusCode == 400) { return(RateOptionsSubmissionResult.UnableToRetrieveData); } else if (response.ErrorStatusCode == 401) { return(RateOptionsSubmissionResult.Unauthorized); } else if (response.MonthlyPayments == null || response.MonthlyPayments.Count() == 0) { return(RateOptionsSubmissionResult.Failure); } else { _quoteBuilder.SetMonthlyPayments(response.MonthlyPayments.ToList()); return(RateOptionsSubmissionResult.Success); } } return(RateOptionsSubmissionResult.Failure); } catch (Exception ex) { return(RateOptionsSubmissionResult.Failure); //tell view to pop alert } finally { _hudProvider.Dismiss(); } }
public SampleData() { var moments = new[] { new DateTime(2010, 10, 10, 12, 0, 1), new DateTime(2010, 10, 12, 14, 0, 1) }; var amount = new EquipmentAmount { Id = 1, Amount = 1, AddedDate = moments[0], ModifiedDate = moments[0] }; Equipments = new[] { new Equipment { Id = 1, EquipmentType = EquipmentType.Heavy, AddedDate = moments[0], ModifiedDate = moments[0], EquipmentName = "Caterpillar bulldozer", EquipmentAmount = amount }, new Equipment { Id = 2, EquipmentType = EquipmentType.Regular, AddedDate = moments[0], ModifiedDate = moments[0], EquipmentName = "KamAZ truck" }, new Equipment { Id = 3, EquipmentType = EquipmentType.Heavy, AddedDate = moments[0], ModifiedDate = moments[0], EquipmentName = "Komatsu crane", EquipmentAmount = amount }, new Equipment { Id = 4, EquipmentType = EquipmentType.Regular, AddedDate = moments[0], ModifiedDate = moments[0], EquipmentName = "Volvo steamroller", EquipmentAmount = amount }, new Equipment { Id = 5, EquipmentType = EquipmentType.Specialized, AddedDate = moments[0], ModifiedDate = moments[0], EquipmentName = "Bosch jackhammer", EquipmentAmount = amount } }.ToList(); Users = new[] { new User { Id = 1, AddedDate = moments[0], ModifiedDate = moments[0], NickName = "Miguel de Cervantes" } }.ToList(); Carts = new[] { new Cart { Id = 1, User = Users.First(), AddedDate = moments[0], ModifiedDate = moments[0] } }.ToList(); CartEquipments = new[] { new CartEquipment { Id = 1, Cart = Carts[0], Equipment = Equipments[1], RentState = RentState.Running, AddedDate = moments[0], ModifiedDate = moments[0], RentDurationDays = 4 } }.ToList(); }