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