Пример #1
0
        public void UpdateRolls(Roll roll)
        {
            try
            {
                var existingRoll = rolls.SingleOrDefault(item => item.Id == roll.Id);

                if (existingRoll == null)
                {
                    throw new NullReferenceException();
                }

                existingRoll.Name         = roll.Name;
                existingRoll.HalfPosition = roll.HalfPosition;
                existingRoll.Others       = roll.Others;
                existingRoll.Weight       = roll.Weight;
                existingRoll.Cost         = roll.Cost;
            }
            catch (NullReferenceException ex)
            {
                MyLogger.Logger($"OOOPPS smth wrong\n{ex.Message}\n{ex.StackTrace}");
            }
            catch (Exception ex)
            {
                MyLogger.Logger($"OOOPPS smth wrong\n{ex.Message}\n{ex.StackTrace}");
            }
        }
Пример #2
0
        public void DeleteRollfromOrder(int id)
        {
            try
            {
                var roll = rollOrder.SingleOrDefault(item => item.Id == id);
                if (roll == null)
                {
                    throw new NullReferenceException();
                }
                rollOrder.Remove(roll);
            }
            catch (NullReferenceException exception)
            {
                Console.WriteLine("Эти роллы отсутствуют в заказе.");

                MyLogger.Logger($"{exception.Message}\n{exception.StackTrace}");
            }
            catch (Exception exception)
            {
                Console.WriteLine("У вас больше одной позиции");

                MyLogger.Logger($"Entered more than 1 order this kind of roll" +
                                $"\n{exception.Message}\n{exception.StackTrace}");

                var roll = rollOrder.FirstOrDefault(item => item.Id == id);
                rollOrder.Remove(roll);
            }
        }
Пример #3
0
        public void UpdateRollinOrder(int id, RollRepository rolls)
        {
            try
            {
                var roll = rollOrder.SingleOrDefault(item => item.Id == id);

                if (roll == null)
                {
                    throw new NullReferenceException();
                }

                Roll mainRoll = rolls.GetRollID(roll.Id);
                Roll tempRoll = new Roll
                                    (mainRoll.Name, mainRoll.Weight, mainRoll.Cost, mainRoll.Others, mainRoll.HalfPosition, mainRoll.Description);
                tempRoll.Id = roll.Id;

                AddRollinOrder(tempRoll);
            }
            catch (Exception exception)
            {
                Console.WriteLine("Нет в заказе.");

                MyLogger.Logger($"Entered invalid roll ID! Repiting going!\n" +
                                $"{exception.Message}\n{exception.StackTrace}");
            }
        }
Пример #4
0
        static void Main(string[] args)
        {
            MyLogger.directory.Create();

            MyLogger.Logger("Start");

            try
            {
                RollRepository rollRepository = new RollRepository();
                rollRepository = Menu.MenuList(rollRepository);
                MyLogger.Logger("MenuList done!");

                OrdersRepository orders = new OrdersRepository();

                do
                {
                    MyLogger.Logger("AddNewOrder start");
                    orders.AddNewOrder(MakeNewOrder(rollRepository));
                    MyLogger.Logger("AddNewOrder finish");

                    Console.WriteLine("Нажмите Enter если хотите добавить еще заказ.");
                }while (Console.ReadKey(true).Key == ConsoleKey.Enter);
            }
            catch (Exception ex)
            {
                MyLogger.Logger($"OOOPPS smth wrong\n{ex.Message}\n{ex.StackTrace}");
            }

            MyLogger.Logger("Order finish");

            Console.Read();
        }
Пример #5
0
        public OrderCreatorRepository CreateRollOrder(RollRepository rolls)
        {
            Greeting.Greetins();
            Greeting.AllRolls(rolls);

            do
            {
                do
                {
                    try
                    {
                        AddRollsOrNo(rolls);
                    }
                    catch (Exception exception)
                    {
                        Console.WriteLine("Вам надо ввести порядковый номер вида ролл");

                        MyLogger.Logger($"Entered invalid roll ID" +
                            $"{exception.Message}\n{exception.StackTrace}");

                        continue;
                    }


                    OrderCreatorRepository.GetRollsinOrder();
                    Console.WriteLine("Цена заказа {0: 0.00}", SumCounter(OrderCreatorRepository));

                    if (AnythingElse(rolls))
                    {
                        continue;
                    }

                    break;
                }
                while (true);

                Console.WriteLine("Завершить заказ?\n" +
                    "Нажмите Enter если да");

                if (Console.ReadKey(true).Key == ConsoleKey.Y)
                {
                    OrderCreatorRepository.GetRollsinOrder();
                    Console.WriteLine("Цена заказа {0: 0.00}", SumCounter(OrderCreatorRepository));
                    break;
                }
            }
            while (true);

            return OrderCreatorRepository;
        }
Пример #6
0
        public Roll GetRollID(int id)
        {
            try
            {
                Roll roll = rolls.SingleOrDefault(item => item.Id == id);
                if (roll == null)
                {
                    Console.WriteLine("Простите,нет информации,выберите другую позицию");
                }
                return(roll == null ? null : (Roll)roll);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Что-то не так,выберите другую позицию");

                MyLogger.Logger($"OOOPPS smth wrong\n{ex.Message}\n{ex.StackTrace}");

                return(null);
            }
        }
Пример #7
0
 public void DeleteRoll(int id)
 {
     try
     {
         var roll = rolls.SingleOrDefault(item => item.Id == id);
         if (roll == null)
         {
             throw new NullReferenceException();
         }
         rolls.Remove(roll);
     }
     catch (NullReferenceException ex)
     {
         MyLogger.Logger($"OOOPPS smth wrong\n{ex.Message}\n{ex.StackTrace}");
     }
     catch (Exception ex)
     {
         MyLogger.Logger($"OOOPPS smth wrong\n{ex.Message}\n{ex.StackTrace}");
     }
 }
Пример #8
0
        static Order MakeNewOrder(RollRepository sushiRepository)
        {
            OrderCreator newOrder = new OrderCreator();

            MyLogger.Logger("newOrder.CreateRollOrder start");

            newOrder.CreateRollOrder(sushiRepository);
            MyLogger.Logger("newOrder.CreateRollOrder finish, newOrder.CreatiningRollOrder start");

            Order order = newOrder.CreatiningRollOrder(newOrder.OrderCreatorRepository);

            MyLogger.Logger("newOrder.CreatiningRollOrder finish");

            newOrder.RollOrderMakingEvent += (string name) =>
            { Console.WriteLine($"{name}, заказ готов"); };

            MyLogger.Logger("newOrder.Done start");
            newOrder.Done(order, 10);

            return(order);
        }
Пример #9
0
        public void AddRollinOrder(Roll roll)
        {
            float summaryOfRoll = 0.0f;

            if (roll.HalfPosition)
            {
                do
                {
                    Console.WriteLine($"Сколько {roll.Name} вы бы хотели заказать?\n" +
                                      $"Можете заказать половину порции." +
                                      $"\nВведите количество порций (0,5) и нажмите Enter.\n" +
                                      $"Нажмите Escape если не хотите эти роллы.");

                    if (Console.ReadKey(true).Key == ConsoleKey.Escape)
                    {
                        break;
                    }

                    try
                    {
                        summaryOfRoll = Convert.ToSingle(Console.ReadLine());

                        if (summaryOfRoll == 0)
                        {
                            Console.WriteLine("Вы не добавили роллы");
                            return;
                        }
                        else if (summaryOfRoll % 0.5f == 0)
                        {
                            break;
                        }
                        Console.WriteLine("Только кратное количество.Попробуйте снова.");
                    }
                    catch (Exception exception)
                    {
                        Console.WriteLine("Неверный ввод,попробуйте снова.");

                        MyLogger.Logger($"Entered invalid quantity of roll!\n" +
                                        $"{exception.Message}\n{exception.StackTrace}");

                        continue;
                    }
                }while (true);
            }
            else
            {
                do
                {
                    Console.WriteLine($"Сколько {roll.Name} вы бы хотели заказать?\n" +
                                      $"Заказать половину порции нельзя,sorry." +
                                      $"\nВведите количество порций и нажмите Enter.\n" +
                                      $"Нажмите Escape если не хотите эти роллы.");
                    if (Console.ReadKey(true).Key == ConsoleKey.Escape)
                    {
                        break;
                    }

                    try
                    {
                        summaryOfRoll = Convert.ToSingle(Console.ReadLine());

                        if (summaryOfRoll == 0)
                        {
                            Console.WriteLine("Вы не добавили роллы");
                            return;
                        }

                        if (summaryOfRoll % 1 == 0)
                        {
                            break;
                        }
                        Console.WriteLine("Только полная порция,попробуйте снова");
                    }
                    catch (Exception exception)
                    {
                        Console.WriteLine("Неверный ввод,попробуйте снова.");

                        MyLogger.Logger($"Entered invalid quantity of roll!\n" +
                                        $"{exception.Message}\n{exception.StackTrace}");

                        continue;
                    }
                }while (true);
            }

            roll.Others = Convert.ToInt32(roll.Others * summaryOfRoll);
            roll.Cost   = roll.Cost * summaryOfRoll;
            roll.Weight = roll.Weight * summaryOfRoll;

            rollOrder.Add(roll);

            try
            {
                var tempRoll = rollOrder.SingleOrDefault(item => item.Id == roll.Id);
            }
            catch (Exception exception)
            {
                DeleteRollfromOrder(roll.Id);

                MyLogger.Logger($"Delete method done!\n{exception.Message}\n{exception.StackTrace}");
            }
        }
Пример #10
0
        public Order CreatiningRollOrder(OrderCreatorRepository orderRepository)
        {

            string name = string.Empty, adress = string.Empty;
            long phone = 0; string email = string.Empty;

            do
            {
                do
                {
                    try
                    {
                        Console.WriteLine("Введи ваше имя");
                        name = Console.ReadLine();
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("Неверный ввод,попробуйте снова.");

                        MyLogger.Logger($"Entered invalid name\n" +
                            $"{ex.Message}\n{ex.StackTrace}");

                        continue;
                    }
                    break;
                }
                while (true);

                do
                {
                    try
                    {
                        Console.WriteLine("Введите номер вашего телефона");
                        phone = Convert.ToInt32(Console.ReadLine());
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("Неверный ввод,попробуйте снова.");

                        MyLogger.Logger($"Entered invalid phone number!\n" +
                            $"{ex.Message}\n{ex.StackTrace}");

                        continue;
                    }
                    break;
                }
                while (true);

                do
                {
                    try
                    {
                        Console.WriteLine("Укажите адрес доставки:улица,дом,квартира");
                        adress = Console.ReadLine();
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("Неверный ввод,попробуйте снова.");

                        MyLogger.Logger($"Entered invalid adress!" +
                            $"\n{ex.Message}\n{ex.StackTrace}");

                        continue;
                    }
                    break;
                }
                while (true);

                do
                {
                    try
                    {
                        Console.WriteLine("Укажите email");
                        email = Console.ReadLine();
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine("Неверный ввод,попробуйте снова.");

                        MyLogger.Logger($"Entered invalid adress!" +
                            $"\n{ex.Message}\n{ex.StackTrace}");

                        continue;
                    }
                    break;
                }
                while (true);

                Console.WriteLine();
                Console.WriteLine($"Вот ваш заказ,проверьте его:\n" +
                    $"Имя заказчика : {name}\t Номер телефона : {phone}\t" +
                    $"Адрес доставки : {adress}\t Email : {email}");
                Extantions.WatchExtantion(orderRepository.rollOrder);

                Console.WriteLine("Нажмите Enter для подтверждения данных");
            }
            while (Console.ReadKey(true).Key != ConsoleKey.Enter);

            float summary = SumCounter(orderRepository);
            Order order = new Order(name, phone, adress, email, orderRepository.rollOrder, summary);

            order.dayOfWeek = (DayOfWeek)DateTime.Now.DayOfWeek;