public void CreateNewWithCatAndRest(LibNews news, string[] categoryes, string nameRest, string login)
        {
            using (var ctx = new NewsEntities())
            {
                var search = ctx.News.Where(c => c.Date == news.ReleaseDate.Date && c.Title == news.Title).ToList();
                if (search.Count == 0)
                {
                    int idRest = -1;
                    var rests  = ctx.Restorans.Where(c => c.Name == nameRest).ToList();
                    if (rests.Count != 0)
                    {
                        idRest = rests[0].Id;
                    }
                    else
                    {
                        Console.WriteLine("Ресторана не существует");
                    }


                    News newNews = new News
                    {
                        Title       = news.Title,
                        Date        = news.ReleaseDate,
                        TextContent = news.TextContent,
                        User        = (login != null) ? login : null
                    };
                    if (idRest != -1)
                    {
                        newNews.RefIdRest = idRest;
                    }
                    ctx.News.Add(newNews);
                    ctx.SaveChanges();
                    mq.Send(newNews.TextContent);
                    Console.WriteLine("Новая новость '" + news.Title + "' добавлена");
                    using (var ptx = new NewsEntities())
                    {
                        SelectAllNews();
                        Console.WriteLine("Передана дата " + news.ReleaseDate.Date + " заголовок " + news.Title);
                        var idNew   = ptx.News.Where(c => c.Date == news.ReleaseDate.Date && c.Title == news.Title).First().Id_news;
                        int idCateg = -1;
                        foreach (var category in categoryes)
                        {
                            var check = ctx.Category.Where(c => c.CatName == category).ToList();
                            if (check.Count == 0)
                            {
                                ;
                            }
                            CreateCategory(category);
                            idCateg = ptx.Category.Where(c => c.CatName == category).FirstOrDefault().IdCategories;
                            CreateCategoryForNews(idCateg, idNew);
                        }
                    }
                }
            }
        }
 public void DeleteCategoryFromAllNews(int idCat)
 {
     using (var ctx = new NewsEntities())
     {
         var search = ctx.CategoryOfNews.Where(c => c.IdCategory == idCat).ToList();
         if (search.Count != 0)
         {
             foreach (var item in search)
             {
                 ctx.CategoryOfNews.Remove(item);
                 ctx.SaveChanges();
                 //Console.WriteLine("Связка удалена");
             }
         }
         else
         {
             //Console.WriteLine("Такой связки не существует");
         }
     }
 }
 public void CreateCategory(string title)
 {
     using (var ctx = new NewsEntities())
     {
         var search = ctx.Category.Where(c => c.CatName == title).ToList();
         if (search.Count == 0)
         {
             Category newCat = new Category
             {
                 CatName = title
             };
             ctx.Category.Add(newCat);
             ctx.SaveChanges();
             Console.WriteLine("Новая категория '" + title + "' добавлена");
         }
         else
         {
             Console.WriteLine("Такая новость уже существует");
         }
     }
 }
 public void DeleteNews(string title, DateTime date)
 {
     using (var ctx = new NewsEntities())
     {
         var search = ctx.News.Where(c => c.Title == title && c.Date == date.Date).ToList();
         if (search.Count != 0)
         {
             foreach (var item in search)
             {
                 DeleteCategorysForNews(item.Id_news);
                 ctx.News.Remove(item);
                 ctx.SaveChanges();
                 Console.WriteLine("Новость удалена");
             }
         }
         else
         {
             Console.WriteLine("Такой новости не существует");
         }
     }
 }
 public void DeleteCategory(string nameCat)
 {
     using (var ctx = new NewsEntities())
     {
         var search = ctx.Category.Where(c => c.CatName == nameCat).ToList();
         if (search.Count != 0)
         {
             foreach (var item in search)
             {
                 DeleteCategoryFromAllNews(item.IdCategories);
                 ctx.Category.Remove(item);
                 ctx.SaveChanges();
                 Console.WriteLine("Категория удалена");
             }
         }
         else
         {
             Console.WriteLine("Такой категории не существует");
         }
     }
 }
 public void CreateCategoryForNews(int idCat, int idNews)
 {
     using (var ctx = new NewsEntities())
     {
         var search = ctx.CategoryOfNews.Where(c => c.IdCategory == idCat && c.IdNews == idNews).ToList();
         if (search.Count == 0)
         {
             CategoryOfNews newSvazka = new CategoryOfNews
             {
                 IdNews     = idNews,
                 IdCategory = idCat
             };
             ctx.CategoryOfNews.Add(newSvazka);
             ctx.SaveChanges();
             Console.WriteLine("Новая связка 'idNews = " + idNews + " idCategory =  " + idCat + "' добавлена");
         }
         else
         {
             Console.WriteLine("Такая связка уже существует");
         }
     }
 }
 public void CreateNews(LibNews news)
 {
     using (var ctx = new NewsEntities())
     {
         var search = ctx.News.Where(c => c.Date == news.ReleaseDate.Date && c.Title == news.Title).ToList();
         if (search.Count == 0)
         {
             News newNews = new News
             {
                 Title       = news.Title,
                 Date        = news.ReleaseDate,
                 TextContent = news.TextContent
             };
             ctx.News.Add(newNews);
             ctx.SaveChanges();
             Console.WriteLine("Новая новость '" + news.Title + "' добавлена");
         }
         else
         {
             Console.WriteLine("Такая новость уже существует");
         }
     }
 }