Пример #1
0
        public async Task <IActionResult> OnPostCreateAsync(string editor, string photo, string tag, string cat, bool mainnews)
        {
            if (ModelState.IsValid)
            {
                AspNetNews aspNetNews = new AspNetNews()
                {
                    Title        = Input.Title.Trim(),
                    Url          = Input.Url.Trim(),
                    PreviewPhoto = _context.AspNetPhoto.Any(p => p.Title == photo) ? _context.AspNetPhoto.FirstOrDefault(p => p.Title == photo).Id : 0,
                    PreviewText  = Input.PreviewText,
                    Description  = editor,
                    Tag          = _context.AspNetTag.Any(t => t.Tag == tag) ? _context.AspNetTag.FirstOrDefault(t => t.Tag == tag).Id : 0,
                    Category     = _context.AspNetCategory.Any(c => c.Category == cat) ? _context.AspNetCategory.FirstOrDefault(c => c.Category == cat).Id : 0,
                    MainNews     = mainnews,
                    Blocked      = false,
                    Date         = DateTime.Now,
                    Watching     = 0
                };
                if (aspNetNews.PreviewPhoto == 0 || String.IsNullOrEmpty(aspNetNews.Description) || aspNetNews.Tag == 0 || aspNetNews.Category == 0)
                {
                    StatusMessage = "Ошибка. Один из параметров не валиден!";
                    return(Page());
                }
                _context.AspNetNews.Add(aspNetNews);
                _context.SaveChanges();
                StatusMessage = "Новость успешно добавлена!";
                return(RedirectToPage("./Index"));
            }
            StatusMessage = "Ошибка. Не все поля заполнены!";

            return(Page());
        }
Пример #2
0
 public void OnGet(AspNetNews news)
 {
     Input = new InputModel()
     {
         Author       = news.Author,
         Date         = news.Date,
         Blocked      = news.Blocked,
         Id           = news.Id,
         Description  = news.Description,
         Header       = news.Header,
         PreviewPhoto = news.PreviewPhoto,
         PreviewText  = news.PreviewText,
         Url          = news.Url,
         Watching     = news.Watching
     };
 }
Пример #3
0
 public async Task <IActionResult> OnPostCreateAsync(string editor, string photo)
 {
     if (ModelState.IsValid)
     {
         try
         {
             AspNetNews news = new AspNetNews()
             {
                 Author       = Input.Author,
                 PreviewPhoto = _context.AspNetFiles.FirstOrDefault(p => p.Title == photo).Id,
                 Blocked      = false,
                 Date         = DateTime.Now,
                 Description  = editor,
                 Header       = Input.Header,
                 Likes        = 0,
                 PreviewText  = Input.PreviewText,
                 Share        = 0,
                 Url          = Input.Url,
                 Watching     = 0
             };
             _context.AspNetNews.Add(news);
             _context.SaveChanges();
             StatusMessage = "Новость успешно добавлена на сайт!";
             return(RedirectToPage("./Posts"));
         }
         catch (Exception ex)
         {
             ErrorMessage = "Произошла ошибка, новость не добавлена!";
             return(RedirectToPage("./Posts"));
         }
     }
     else
     {
         return(Page());
     }
 }
Пример #4
0
        public async Task <IActionResult> OnGetUnblockNewsAsync(int newsId)
        {
            if (!_context.AspNetNews.Any(n => n.Id == newsId))
            {
                StatusMessage = "Ошибка. Новость не найдена в базе данных.";
                return(Page());
            }
            AspNetNews news = _context.AspNetNews.FirstOrDefault(n => n.Id == newsId);

            try
            {
                _context.AspNetNews.FirstOrDefault(n => n.Id == newsId).Blocked = false;
                await _context.SaveChangesAsync();

                StatusMessage = "Новость успешно разблокирована.";
            }
            catch
            {
                StatusMessage = "Ошибка при разблокировке новости.";
            }


            return(Page());
        }
Пример #5
0
        public async Task <IActionResult> OnGetDeleteNewsAsync(int newsId)
        {
            if (!_context.AspNetNews.Any(n => n.Id == newsId))
            {
                StatusMessage = "Ошибка. Новость не найдена в базе данных.";
                return(Page());
            }
            AspNetNews news = _context.AspNetNews.FirstOrDefault(n => n.Id == newsId);

            try
            {
                _context.AspNetNews.Remove(news);
                await _context.SaveChangesAsync();

                StatusMessage = "Новость успешно удалена.";
            }
            catch
            {
                StatusMessage = "Ошибка при удалении новости.";
            }


            return(Page());
        }