Esempio n. 1
0
        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();
            }
        }
Esempio n. 2
0
        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();
        }