Example #1
0
    public SalesControllers(MeatloafRepository mr,
                            SteakRepository sr,
                            BurgerRepository br,
                            WhiteBreadRepository wbr,
                            WholeGrainBreadRepository wgbr,
                            RussianSaladRepository rsr,
                            SnowWhiteSaladRepository swsr,
                            TomatoAndCucumberSaladRepository tcsr,
                            CarrotAndCabbageSaladRepository ccsr)
    {
        MeatloafRepository = mr;
        SteakRepository    = sr;
        BurgerRepository   = br;

        WhiteBreadRepository      = wbr;
        WholeGrainBreadRepository = wgbr;

        RussianSaladRepository           = rsr;
        SnowWhiteSaladRepository         = swsr;
        TomatoAndCucumberSaladRepository = tcsr;
        CarrotAndCabbageSaladRepository  = ccsr;
    }
Example #2
0
    private static void TakeOrders(MeatloafRepository meatloafRepository, SteakRepository steakRepository, BurgerRepository burgerRepository, WhiteBreadRepository whiteBreadRepository, WholeGrainBreadRepository wholeGrainBreadRepository, RussianSaladRepository russianSaladRepository, SnowWhiteSaladRepository snowWhiteSaladRepository, TomatoAndCucumberSaladRepository tomatoAndCucumberSaladRepository, CarrotAndCabbageSaladRepository carrotAndCabbageSaladRepository)
    {
        while (true)
        {
            if (orders.Count > 0)
            {
                Order order = orders.Dequeue();

                Product bread = null;
                switch (order.BreadOrder)
                {
                case Order.Bread.WhiteBread:
                {
                    GetWhiteBreadUseCase useCase = new GetWhiteBreadUseCase(whiteBreadRepository);
                    bread = useCase.Run();
                    break;
                }

                case Order.Bread.WholeGrainBread:
                {
                    GetWholeGrainBreadUseCase useCase = new GetWholeGrainBreadUseCase(wholeGrainBreadRepository);
                    bread = useCase.Run();
                    break;
                }
                }

                Product meat = null;
                switch (order.MeatOrder)
                {
                case Order.Meat.Meatloaf:
                {
                    GetMeatloafUseCase useCase = new GetMeatloafUseCase(meatloafRepository);
                    meat = useCase.Run();
                    break;
                }

                case Order.Meat.Steak:
                {
                    GetSteakUseCase useCase = new GetSteakUseCase(steakRepository);
                    meat = useCase.Run();
                    break;
                }

                case Order.Meat.Burger:
                {
                    GetBurgerUseCase useCase = new GetBurgerUseCase(burgerRepository);
                    meat = useCase.Run();
                    break;
                }
                }

                Product salad = null;
                switch (order.SaladOrder)
                {
                case Order.Salad.RussianSalad:
                {
                    GetRussianSaladUseCase useCase = new GetRussianSaladUseCase(russianSaladRepository);
                    salad = useCase.Run()[0];
                    break;
                }

                case Order.Salad.SnowWhiteSalad:
                {
                    GetSnowWhiteSaladUseCase useCase = new GetSnowWhiteSaladUseCase(snowWhiteSaladRepository);
                    salad = useCase.Run()[0];
                    break;
                }

                case Order.Salad.TomatoesAndCucumberSalad:
                {
                    GetTomatoAndCucumberSaladUseCase useCase = new GetTomatoAndCucumberSaladUseCase(tomatoAndCucumberSaladRepository);
                    salad = useCase.Run()[0];
                    break;
                }

                case Order.Salad.CarrortsAndCabbageSalad:
                {
                    GetCarrotAndCabbageSaladUseCase useCase = new GetCarrotAndCabbageSaladUseCase(carrotAndCabbageSaladRepository);
                    salad = useCase.Run()[0];
                    break;
                }
                }

                CompletedOrder       completedOrder   = new CompletedOrder(meat, bread, salad);
                WriteOrderLogUseCase writeOrderLogUse = new WriteOrderLogUseCase(completedOrder);
                writeOrderLogUse.Run();
            }
        }
    }
Example #3
0
 public GetSteakUseCase(SteakRepository Repository) : base(Repository)
 {
 }
Example #4
0
 public PrepareSteakUseCase(SteakRepository Repository) : base(Repository)
 {
 }