Esempio n. 1
0
        static void Task_2()
        {
            Console.Write("Введите город: ");
            string towns = Console.ReadLine();

            Console.Write("Введите адрес: ");
            var newAddress = Console.ReadLine();

            var selectTown = context.Towns.Where(t => t.Name.Contains(towns)).FirstOrDefault();

            if (selectTown != null)
            {
                Addresses addAddress = new Addresses()
                {
                    AddressText = newAddress,
                    TownId      = selectTown.TownId
                };

                context.Addresses.Add(addAddress);

                try
                {
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.InnerException.Message);
                }

                UpdateUsers(newAddress);
            }
            else
            {
                Console.WriteLine("Данного города не существует в базе, желаете добавить?");
                Console.Write("Введите Y/N (Да/Нет): ");
                string choose = Console.ReadLine();

                switch (choose)
                {
                case "Y":
                    Towns addTowns = new Towns()
                    {
                        Name = towns
                    };

                    context.Towns.Add(addTowns);

                    try
                    {
                        context.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.InnerException.Message);
                        break;
                    }

                    var twId = context.Towns.Where(t => t.Name.Contains(towns)).FirstOrDefault();

                    if (twId == null)
                    {
                        Console.WriteLine("Не удалось добавить город, повторите попытку позже..");
                        break;
                    }
                    else
                    {
                        Addresses addAddressWithTown = new Addresses()
                        {
                            AddressText = newAddress,
                            TownId      = twId.TownId
                        };

                        context.Addresses.Add(addAddressWithTown);

                        try
                        {
                            context.SaveChanges();
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e.InnerException.Message);
                            break;
                        }

                        UpdateUsers(newAddress);
                    }

                    break;

                case "N":
                    Console.WriteLine("\nЗавершение работы..");
                    break;
                }
            }
        }
Esempio n. 2
0
        static void Task_2_SQL()
        {
            Console.Write("Введите город: ");
            string towns = Console.ReadLine();

            Console.Write("Введите адрес: ");
            var newAddress = Console.ReadLine();

            string nativeSqlQuery = $"SELECT * FROM Towns AS t " +
                                    $"WHERE t.Name = @town";
            SqlParameter param = new SqlParameter("@town", towns);

            var selectTown = context.Towns.FromSqlRaw(nativeSqlQuery, param).FirstOrDefault();

            if (selectTown != null)
            {
                Addresses addAddress = new Addresses()
                {
                    AddressText = newAddress,
                    TownId      = selectTown.TownId
                };

                context.Addresses.Add(addAddress);

                try
                {
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.InnerException.Message);
                }

                UpdateUsers(newAddress);
            }
            else
            {
                Console.WriteLine("Данного города не существует в базе, желаете добавить?");
                Console.Write("Введите Y/N (Да/Нет): ");
                string choose = Console.ReadLine();

                switch (choose)
                {
                case "Y":
                    Towns addTowns = new Towns()
                    {
                        Name = towns
                    };

                    context.Towns.Add(addTowns);

                    try
                    {
                        context.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.InnerException.Message);
                        break;
                    }

                    string nativeTwId = $"SELECT * FROM Towns AS t " +
                                        $"WHERE t.Name = @town";
                    SqlParameter paramTwId = new SqlParameter("@town", towns);

                    var twId = context.Towns.FromSqlRaw(nativeTwId, paramTwId).FirstOrDefault();

                    if (twId == null)
                    {
                        Console.WriteLine("Не удалось добавить город, повторите попытку позже..");
                        break;
                    }
                    else
                    {
                        Addresses addAddressWithTown = new Addresses()
                        {
                            AddressText = newAddress,
                            TownId      = twId.TownId
                        };

                        context.Addresses.Add(addAddressWithTown);

                        try
                        {
                            context.SaveChanges();
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e.InnerException.Message);
                            break;
                        }

                        UpdateUsers_SQL(newAddress);
                    }

                    break;

                case "N":
                    Console.WriteLine("\nЗавершение работы..");
                    break;
                }
            }
        }