public void Update(NewsDTO newsDto) { var news = _mapper.Map <News>(newsDto); _db.News.Update(news); _db.Save(); }
public ActionResult AddNews(NewsVM model) { if (ModelState.IsValid) { NewsDTO newNews = new NewsDTO { Slug = model.Headline.Replace(" ", "-").ToLower(), Headline = model.Headline, Heading = model.Heading, NewsBody = model.NewsBody, NewsCaster = User.Identity.GetUserId <int>(), UploadDate = DateTime.UtcNow, TypeId = model.TypeId }; using (DbContext db = new DbContext()) { db.News.Add(newNews); db.SaveChanges(); } TempData["SM"] = "News added successfully, awaiting approval."; return(RedirectToAction("add-news")); } // if we get this far, there is an error model.NewsTypeList = new SelectList(NewsContext.GetAllNewsType(), "TypeId", "Description"); return(View("AddNews", model)); }
public async Task <IActionResult> Edit(NewsDetailsViewModel newsFromView) { NewsDTO newsDTOToChange = await _newsService.GetByIdAsync(newsFromView.Id, HomeController.cancellationToken); if (newsFromView.Id != newsDTOToChange.Id) { return(NotFound()); } if (ModelState.IsValid) { try { newsDTOToChange.Title = newsFromView.Title; newsDTOToChange.Body = newsFromView.Body; newsDTOToChange.SourseURL = newsFromView.SourseURL; newsDTOToChange.EditedOnDate = DateTime.Now; await _newsService.UpdateAsync(newsDTOToChange); } catch { return(NotFound()); } return(RedirectToAction("Index", "Home")); } return(View(newsFromView)); }
public async Task <int> AddNewAsync(NewsDTO newsDTO) { News news = mapper.Map <News>(newsDTO); news.Date = DateTime.Now; return(await unitOfWork.NewRepository.AddAsync(news)); }
public async Task <NewsDTO> GetNews(CredentialsDTO credentials) { string text = GetContentFromEmail(credentials.EmailUsername, credentials.EmailPassword, credentials.EmailSenderFilter); NewsDTO news = GetNews(text); return(news); }
public NewsDTO SaveArticle([FromBody] NewsDTO art) { News article; if (art.Id != 0) { article = context.News.FirstOrDefault(c => c.Id == art.Id); } else { article = new News(); context.News.Add(article); article.CreationDate = DateTime.Now; } if (article == null) { return(null); } article.SiteId = art.SiteId; article.Title = art.Title; article.TitleUa = art.TitleUa; article.Text = art.Text; article.TextUa = art.TextUa; article.Image = art.Image; context.SaveChanges(); art.Id = article.Id; return(art); }
public void UpdateNews(NewsDTO newsDto) { News news = _mapper.Map <NewsDTO, News>(newsDto); Database.News.Update(news); Database.Save(); }
public News Update(NewsDTO newsDTO, int Id, int userId) { var news = _context.News.SingleOrDefault(x => x.Id == Id); if (news == null) { throw new AppException("News not found"); } if (news.OwnerId != userId) { throw new AppException("User is not owner of this news"); } if (news.Status != News.ARCHIVE) { throw new AppException("Action is not allowed"); } _mapper.Map(newsDTO, news); _context.News.Update(news); var ids = newsDTO.ImageIds.Split(',').Select(Int32.Parse).ToList(); foreach (int id in ids) { var image = _context.Images.SingleOrDefault(x => x.ImageId == id); if (image.NewsId == news.Id) { continue; } if (image != null && image.NewsId == 0) { image.NewsId = news.Id; _context.Images.Update(image); } } foreach (NewsAttribute newsAttribute in news.NewsAttribute) { var attr = _context.NewsAttribute.SingleOrDefault(x => x.NewsId == news.Id && x.AttributeId == newsAttribute.AttributeId); if (attr == null) { newsAttribute.NewsId = news.Id; _context.NewsAttribute.Add(newsAttribute); } else { if (attr.Value != newsAttribute.Value) { attr.Value = newsAttribute.Value; _context.NewsAttribute.Update(attr); } } } _context.SaveChanges(); news.Images = _context.Images.Where(x => x.NewsId == news.Id).ToList(); return(news); }
public IEnumerable <NewsDTO> GetNewsDTOs() { var q = from n in db.News join a in db.Accounts on n.AccountId equals a.AccountId select new { n, a }; List <NewsDTO> news = new List <NewsDTO>(); foreach (var item in q) { NewsDTO newsDTO = new NewsDTO { NewsId = item.n.NewsId, Title = item.n.Title, StartDate = item.n.StartDate, SortContent = item.n.SortContent, Content = item.n.Content }; var p = item.n.Imgs.Where(x => x.NewsId == item.n.NewsId).ToList()[0].Picture; newsDTO.Picture = new List <string> { p }; newsDTO.Fullname = item.a.Fullname; news.Add(newsDTO); } return(news); }
public async Task <ActionResult <NewsDTO> > PostNews(NewsDTO newsDTO) { News news = new News(newsDTO); // добавляем неопределенные значения news.TimePublication = DateTime.Now; var categories = _context.Categories.Include(p => p.News).ToList(); var comments = _context.Comments.Include(p => p.CurrNews).ToList(); foreach (int i in news.CategoriesId) { var category = categories.Find(p => p.Id == i); if (category == null) { return(BadRequest("The categories you pointed doesn't exist!")); } news.Categories.Add(category); } foreach (int i in news.CommentsId) { var comment = comments.Find(p => p.Id == i); if (comment == null) { return(BadRequest("The comments you pointed doesn't exist!")); } news.Comments.Add(comment); } _context.News.Add(news); await _context.SaveChangesAsync(); return(CreatedAtAction(nameof(GetNews), new { id = news.Id }, new NewsDTO(news))); }
public async Task <ActionResult <NewsList> > PostNewsItemIntoList(long id, NewsDTO newsItemDTO) { var newsItemList = await _context.NewsLists.FindAsync(id); if (newsItemList == null) { return(NotFound()); } await _context.Entry(newsItemList).Collection(x => x.NewsItem).LoadAsync(); var newsItem = new NewsEntity { Photo = newsItemDTO.Photo, Title = newsItemDTO.Title, Subtitle = newsItemDTO.Subtitle, Body = newsItemDTO.Body }; newsItemList.NewsItem.Add(newsItem); try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) when(!NewsItemListExists(id)) { return(NotFound()); } return(CreatedAtAction("PostNewsItemIntoList", new { id = newsItem.Id }, NewsController.NewsToDTO(newsItem))); }
public DeleteNewsResult Delete(int id) { try { if (id <= 0) { throw new ArgumentNullException(nameof(id)); } NewsDTO savedNews = NewsManager.GetByID(id); if (savedNews == null) { throw new Exception("News not found"); } if (savedNews.CreateUser != Guid.Parse(User.FindFirst(c => c.Type == ClaimTypes.NameIdentifier).Value)) { throw new UnauthorizedAccessException(); } NewsManager.Delete(id); ImageExtensions.DeleteImage(GetNewsImagePath(savedNews.IconName)); return(new DeleteNewsResult()); } catch (Exception ex) { return(new DeleteNewsResult(ex)); } }
public ActionResult EditNews(NewsViewModel newsViewModel) { if (ModelState.IsValid) { foreach (string file in Request.Files) { HttpPostedFileBase hpf = Request.Files[file]; if (hpf.ContentLength != 0) { string path = "/Uploads/"; if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } hpf.SaveAs(Server.MapPath(path) + Path.GetFileName(hpf.FileName)); newsViewModel.Img = path + Path.GetFileName(hpf.FileName); } } NewsDTO newsDto = _mapper.Map <NewsViewModel, NewsDTO>(newsViewModel); _newsService.UpdateNews(newsDto); return(RedirectToAction("News", "Admin")); } else { return(PartialView("_EditNewsFormPartial", newsViewModel)); } }
public ActionResult EditNews(Guid id) { NewsDTO newsDto = _newsService.GetNewsDTOById(id); var newsViewModel = _mapper.Map <NewsDTO, NewsViewModel>(newsDto); return(PartialView("_EditNewsFormPartial", newsViewModel)); }
public News ExpandDTO(NewsDTO newsDTO) { News news = new News(); news.LastModified = newsDTO.LastModified; news.Content = newsDTO.Content; news.Title = newsDTO.Title; if (newsDTO.BackgroundPicture != null) { news.BackgroundPicture = ExpandBackgroundPicture(newsDTO.BackgroundPicture); } foreach (PictureDTO picture in newsDTO.Pictures) { news.Pictures.Add(ExpandPicture(picture, news)); } foreach (AudioDTO audio in newsDTO.AudioRecordings) { Audio aud = new Audio(); aud.BelongsTo = news; aud.Description = audio.Description; aud.Name = audio.Name; news.AudioRecordings.Add(aud); } foreach (CommentDTO comm in newsDTO.Comments) { Comment comment = new Comment(); comment.BelongsTo = news; comment.Content = comm.Content; comment.PostDate = comm.PostDate; news.Comments.Add(comment); } return(news); }
//This Shit needs testing public NewsDTO CreateNews(NewsDTO news, int userId) { NewsDTO dataResult = newsData.CreateNews(news, userId); //if (news.BackgroundPicture != null) //{ // dataResult.BackgroundPicture.PictureData = news.BackgroundPicture.PictureData; //} //TODO ovo uopste ne izgleda dobro, ne znam kako bi bolje mogle da se ucitavaju slike for (int i = 0; i < news.Pictures.Count; i++) { PictureDTO dto = dataResult.Pictures[i]; dto.PictureData = news.Pictures[i].PictureData; } if (dataResult != null) { MessageQueueManager manager = MessageQueueManager.Instance; manager.PublishMessage(dataResult.Id, dataResult.Id, dataResult, MessageOperation.Insert); } return(dataResult); }
public List <NewsDTO> GetNewsModifiedByUser(int userId) { List <NewsDTO> news = new List <NewsDTO>(); ISession session = null; try { session = DataLayer.GetSession(); IEnumerable <NewsModified> retData = from m in session.Query <NewsModified>() where m.User.Id == userId select m; foreach (NewsModified m in retData) { if (!news.Exists(x => x.Id == m.News.Id)) { NewsDTO dto = new NewsDTO(m.News); //var newestDate = m.News.Modifications.Max(x => x.ModificationDate); //int LastModifiedUser = m.News.Modifications.First(x => x.ModificationDate == newestDate).Id; //dto.LastModifiedUser = new UserDTO(session.Load<User>(LastModifiedUser)); news.Add(dto); } } session.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); if (session != null) { session.Close(); } } return(news); }
//Update public int?Update(NewsDTO entity) { try { using (MySqlConnection conn = _con.GetConnection()) { conn.Open(); MySqlCommand cmd = new MySqlCommand("UPDATE news SET NewsTitle = ?NewsTitle,NewsSubject = ?NewsSubject, NewsDate = ?NewsDate, " + "NewsArticle = ?NewsArticle WHERE NewsID = ?id", conn); //where id is cmd.Parameters.AddWithValue("id", entity.NewsID); //values cmd.Parameters.AddWithValue("NewsTitle", entity.NewsTitle ?? (object)DBNull.Value); cmd.Parameters.AddWithValue("NewsSubject", entity.NewsSubject ?? (object)DBNull.Value); cmd.Parameters.AddWithValue("NewsDate", entity.NewsDate ?? (object)DBNull.Value); cmd.Parameters.AddWithValue("NewsArticle", entity.NewsArticle ?? (object)DBNull.Value); //execute command int rowsAffected = cmd.ExecuteNonQuery(); //should return if a row is affected or not return(rowsAffected); } } catch (Exception ex) { throw new ContextErrorException(ex); } }
public void AddNews(NewsDTO newsDto) { News news = _mapper.Map <NewsDTO, News>(newsDto); Database.News.Create(news); Database.Save(); }
//Create public int?Add(NewsDTO entity) { try { using (MySqlConnection conn = _con.GetConnection()) { conn.Open(); MySqlCommand cmd = new MySqlCommand("INSERT INTO news (NewsTitle,NewsSubject,NewsDate,NewsArticle) " + "VALUES(?NewsTitle,?NewsSubject,?NewsDate,?NewsArticle)", conn); //values cmd.Parameters.AddWithValue("NewsTitle", entity.NewsTitle ?? (object)DBNull.Value); cmd.Parameters.AddWithValue("NewsSubject", entity.NewsSubject ?? (object)DBNull.Value); cmd.Parameters.AddWithValue("NewsDate", entity.NewsDate ?? (object)DBNull.Value); cmd.Parameters.AddWithValue("NewsArticle", entity.NewsArticle ?? (object)DBNull.Value); //execute command int rowsAffected = cmd.ExecuteNonQuery(); //should return if a row is affected or not return(rowsAffected); } } catch (Exception ex) { throw new ContextErrorException(ex); } }
public ActionResult GetDetailNews(Guid id) { NewsDTO newsDto = _newsService.GetNewsDTOById(id); var newsViewModel = _mapper.Map <NewsDTO, NewsViewModel>(newsDto); return(View(newsViewModel)); }
public NewsDTO GetByID(int?id) { try { NewsDTO news = new NewsDTO(); using (MySqlConnection conn = _con.GetConnection()) { conn.Open(); MySqlCommand cmd = new MySqlCommand("SELECT NewsID,NewsTitle,NewsSubject,NewsDate,NewsArticle FROM news WHERE NewsID = ?id", conn); cmd.Parameters.AddWithValue("id", id); using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { news.NewsID = reader[0] as int? ?? default; news.NewsTitle = reader[1] as string ?? default; news.NewsSubject = reader[2] as string ?? default; news.NewsDate = reader[3] as DateTime? ?? default; news.NewsArticle = reader[4] as string ?? default; } } } return(news); } catch (Exception ex) { throw new ContextErrorException(ex); } }
public async Task <IActionResult> Post(IFormFile files, string Text, string Title, string Course) { // full path to file in temp location var filePath = "/images/" + files.FileName; using (var fileStream = new FileStream(appEnvironment.WebRootPath + filePath, FileMode.Create)) { await files.CopyToAsync(fileStream); } if (filePath == null) { filePath = " "; } var course = courseManager.Get().Where(e => e.Name == Course).FirstOrDefault(); NewsDTO newsDTO = new NewsDTO() { Text = Text, Title = Title, ImagePath = filePath, Day = DateTime.Today.Day, Month = Enum.GetName(typeof(MonthEnum), DateTime.Today.Month - 1), CourseId = course.Id }; newsManager.Insert(newsDTO); var news = newsManager.GetAll().ToList(); var courses = courseManager.GetAll().ToList(); return(RedirectToAction("News")); }
public NewsDTO GetNews(int newsId) { ISession session = null; NewsDTO result = null; try { session = DataLayer.GetSession(); News news = session.Load <News>(newsId); result = new NewsDTO(news); var newestDate = news.Modifications.Max(x => x.ModificationDate); int LastModifiedUser = news.Modifications.First(x => x.ModificationDate == newestDate).Id; result.LastModifiedUser = new UserDTO(session.Load <User>(LastModifiedUser)); session.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); if (session != null) { session.Close(); } } return(result); }
public async Task CreateNews([FromBody] NewsDTO news) { if (ModelState.IsValid) { await _newsService.CreateNews(news); } }
public List <NewsDTO> GetAllNews() { List <NewsDTO> news = new List <NewsDTO>(); ISession session = null; try { session = DataLayer.GetSession(); IEnumerable <News> retData = from n in session.QueryOver <News>().List() select n; foreach (News n in retData) { NewsDTO dto = new NewsDTO(n); //var newestDate = n.Modifications.Max(x => x.ModificationDate); //int LastModifiedUser = n.Modifications.First(x => x.ModificationDate == newestDate).User.Id; //dto.LastModifiedUser = new UserDTO(session.Load<User>(LastModifiedUser)); news.Add(dto); } session.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); if (session != null) { session.Close(); } } return(news); }
public IActionResult Patch(Guid id, [FromForm] NewsDTO value) { var session = HttpContext.Session.GetString("userId"); if (session == null || Guid.Parse(session) != newsCollection.Find(n => n.Id == id).FirstOrDefault().AuthorId) { return(StatusCode(403)); } var arr = new List <UpdateDefinition <News> >(); var update = Builders <News> .Update; if (value.Title != null) { arr.Add(update.Set(n => n.Title, value.Title)); } if (value.Content != null) { arr.Add(update.Set(n => n.Content, value.Content)); } arr.Add(update.Set(n => n.Date, DateTime.Now)); var updateResult = newsCollection.UpdateOne(n => n.Id == id, update.Combine(arr)); if (updateResult.MatchedCount == 0) { return(NotFound("News with this id not found")); } return(new ObjectResult(newsCollection.Find(n => n.Id == id).FirstOrDefault())); }
public NewsDTO DeleteNews(int newsId) { ISession session = null; NewsDTO result = null; try { session = DataLayer.GetSession(); News news = session.Load <News>(newsId); result = new NewsDTO(news); session.Delete(news); session.Flush(); session.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); if (session != null) { session.Close(); } } return(result); }
public async Task <IActionResult> Details(Guid id) { //var n = HttpContext.User.Identity.Name; if (id == null) { return(NotFound()); } NewsDTO newsDTObyId = await _newsService.GetByIdAsync(id, HomeController.cancellationToken); if (newsDTObyId == null) { return(NotFound()); } NewsDetailsViewModel _newsDetailsViewModel = new NewsDetailsViewModel() { Id = newsDTObyId.Id, Title = newsDTObyId.Title, Body = newsDTObyId.Body, SourseURL = newsDTObyId.SourseURL, CreatedOnDate = newsDTObyId.CreatedOnDate, EditedOnDate = newsDTObyId.EditedOnDate, }; return(View(_newsDetailsViewModel)); }
public void Insert(NewsDTO newsDto) { var news = _mapper.Map <News>(newsDto); _db.News.Insert(news); _db.Save(); }