示例#1
0
        static void StimulateRemovePoints()
        {
            var dataService = new FakeLoyaltyDataService();
            var service     = new LoyaltyRedemptionService(dataService);
            var invoice     = new Invoice
            {
                Id         = Guid.NewGuid(),
                CostPerDay = 29.95m,
                Customer   = new Customer
                {
                    Id            = Guid.NewGuid(),
                    BirthDate     = DateTime.Now.AddYears(-25),
                    DriverLicense = "DL0012345",
                    Name          = "John Papa"
                },
                Vehicle = new Vehicle
                {
                    Id    = Guid.NewGuid(),
                    Make  = "Honda",
                    Model = "SUV",
                    Size  = Size.Luxury
                }
            };

            service.Redeem(invoice, 3);
        }
示例#2
0
        static void StimulateAddingPoints()
        {
            var dataService     = new FakeLoyaltyDataService();
            var service         = new LoyaltyAccuralService(dataService);
            var rentalAgreement = new RentalAgreement
            {
                Id        = Guid.NewGuid(),
                StartDate = DateTime.Now.AddDays(-3),
                EndDate   = DateTime.Now,
                Customer  = new Customer
                {
                    Id            = Guid.NewGuid(),
                    BirthDate     = DateTime.Now.AddYears(-25),
                    DriverLicense = "DL0012345",
                    Name          = "John Papa"
                },
                Vehicle = new Vehicle
                {
                    Id    = Guid.NewGuid(),
                    Make  = "Honda",
                    Model = "Sedan",
                    Size  = Size.Compact
                }
            };

            service.Accrue(rentalAgreement);
        }
示例#3
0
        private static void SimulateRemovingPoints()
        {
            var dataService = new FakeLoyaltyDataService();
            var service     = new LoyaltyRedemptionService(dataService);

            var invoice = new Invoice {
                Customer = new Customer {
                    Id             = Guid.NewGuid(),
                    Name           = "Test name 2",
                    DateOfBirth    = new DateTime(1977, 4, 15),
                    DriversLicense = "RR009911"
                },
                Vehicule = new Vehicule {
                    Id    = new Guid(),
                    Make  = "Cadillac",
                    Model = "Sedan",
                    Size  = Size.Luxury,
                    Vin   = "2BDI"
                },
                CostPerDay = 29.95m,
                Id         = Guid.NewGuid()
            };

            service.Redeem(invoice, 3);
        }
示例#4
0
        private static void SimulateAddingPoints()
        {
            var dataService = new FakeLoyaltyDataService();
            var service     = new LoyaltyAccrualService(dataService);

            var rentalAgreement = new RentalAgreement {
                Customer = new Customer {
                    Id             = Guid.NewGuid(),
                    Name           = "Test name 1",
                    DateOfBirth    = new DateTime(1980, 2, 10),
                    DriversLicense = "RR123456"
                },
                Vehicule = new Vehicule {
                    Id    = new Guid(),
                    Make  = "Honda",
                    Model = "Accord",
                    Size  = Size.Compact,
                    Vin   = "1HABBC123"
                },
                StartDate = DateTime.Now.AddDays(-3),
                EndDate   = DateTime.Now
            };

            service.Accrue(rentalAgreement);
        }
示例#5
0
        private static void SimulateSubstractPoints()
        {
            var dataService = new FakeLoyaltyDataService(); // 模拟数据库服务
            var service     = new LoyaltyRedemptionService(dataService);
            var invoice     = new Invoice
            {
                Customer = new Customer
                {
                    Id             = Guid.NewGuid(),
                    Name           = "Katty",
                    DateOfBirth    = new DateTime(1998, 1, 1),
                    DriversLicense = "654321"
                },
                Vehicle = new Vehicle
                {
                    Id    = Guid.NewGuid(),
                    Make  = "奥迪",
                    Model = "Q7",
                    Size  = Size.SUV,
                    Vin   = "粤B89898"
                },
                CostPerDay = 100,
                Id         = Guid.NewGuid()
            };

            service.Rdeem(invoice, 3); // 兑换3天
        }
示例#6
0
        private static void SimulateAddingPoints()
        {
            var dataService = new FakeLoyaltyDataService(); // 模拟数据库服务
            var service     = new LoyaltyAccrualService(dataService);
            var agreement   = new RentalAgreement
            {
                Customer = new Customer
                {
                    Id             = Guid.NewGuid(),
                    Name           = "Jackie",
                    DateOfBirth    = new DateTime(1999, 1, 1),
                    DriversLicense = "12345678"
                },
                Vehicle = new Vehicle
                {
                    Id    = Guid.NewGuid(),
                    Make  = "Ford",
                    Model = "小奔",
                    Size  = Size.Compact,
                    Vin   = "粤BABC12"
                },
                StartDate = DateTime.Now.AddDays(-3),
                EndDate   = DateTime.Now,
                Id        = Guid.NewGuid()
            };

            service.Accrue(agreement);
        }
示例#7
0
        static void Main(string[] args)
        {
            var dataService    = new FakeLoyaltyDataService();
            var accrualService = new LoyaltyAccrualServiceAop(dataService);

            SimulateAddingPoints(accrualService);

            Console.WriteLine();
            Console.WriteLine(" ***");
            Console.WriteLine();

            var redeemService = new LoyaltyRedemptionServiceAop(dataService);

            SimulateRemovingPoints(redeemService);

            Console.WriteLine();
            Console.WriteLine();

            //var svc = new LoyaltyRedemptionServiceAop(dataService);
            //svc.Redeem(new Invoice(), 0);
        }