public IActionResult PostStory([FromBody] NewsStory story) { Console.WriteLine($"PostStory controller: {story.Title} {story.Author} {story.Tag}"); broker.Put(story); return(Ok()); }
public void ModifyNewsStory_IncorrectData_ShouldThrowException() { var typeOfRepository = typeof(GenericRepository <NewsStory>); var repository = Activator.CreateInstance( typeOfRepository, this.TestNewsContext) as IRepository <NewsStory>; var newsStoryExpected = new NewsStory() { Title = "", Content = "TestNewsStory1Modified", PublishDate = DateTime.Now, }; var newsStoryEntity = repository.All().FirstOrDefault(n => n.Title == "TestNewsStory1"); newsStoryEntity.Title = newsStoryExpected.Title; newsStoryEntity.Content = newsStoryExpected.Content; newsStoryEntity.PublishDate = newsStoryExpected.PublishDate; try { this.TestNewsContext.SaveChanges(); } catch (DbEntityValidationException) { var entry = this.TestNewsContext.Entry(newsStoryEntity); entry.State = EntityState.Detached; throw; } }
public void CreateNewsStory_IncorrectData_ShouldThrowException() { var typeOfRepository = typeof(GenericRepository<NewsStory>); var repository = Activator.CreateInstance( typeOfRepository, this.TestNewsContext) as IRepository<NewsStory>; var newsStoryExpected = new NewsStory() { Title = "", Content = "TestNewsStory4", PublishDate = DateTime.Now.AddDays(-20) }; repository.Add(newsStoryExpected); try { this.TestNewsContext.SaveChanges(); } catch (DbEntityValidationException) { var entry = this.TestNewsContext.Entry(newsStoryExpected); entry.State = EntityState.Detached; throw; } }
public void CreateNewsStory_IncorrectData_ShouldThrowException() { var typeOfRepository = typeof(GenericRepository <NewsStory>); var repository = Activator.CreateInstance( typeOfRepository, this.TestNewsContext) as IRepository <NewsStory>; var newsStoryExpected = new NewsStory() { Title = "", Content = "TestNewsStory4", PublishDate = DateTime.Now.AddDays(-20) }; repository.Add(newsStoryExpected); try { this.TestNewsContext.SaveChanges(); } catch (DbEntityValidationException) { var entry = this.TestNewsContext.Entry(newsStoryExpected); entry.State = EntityState.Detached; throw; } }
public void ModifyNewsStory_CorrectData_ShouldModifyTheNewsStoryCorrectly() { var typeOfRepository = typeof(GenericRepository <NewsStory>); var repository = Activator.CreateInstance( typeOfRepository, this.TestNewsContext) as IRepository <NewsStory>; var newsStoryExpected = new NewsStory() { Title = "TestNewsStory1Modified", Content = "TestNewsStory1Modified", PublishDate = DateTime.Now, }; var newsStoryEntity = repository.All().FirstOrDefault(n => n.Title == "TestNewsStory1"); newsStoryEntity.Title = newsStoryExpected.Title; newsStoryEntity.Content = newsStoryExpected.Content; newsStoryEntity.PublishDate = newsStoryExpected.PublishDate; this.TestNewsContext.SaveChanges(); var newsStoryEntityModified = repository.All().FirstOrDefault(n => n.Title == "TestNewsStory1Modified"); Assert.AreEqual(newsStoryExpected, newsStoryEntityModified); }
public void ModifyNewsStory_CorrectData_ShouldModifyNewsStory() { var mockContext = new Mock <INewsData>(); mockContext.Setup(m => m.News) .Returns(this.mocks.NewsStoriesRepositoryMock.Object); var newsStoriesController = new NewsStoriesController(mockContext.Object) { Request = new HttpRequestMessage(), Configuration = new HttpConfiguration() }; var publishDate = DateTime.Now.AddDays(-40); var editNewsStoryResponse = newsStoriesController.EditNewsStory(1, new NewsStoryBindingModel() { Title = "TestNewsStory1Modified", Content = "TestNewsStory1Modified", PublishDate = publishDate }).ExecuteAsync(new CancellationToken()).Result; Assert.AreEqual(HttpStatusCode.OK, editNewsStoryResponse.StatusCode); var newsStoryModifiedExpected = new NewsStory() { Title = "TestNewsStory1Modified", Content = "TestNewsStory1Modified", PublishDate = publishDate }; var newsStoryModified = this.mocks.NewsStoriesRepositoryMock.Object.Find(1); Assert.AreEqual(newsStoryModifiedExpected, newsStoryModified); }
public ActionResult DeleteConfirmed(int id) { NewsStory newsStory = db.NewsStories.Find(id); db.NewsStories.Remove(newsStory); db.SaveChanges(); return(RedirectToAction("Index")); }
public async Task <IEnumerable <NewsStory> > GetNewsStoryListAsync(int startAtOffset = -1, int perPageLimit = -1) { var newestStoryList = new List <NewsStory>(); // Get full list of keys var storyKeys = await GetStoryKeysAsync(); int i = (startAtOffset <= 0 ? 0 : startAtOffset); var pageStopIndex = perPageLimit <= 0 ? NewsSourceConfig.DefaultStoryLimit : (startAtOffset + perPageLimit); _logger.LogDebug("Paging startAtOffset: {startAtOffset}, page: {page} [pageStopIndex: {pageStopIndex}] ", startAtOffset, perPageLimit, pageStopIndex); for (; i < storyKeys.Count; i++) { if (i >= pageStopIndex) { break; } // Jump to key at startAtOffset var storyKey = storyKeys[i]; // Check for key in cache NewsStory cacheEntry; if (!_cache.TryGetValue(storyKey, out cacheEntry)) { // Get detail for key var storyDetail = await GetStoryDetailAsync(storyKey); if (storyDetail == null) { _logger.LogInformation("Story {storyKey} has empty detail. ", storyKey); continue; } // Create entry var newsStory = new NewsStory() { Id = storyKey, Title = storyDetail.title, URL = storyDetail.url ?? "", Detail = storyDetail.text ?? "" }; var cacheEntryOptions = new MemoryCacheEntryOptions() .SetSize(1) .SetAbsoluteExpiration(TimeSpan.FromMinutes(CACHE_TTL_ITEM_MAX_MINS)); // Store in cache cacheEntry = _cache.Set(storyKey, newsStory, cacheEntryOptions); } newestStoryList.Add(cacheEntry); } return(newestStoryList); }
public ActionResult Edit([Bind(Include = "ID,Title,SubTitle,Author,Date,StoryImgPath,StoryBody")] NewsStory newsStory) { if (ModelState.IsValid) { db.Entry(newsStory).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(newsStory)); }
private bool FindNewsStoryByID(int id, out NewsStory newsStory) { newsStory = this.Data.News.Find(id); if (newsStory == null) { return(false); } return(true); }
public ActionResult Create([Bind(Include = "ID,Title,SubTitle,Author,Date,StoryImgPath,StoryBody")] NewsStory newsStory) { if (ModelState.IsValid) { db.NewsStories.Add(newsStory); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(newsStory)); }
public ActionResult Edit([Bind(Include = "NewsStoryID,UserId,Title,Content,DateCreated")] NewsStory newsStory) { if (ModelState.IsValid) { db.Entry(newsStory).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(newsStory)); }
public ActionResult NewsStory(ContentModel contentModel) { var model = new NewsStory(contentModel?.Content); model.Metadata = new ViewMetadata { PageTitle = model.Name, Description = model.Description }; return(CurrentTemplate(model)); }
void rprNews_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem) { return; } Literal litStory = (Literal)e.Item.FindControl("litStory"); HtmlAnchor linkNews = (HtmlAnchor)e.Item.FindControl("linkNews"); NewsStory story = (NewsStory)e.Item.DataItem; litStory.Text = string.Format("{0:MM.dd.yy}-{1}", story.PubDate, story.Title); linkNews.HRef = "/news-story.aspx?Id=" + story.ID; }
public void Create(NewsStory newsStory) { var newStory = new NewStory() { Title = newsStory.TopTitle, NewsStory = newsStory.Body, ImagePath = newsStory.Imageloc, SupplierID = newsStory.Supplier.SupplierId, SupplierStoryRef = $"{newsStory.Id}", AddedDateTime = DateTime.Now }; _newStoryRepository.Create(newStory); }
// GET: News/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } NewsStory newsStory = db.NewsStories.Find(id); if (newsStory == null) { return(HttpNotFound()); } return(View(newsStory)); }
public static NewsStoryDTO ToDTO(NewsStory ns) { return(new NewsStoryDTO { Id = ns.Id, Title = ns.Title, SecondaryTitle = ns.SecondaryTitle, StoryTypeDescription = ((StoryTypes)ns.StoryType).FormattedName(), Author = AuthorDTO.ToDTO(ns.Author), PublishedDate = ns.PublishedDate, PreviewHtml = ns.PreviewHtml, TopSectionHtml = ns.TopSectionHtml, MidSectionHtml = ns.MidSectionHtml, StoryImage = $"/images/news/{ns.StoryImage}", TitleUrl = StringExtensions.URLFriendly(ns.Title) }); }
public void ModifyNewsStory_NonExistingNewsStory_ShouldThrowException() { var typeOfRepository = typeof(GenericRepository <NewsStory>); var repository = Activator.CreateInstance( typeOfRepository, this.TestNewsContext) as IRepository <NewsStory>; var newsStoryExpected = new NewsStory() { Title = "", Content = "TestNewsStory1Modified", PublishDate = DateTime.Now, }; var newsStoryEntity = repository.All().FirstOrDefault(n => n.Title == "TestNewsStory10"); newsStoryEntity.Title = newsStoryExpected.Title; newsStoryEntity.Content = newsStoryExpected.Content; newsStoryEntity.PublishDate = newsStoryExpected.PublishDate; }
public void CreateNewsStory_CorrectData_ShouldCreateAndReturnNewsStory() { var typeOfRepository = typeof(GenericRepository <NewsStory>); var repository = Activator.CreateInstance( typeOfRepository, this.TestNewsContext) as IRepository <NewsStory>; var newsStoryExpected = new NewsStory() { Title = "TestNewsStory4", Content = "TestNewsStory4", PublishDate = DateTime.Now }; repository.Add(newsStoryExpected); this.TestNewsContext.SaveChanges(); var newsStoryCreated = repository.All().FirstOrDefault(n => n.Title == "TestNewsStory4"); Assert.AreEqual(newsStoryExpected, newsStoryCreated); }
public void CreateNewsStory_CorrectData_ShouldCreateAndReturnNewsStory() { var typeOfRepository = typeof(GenericRepository<NewsStory>); var repository = Activator.CreateInstance( typeOfRepository, this.TestNewsContext) as IRepository<NewsStory>; var newsStoryExpected = new NewsStory() { Title = "TestNewsStory4", Content = "TestNewsStory4", PublishDate = DateTime.Now }; repository.Add(newsStoryExpected); this.TestNewsContext.SaveChanges(); var newsStoryCreated = repository.All().FirstOrDefault(n => n.Title == "TestNewsStory4"); Assert.AreEqual(newsStoryExpected, newsStoryCreated); }
public IHttpActionResult CreateNewsStory([FromBody] NewsStoryBindingModel model) { if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var newsStory = new NewsStory() { Title = model.Title, Content = model.Content, PublishDate = model.PublishDate }; this.Data.News.Add(newsStory); try { this.Data.SaveChanges(); var newNewsStory = this.Data.News.All().FirstOrDefault(n => n.Title == model.Title); if (newNewsStory == null) { return(this.BadRequest("There was an error creating news story")); } return(this.Created(string.Format("{0}", newNewsStory.Id), newNewsStory)); } catch (DbUpdateException ex) { return(this.BadRequest(string.Format("A news story with title {0} already exists.", model.Title))); } catch (Exception ex) { return(this.BadRequest("There was a problem creating news story. Please try again")); } }
public void Delete(NewsStory newsStory) { throw new NotImplementedException(); }
public void ModifyNewsStory_CorrectData_ShouldModifyTheNewsStoryCorrectly() { var typeOfRepository = typeof(GenericRepository<NewsStory>); var repository = Activator.CreateInstance( typeOfRepository, this.TestNewsContext) as IRepository<NewsStory>; var newsStoryExpected = new NewsStory() { Title = "TestNewsStory1Modified", Content = "TestNewsStory1Modified", PublishDate = DateTime.Now, }; var newsStoryEntity = repository.All().FirstOrDefault(n => n.Title == "TestNewsStory1"); newsStoryEntity.Title = newsStoryExpected.Title; newsStoryEntity.Content = newsStoryExpected.Content; newsStoryEntity.PublishDate = newsStoryExpected.PublishDate; this.TestNewsContext.SaveChanges(); var newsStoryEntityModified = repository.All().FirstOrDefault(n => n.Title == "TestNewsStory1Modified"); Assert.AreEqual(newsStoryExpected, newsStoryEntityModified); }
public void ModifyNewsStory_IncorrectData_ShouldThrowException() { var typeOfRepository = typeof(GenericRepository<NewsStory>); var repository = Activator.CreateInstance( typeOfRepository, this.TestNewsContext) as IRepository<NewsStory>; var newsStoryExpected = new NewsStory() { Title = "", Content = "TestNewsStory1Modified", PublishDate = DateTime.Now, }; var newsStoryEntity = repository.All().FirstOrDefault(n => n.Title == "TestNewsStory1"); newsStoryEntity.Title = newsStoryExpected.Title; newsStoryEntity.Content = newsStoryExpected.Content; newsStoryEntity.PublishDate = newsStoryExpected.PublishDate; try { this.TestNewsContext.SaveChanges(); } catch (DbEntityValidationException) { var entry = this.TestNewsContext.Entry(newsStoryEntity); entry.State = EntityState.Detached; throw; } }
public void ModifyNewsStory_NonExistingNewsStory_ShouldThrowException() { var typeOfRepository = typeof(GenericRepository<NewsStory>); var repository = Activator.CreateInstance( typeOfRepository, this.TestNewsContext) as IRepository<NewsStory>; var newsStoryExpected = new NewsStory() { Title = "", Content = "TestNewsStory1Modified", PublishDate = DateTime.Now, }; var newsStoryEntity = repository.All().FirstOrDefault(n => n.Title == "TestNewsStory10"); newsStoryEntity.Title = newsStoryExpected.Title; newsStoryEntity.Content = newsStoryExpected.Content; newsStoryEntity.PublishDate = newsStoryExpected.PublishDate; }
public ActionResult Create([Bind(Include = "Title,Content")] NewsStory newsStory, HttpPostedFileBase image) { if (ModelState.IsValid) { if (image != null && image.ContentLength > 0) { //Creating new Image entity var newsImage = new Image { ImageName = System.IO.Path.GetFileName(image.FileName), }; //Setting ImageContent as a byte array of the image file using (var reader = new System.IO.BinaryReader(image.InputStream)) { newsImage.ImageContent = reader.ReadBytes(image.ContentLength); } //Resizing the image WebImage resizedImage = new WebImage(newsImage.ImageContent); resizedImage.Resize(300, 200, false); newsImage.ImageContent = resizedImage.GetBytes(); newsStory.Image = newsImage; } //Creating a List to hold the KeyWord objects that are going to be associated with the current NewsStory List <KeyWord> allkeywords = new List <KeyWord>(); var inputKeywords = Request["KeyWords"]; var keywords = inputKeywords.Split(',').Select(p => p.Trim()); foreach (var word in keywords) { KeyWord keyword = new KeyWord(); keyword.keyWordContent = word; bool exists = db.KeyWords.AsEnumerable().Where(c => c.keyWordContent.Equals(word)).Count() > 0; /*Checking if the keyword already exists in the KeyWords DB table * and if exists, mapping the current NewsStory to the existing keywords*/ if (exists) { var existingkeys = db.KeyWords.Where(c => c.keyWordContent.Equals(word)).ToList(); foreach (var kw in existingkeys) { allkeywords.Add(kw); } } else { allkeywords.Add(keyword); } } newsStory.KeyWords = allkeywords; newsStory.DateCreated = DateTime.Now; newsStory.UserId = User.Identity.GetUserId(); db.NewsStories.Add(newsStory); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(newsStory)); }
public NewsLandingPageViewModel() { NewsCategory = new Category(); TopStory = new NewsStory(); OtherStories = new List <NewsStory>(); }
public NewsLandingPageViewModel() { NewsCategory = new Category(); TopStory = new NewsStory(); OtherStories = new List<NewsStory>(); }
public void Get_NewsStory_Object_From_NewStory_Service() { _newsStory = _newStoryService.FetchNewsStory(xmlTestFile); _newsStory.Should().NotBeNull().And.BeOfType <NewsStory>().Which.Id.Equals("Apples_64"); }