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; } } }
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; } } }