public static void CancelSubscription()
        {
            using (var context = new NomadsContext())
            {
                List <SubscriptionRegistration> baskets = new List <SubscriptionRegistration>();
                foreach (var b in context.SubscriptionRegistrations.ToList())
                {
                    baskets.Add(b);
                }
                string email  = "";
                int    period = 0;

                foreach (var b in baskets)
                {
                    if (b != null)
                    {
                        email  = b.Client.Email;
                        period = b.Subscription.Period;
                        context.SubscriptionRegistrations.Remove(b);
                        context.SaveChanges();
                    }
                }

                List <Subscription> subscription = new List <Subscription>();
                foreach (var s in context.Subscriptions.ToList())
                {
                    subscription.Add(s);
                }
                foreach (var s in subscription)
                {
                    if (s != null && s.Period == period)
                    {
                        context.Subscriptions.Remove(s);
                        context.SaveChanges();
                    }
                }

                List <Client> clients = new List <Client>();
                foreach (var s in context.Clients.ToList())
                {
                    clients.Add(s);
                }

                foreach (var c in clients)
                {
                    if (c != null && c.Email == email)
                    {
                        context.Clients.Remove(c);
                        context.SaveChanges();
                    }
                }

                Console.WriteLine("Очень жаль, подписка отменена... Надеюсь Вы понимаете, что деньги за подписку Вам не вернут.");
            }
        }
 static void ShowAssortimentsList()
 {
     using (var context = new NomadsContext())
     {
         Console.WriteLine("Ассортимент:");
         foreach (var p in context.Subscriptions.ToList())
         {
             Console.WriteLine($"{p.Id}. Журнал {p.Name}: цена подписки - {p.Price}, период подписки - {p.Period}");
         }
     }
 }
        static void Purchase(Client client)
        {
            Console.Clear();
            ShowAssortimentsList();
            Console.WriteLine("*********************************\n" +
                              "Добавьте желаемую подписку по её номеру: ");
            int choice = 0;

            Subscription market = new Subscription();

            using (var context = new NomadsContext())
            {
                while (choice == 0)
                {
                    int.TryParse(Console.ReadLine(), out choice);
                    if (choice < 0 || choice > context.Subscriptions.Count())
                    {
                        choice = 0;
                    }
                    else
                    {
                        market = context.Subscriptions.FirstOrDefault(m => m.Id == choice);
                        break;
                    }
                }


                SubscriptionRegistration basket = new SubscriptionRegistration
                {
                    ClientId       = client.Id,
                    Client         = client,
                    SubscriptionId = market.Id,
                    Subscription   = market
                };

                context.SubscriptionRegistrations.Add(basket);
                context.SaveChanges();



                List <SubscriptionRegistration> baskets = new List <SubscriptionRegistration>();

                Console.WriteLine("Просмотр подписки: ");
                foreach (var b in context.SubscriptionRegistrations.ToList())
                {
                    Console.WriteLine($"Клиент: {b.Client.Email}," +
                                      $" Журнал: {b.Subscription.Name}." +
                                      $" Цена: {b.Subscription.Price}." +
                                      $" Подписка на {b.Subscription.Period} месяцев.");
                    baskets.Add(b);
                }
            }
        }
        static void Registration(ref Client client, string email, string password)
        {
            using (var context = new NomadsContext())
            {
                client = new Client {
                    Email = email, Password = password
                };
                context.Clients.Add(client);
                context.SaveChanges();

                client = context.Clients.FirstOrDefault(u => u.Email == email);
            }
        }
        static void Autorization(string email, string password)
        {
            Client client = new Client();

            using (var context = new NomadsContext())
            {
                bool isEntry = false;
                foreach (var u in context.Clients.ToList())
                {
                    if (u.Email == email)
                    {
                        isEntry = true;
                        break;
                    }
                }

                if (isEntry == false)
                {
                    Console.WriteLine("Этой учетной записи в системе нет. \n" +
                                      "Хотите зарегистрироваться?\n1.- да\n2.- нет");
                    int choice = 0;
                    while (choice == 0)
                    {
                        int.TryParse(Console.ReadLine(), out choice);
                        if (choice <= 0 || choice > 2)
                        {
                            choice = 0;
                        }
                        else
                        {
                            break;
                        }
                    }

                    switch (choice)
                    {
                    case 1:
                        Registration(ref client, email, password);
                        Console.WriteLine("Добро пожаловать в систему!");
                        Purchase(client);

                        break;

                    case 2:
                        Console.WriteLine("До свидания!");
                        break;
                    }
                }

                else
                {
                    client = context.Clients.FirstOrDefault(u => u.Email == email);
                    if (client.Password == password)
                    {
                        Console.WriteLine("Добро пожаловать в систему!");
                    }
                    else
                    {
                        while (true)
                        {
                            Console.Clear();
                            Console.WriteLine("Не верно введен пароль попробуйте снова: ");

                            password = Console.ReadLine();
                            if (client.Password == password)
                            {
                                Console.WriteLine("Добро пожаловать в систему!");
                                break;
                            }
                        }
                    }


                    Purchase(client);

                    Console.WriteLine("Желаете отменить подписку?\n" +
                                      "1. да\n" +
                                      "2. нет");
                    int choice = 0;
                    while (choice == 0)
                    {
                        int.TryParse(Console.ReadLine(), out choice);
                        if (choice <= 0 || choice > 2)
                        {
                            choice = 0;
                        }
                        else
                        {
                            break;
                        }
                    }
                    switch (choice)
                    {
                    case 1:
                        CancelSubscription();
                        break;

                    case 2:
                        Console.WriteLine("До свидания!");
                        break;
                    }
                }
            }
        }