예제 #1
0
파일: Program.cs 프로젝트: daweij/Fodder
        static void Main(string[] args)
        {
            var settings = new DeliveryServiceSettings();

            settings.IsEnvironmentFriendly = (date) =>
            {
                // wednesdays are good
                if ((int)date.DayOfWeek == 3)
                {
                    return(true);
                }
                return(false);
            };
            var service = new DeliveryService(settings);



            var products1 = new Product[]
            {
                new Product {
                    OrderDaysInAdvance = 10
                },
                new Product {
                    Type = ProductType.External
                }
            };

            var products2 = new Product[]
            {
                new Product {
                    Type = ProductType.Temporary
                },
                new Product
                {
                    AvailableDeliveryDays = new List <DayOfWeek>
                    {
                        DayOfWeek.Tuesday,
                        DayOfWeek.Wednesday,
                        DayOfWeek.Friday,
                        DayOfWeek.Sunday
                    }
                }
            };



            var response1 = service.CalculateDelivery(products1, 12677);
            var response2 = service.CalculateDelivery(products2, 12677, new DateTime(2019, 7, 8));



            Console.WriteLine("Hello World!");
        }
예제 #2
0
 public DeliveryService(DeliveryServiceSettings settings) : this()
 {
     this.settings = settings ?? throw new ArgumentNullException("Settings cannot be null.");
 }
예제 #3
0
 public DeliveryService()
 {
     this.settings = new DeliveryServiceSettings();
     this.sorter   = new ProductDeliveryResponseSorter();
 }