public async void TestForGetLeagueArticleById() { var options = new DbContextOptionsBuilder <NewsContext>() .UseInMemoryDatabase(databaseName: "p3NewsService") .Options; using (var context = new NewsContext(options)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); Repo r = new Repo(context, new NullLogger <Repo>()); var leagueArticle = new LeagueArticle { ArticleID = Guid.NewGuid(), Title = "goodnews!", Body = "wewon!", IsPinned = true, IsVisible = true }; r.LeagueArticles.Add(leagueArticle); await r.CommitSave(); var leagueArticle2 = await r.GetLeagueArticleById(leagueArticle.ArticleID); Assert.True(leagueArticle2.Equals(leagueArticle)); } }
static CategoryRepository() { using (var db = new NewsContext()) { _categories = db.Categories.ToList(); } }
public async void TestForCreateLeagueArticle() { //for coverage var dbContext = new NewsContext(); var options = new DbContextOptionsBuilder <NewsContext>() .UseInMemoryDatabase(databaseName: "p3NewsService") .Options; using (var context = new NewsContext(options)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); Repo r = new Repo(context, new NullLogger <Repo>()); Logic logic = new Logic(r, new NullLogger <Repo>()); NewsController newsController = new NewsController(logic); var leagueArticleDto = new LeagueArticleDto() { ArticleID = Guid.NewGuid(), Title = "free hotdogs", Content = "come today to get your hotdogs!", Date = DateTime.Now, IsPinned = true, IsVisible = true }; await newsController.CreateLeagueArticle(leagueArticleDto); Assert.NotNull(context.LeagueArticles); } }
public async void TestForGetPinnedLeagueArticles() { var options = new DbContextOptionsBuilder <NewsContext>() .UseInMemoryDatabase(databaseName: "p3NewsService") .Options; using (var context = new NewsContext(options)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); Repo r = new Repo(context, new NullLogger <Repo>()); Logic logic = new Logic(r, new NullLogger <Repo>()); NewsController newsController = new NewsController(logic); var leagueArticle = new LeagueArticle() { ArticleID = Guid.NewGuid(), Title = "free hotdogs", Body = "come today to get your hotdogs!", Date = DateTime.Now, IsPinned = true, IsVisible = true }; r.LeagueArticles.Add(leagueArticle); await r.CommitSave(); var pinnedLeagueArticle = await newsController.GetPinnedLeagueArticles(); var convertedArticle = (List <LeagueArticleDto>)pinnedLeagueArticle; Assert.True(convertedArticle[0].Content.Equals(leagueArticle.Body)); } }
public async void TestForDeleteTeamArticle() { var options = new DbContextOptionsBuilder <NewsContext>() .UseInMemoryDatabase(databaseName: "p3NewsService") .Options; using (var context = new NewsContext(options)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); Repo r = new Repo(context, new NullLogger <Repo>()); Logic logic = new Logic(r, new NullLogger <Repo>()); NewsController newsController = new NewsController(logic); var teamArticle = new TeamArticle() { ArticleID = Guid.NewGuid(), Title = "free hotdogs", Body = "come today to get your hotdogs!", Date = DateTime.Now, IsPinned = true, IsVisible = true, TeamID = Guid.NewGuid() }; r.TeamArticles.Add(teamArticle); await r.CommitSave(); Assert.NotEmpty(context.TeamArticles); await newsController.DeleteTeamArticle(teamArticle.ArticleID); Assert.Null(context.TeamArticles.Find(teamArticle.ArticleID)); } }
private async Task AutoUpdateFeed(System.Timers.Timer timernew) { await Task.Factory.StartNew(() => { var currentDatetime = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time")); var time = currentDatetime.ToString("hh:mm tt"); try { var feedMgr = IoC.Initialize().GetInstance <IFeedMgr>(); using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new System.TimeSpan(0, 30, 0))) { using (NewsContext _context = new NewsContext()) { Transaction rootTr = Transaction.Current; var itemFeeds = _context.FeedNames; var rssFeeds = _context.NewsItems; foreach (var itemUrl in itemFeeds) { DependentTransaction dt = rootTr.DependentClone(DependentCloneOption.RollbackIfNotComplete); var rssData = feedMgr.ParseFeedUrl(itemUrl.Url, false); _newsFeedMgr.Save(rssData); dt.Complete(); } _context.Dispose(); } scope.Complete(); } timernew.Start(); } catch (Exception ex) { throw ex; } }); }
static void Main(string[] args) { var contextOne = new NewsContext(); var contextTwo = new NewsContext(); ConcurrencyTest(contextOne, contextTwo); }
public async Task GetAllNews_ShouldReturnAllNews() { // Arrange var options = new DbContextOptionsBuilder <NewsContext>() .UseInMemoryDatabase(databaseName: "codeartists_test") .Options; using (var context = new NewsContext(options)) { var news = new News() { Id = 1, Header = "Code Artists", Content = "Hello world!" }; context.News.Add(news); context.SaveChanges(); } // Act var response = await _client.GetAsync("/api/News?GetAll"); response.EnsureSuccessStatusCode(); var responseString = await response.Content.ReadAsStringAsync(); var listOfNews = JsonConvert.DeserializeObject <JsonDataResponse>(responseString); // Assert Assert.True(((JArray)listOfNews.Data).Count > 0); }
public Configuration() { this.AutomaticMigrationsEnabled = true; this.AutomaticMigrationDataLossAllowed = true; this.context = new NewsContext(); //this.Seed(this.context); }
private static void SeedDatabase() { var context = new NewsContext(); context.News.Add( new News { Title = "Title 1", Content = "Content 11111", PublishDate = new DateTime(2015, 1, 1) }); context.News.Add( new News { Title = "Title 2", Content = "Content 22222", PublishDate = new DateTime(2015, 2, 2) }); context.News.Add( new News { Title = "Title 3", Content = "Content 33333", PublishDate = new DateTime(2015, 3, 3) }); context.News.Add( new News { Title = "Title 4", Content = "Content 44444", PublishDate = new DateTime(2015, 4, 4) }); context.News.Add( new News { Title = "Title 5", Content = "Content 55555", PublishDate = new DateTime(2015, 5, 5) }); context.SaveChanges(); }
private Task <int> GetCollectionSizeAsync(NewsContext db) { return(Task.Run(() => { return db.NewsSet.Count(); })); }
public void Delete_NonExisting_News_Should_Return_400BadRequest() { var context = new NewsContext(); var newsInDbBeforeDeleting = context.News.ToList(); var nonExistingNewsId = -1; Random rnd = new Random(); while (true) { int id = rnd.Next(1, int.MaxValue); var newsInDb = newsInDbBeforeDeleting .FirstOrDefault(n => n.Id == id); if (newsInDb == null) { nonExistingNewsId = id; break; } } var endpointWithId = Endpoint + "/" + nonExistingNewsId; var response = httpClient.DeleteAsync(endpointWithId).Result; var newsInDbAfterDeleting = context.News.ToList(); Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); Assert.AreEqual(newsInDbBeforeDeleting.Count, newsInDbAfterDeleting.Count); }
public NewsController(/*INewsLangsRepository _newsLangsRepository,*/ IStringLocalizer <NewsController> localizer, INewsRepository _repository, NewsContext context) { //newsLangsRepository = _newsLangsRepository; _localizer = localizer; repository = _repository; this.context = context; }
private static void HandleConcurrentUpdates() { using (var context = new NewsContext()) { var firstNews = context.News.FirstOrDefault(); Console.WriteLine("Text from DB: {0}", firstNews.Content); Console.WriteLine("Enter the corrected text: "); var newContent = Console.ReadLine(); firstNews.Content = newContent; try { context.SaveChanges(); Console.WriteLine("Changes successfully saved in the DB."); } catch (DbUpdateConcurrencyException) { Console.WriteLine("Conflict!"); HandleConcurrentUpdates(); } } }
public ActionResult Create(UserNews login) { try { string fileName = Path.GetFileNameWithoutExtension(login.ImageFile.FileName); string extension = Path.GetExtension(login.ImageFile.FileName); fileName = fileName + DateTime.Now.ToString("yymmssfff") + extension; login.Foto = "~/Image/" + fileName; fileName = Path.Combine(Server.MapPath("~/Image/"), fileName); login.ImageFile.SaveAs(fileName); using (NewsContext dbModel = new NewsContext()) { News new_table = new News(); new_table.Data = login.Data; new_table.Noutati = login.Noutati; new_table.Foto = login.Foto; dbModel.New.Add(new_table); dbModel.SaveChanges(); } ModelState.Clear(); return(RedirectToAction("Index")); } catch { return(View()); } }
private static void CleanDatabase() { var context = new NewsContext(); context.News.Delete(); context.SaveChanges(); }
public NewsController(NewsContext context, IMapper mapper, EventBusRabbitMQ eventBusRabbitMQ) { _context = context; _mapper = mapper; _eventBus = eventBusRabbitMQ; }
private static void PrintNewsContent(int id) { var db = new NewsContext(); var newsToChange = db.News.Find(id); Console.WriteLine(newsToChange.Content); }
static void Main(string[] args) { var db = new NewsContext(); bool hasChange = false; var firstUser = new NewsContext(); var secondUser = new NewsContext(); int id = 1; ChangeContentValue(firstUser, id, ref hasChange); Console.WriteLine(hasChange); ChangeContentValue(secondUser, id, ref hasChange); firstUser.SaveChanges(); try { secondUser.SaveChanges(); } catch (DbUpdateConcurrencyException) { Console.WriteLine("Conflict! Text from DB: "); PrintNewsContent(id); ChangeContentValue(secondUser, id, ref hasChange); Console.WriteLine("Changes successfully saved in the DB."); } }
public async void TestForGetVisibleTeamArticles() { var options = new DbContextOptionsBuilder <NewsContext>() .UseInMemoryDatabase(databaseName: "p3NewsService") .Options; using (var context = new NewsContext(options)) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); Repo r = new Repo(context, new NullLogger <Repo>()); var teamArticle = new TeamArticle { ArticleID = Guid.NewGuid(), TeamID = Guid.NewGuid(), Title = "Start of season", Body = "Let's win them all!", IsVisible = true, IsPinned = true }; r.TeamArticles.Add(teamArticle); await r.CommitSave(); var teamArticle2 = await r.GetVisibleTeamArticles(); var convertedList = (List <TeamArticle>)teamArticle2; Assert.True(convertedList[0].Equals(teamArticle)); } }
static NewsRepository() { using (var db = new NewsContext()) { _haberler = db.News.ToList(); } }
private List <TagModel> GetChildrenInner(Guid id, string parentPath) { using (var context = new NewsContext()) { var results = context .Tags .Where(x => x.ParentId == id) .Select(x => new TagModel { Id = x.Id, Title = x.Title, ShowInNav = x.ShowInNav, SortOrder = x.SortOrder }) .ToList(); results = GetChildren(results); results = _tagPathService.SetPaths(results); results = TagListExtensions.Order(results); return(results); } }
public ActionResult Edit(News news, HttpPostedFileBase fileAvatar) { if (fileAvatar == null) { news.Avatar = null; } else { news.Avatar = fileAvatar.FileName.ToString(); } NewsContext newsBL = new NewsContext(); if (newsBL.Update(news) >= 0) { string SaveLocation = Server.MapPath("~/Content/imgs") + "\\" + news.Avatar; if (fileAvatar != null) { try { fileAvatar.SaveAs(SaveLocation); } catch (Exception ex) { Response.Write("Error: " + ex.Message); } } return(RedirectToAction("Index")); } else { return(View()); } }
public ActionResult Delete(int id) { NewsContext newsContext = new NewsContext(); newsContext.Delete(id); return(RedirectToAction("Index")); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, NewsContext context) { // Enable middleware to serve generated Swagger as a JSON endpoint. app.UseSwagger(); // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), // specifying the Swagger JSON endpoint. app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); }); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseCors("MyPolicy"); app.UseAuthentication(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); DBInitializer.Initialize(context); }
public ActionResult Create(News news, HttpPostedFileBase fileAvatar) { NewsContext newsBL = new NewsContext(); if (fileAvatar == null) { return(RedirectToAction("Index")); } String nameFile = System.IO.Path.GetFileName(fileAvatar.FileName); news.Avatar = nameFile; if (newsBL.Create(news) > 0) { string SaveLocation = Server.MapPath("~/Content/imgs") + "\\" + nameFile; try { fileAvatar.SaveAs(SaveLocation); } catch (Exception ex) { Response.Write("Error: " + ex.Message); } } return(RedirectToAction("Index")); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseBrowserLink(); app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); }); NewsContext news = app.ApplicationServices.GetRequiredService <NewsContext>(); DbInitializer.Initialize(news); }
public ActionResult Edit(int id) { using (NewsContext dbModel = new NewsContext()) { return(View(dbModel.New.Where(x => x.Id == id).FirstOrDefault())); } }
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 UserService(UserManager <User> usermanager, SignInManager <User> signInManager, IMapper mapper, NewsContext _newsContext) { _signInManager = signInManager; _userManager = usermanager; _mapper = mapper; this.context = _newsContext; }
public IActionResult EditNews(News news) { using (var client = new NewsContext()) { // var result = client.News.Single(x => x.Id == news.Id); var result = client.News.Find(news.Id); result.Header = news.Header; result.Intro = news.Intro; result.Paragraf = news.Paragraf; result.Updated = DateTime.Now; client.News.Attach(result); var entry = client.Entry(result); entry.State = EntityState.Modified; client.SaveChanges(); } var removedMessage = string.Format("Nyheten med ID {0} ändrades.", news.Id); return(Json(new { success = true, Message = removedMessage })); }
static void Main() { NewsContext newsContext = new NewsContext(); Article article = new Article(); article.Content = "New article"; newsContext.Articles.Add(article); newsContext.SaveChanges(); }
private static void SeedDatabase() { var context = new NewsContext(); CleanDatabase(); SeedNews(context); context.SaveChanges(); }
private static void SeedNews(NewsContext context) { if (context.News.Any()) { return; } var testNews = new List<News>() { new News { Title = "First news title!", Content = "First news content!", PublishDate = DateTime.Now }, new News { Title = "Second news title!", Content = "Second news content!" , PublishDate = DateTime.Now }, new News { Title = "Third news title!", Content = "Third news content!", PublishDate = DateTime.Now }, new News { Title = "Fourth news title!", Content = "Fourth news content!", PublishDate = DateTime.Now } }; foreach (var news in testNews) { context.News.Add(news); } }
static void ConcurrencyTest(NewsContext contextOne, NewsContext contextTwo) { var originalNews = contextTwo.News.Find(1); var contextOneNews = contextOne.News.Find(1); Console.WriteLine("Application started.\nText from DB: {0}\nEnter the corrected text:", contextOneNews.Content); string firstUserInput = Console.ReadLine(); Console.WriteLine("User input: {0}", firstUserInput); contextOneNews.Content = firstUserInput; contextOne.SaveChanges(); Console.WriteLine("Changes successfully saved in the DB."); var contextTwoNews = contextTwo.News.Find(1); Console.WriteLine("Application started.\nText from DB: {0}\nEnter the corrected text:", originalNews.Content); string secondUserInput = Console.ReadLine(); contextTwoNews.Content = secondUserInput; try { contextTwo.SaveChanges(); Console.WriteLine("Changes successfully saved in the DB."); } catch (DbUpdateConcurrencyException) { Console.WriteLine("Conflict! Text from DB: {0}. Enter the corrected text:", contextOneNews.Content); string secondUserSecondTry = Console.ReadLine(); var newContextTwo = new NewsContext(); var newContextTwoNews = newContextTwo.News.Find(1); newContextTwoNews.Content = secondUserSecondTry; newContextTwo.SaveChanges(); Console.WriteLine("Changes successfully saved in the DB."); } }
public void Post_ShouldReturn201CreatedPlusTheNewlyCreatedItemOnCorrectData() { var context = new NewsContext(); var content = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("title", "New news"), new KeyValuePair<string, string>("content", "The news is new") }); var response = httpClient.PostAsync("api/news", content).Result; var news = response.Content.ReadAsAsync<NewsModel>().Result; Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); Assert.AreEqual("New news", news.Title); Assert.AreEqual("The news is new", news.Content); Assert.AreEqual(4, context.News.Count()); context.News.Attach(news); context.News.Remove(news); context.SaveChanges(); }
public void Delete_ShouldReturn200OKOnExistingItem() { var context = new NewsContext(); var newNews = new NewsModel() { Title = "Delete news", Content = "Delete news", PublishDate = DateTime.Now }; context.News.Add(newNews); context.SaveChanges(); var response = httpClient.DeleteAsync(string.Format("api/news/{0}", newNews.Id)).Result; Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); }
public void Put_ShouldReturn200OKOnCorrectData() { var context = new NewsContext(); var updateNews = new NewsModel() { Title = "Update news title", Content = "Update news content", PublishDate = DateTime.Now }; var content = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("title", "Update news"), new KeyValuePair<string, string>("content", "Update news"), new KeyValuePair<string, string>("publishDate", "09/06/2015") }); context.News.Add(updateNews); context.SaveChanges(); var response = httpClient.PutAsync(string.Format("api/news/{0}", updateNews.Id), content).Result; Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); context.News.Remove(updateNews); context.SaveChanges(); }
private void CleanDatabase() { using (var dbContext = new NewsContext()) { dbContext.News.Delete(); dbContext.Users.Delete(); dbContext.SaveChanges(); } this.repo = new NewsData(NewsContext.Create()); var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**" }; this.repo.Users.Add(user); var news = new List<News> { new News { Title = "Seeding repositories", Content = "Some content.", PublishDate = DateTime.Parse("2000-01-20") }, new News { Title = "Web and cloud exam", Content = "There won't be any prepared unit tests.", PublishDate = DateTime.Parse("2015-09-12") } }; user.News.Add(news[0]); user.News.Add(news[1]); this.repo.Users.Add(user); this.repo.SaveChanges(); }
private static void CleanDatabase() { // Clean all data in all database tables var dbContext = new NewsContext(); dbContext.News.Delete(); dbContext.Users.Delete(); dbContext.SaveChanges(); }
public void CreateNews_Should_Return_200OK_And_The_Created_News() { var context = new NewsContext(); var newNewsData = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string> ("Title", "First title"), new KeyValuePair<string, string> ("Content", "First contet"), new KeyValuePair<string, string> ("PublishDate", DateTime.Now.AddDays(-1).ToShortDateString()) }); var initialCount = context.News.Count(); var response = httpClient.PostAsync(CreateNewsEndpoint, newNewsData).Result; var updatedCount = context.News.Count(); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.AreEqual(initialCount + 1, updatedCount); }
static void Main() { var context = new NewsContext(); Console.WriteLine(context.News.Count()); }
public void CreateNews_Should_Return_400_BadRequest_If_Data_Is_Invalid() { var context = new NewsContext(); var newNewsData = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string> ("Title", "First title"), new KeyValuePair<string, string> ("PublishDate", DateTime.Now.AddDays(-1).ToShortDateString()) }); var initialCount = context.News.Count(); var response = httpClient.PostAsync(CreateNewsEndpoint, newNewsData).Result; var updatedCount = context.News.Count(); Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); Assert.AreEqual(initialCount, updatedCount); }
private static void CleanDatabase() { var context = new NewsContext(); context.News.Delete(); }
public void ModifyNews_Should_Return_200OK_And_Updated_News() { var context = new NewsContext(); var newsToUpdate = context.News.First(); var newNewsData = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string> ("Title", "First title"), new KeyValuePair<string, string> ("Content", "First content"), }); var updateNewsResponse = httpClient.PutAsync(UpdateNewsEndpoint + newsToUpdate.Id, newNewsData).Result; var updatedNews = updateNewsResponse.Content.ReadAsAsync<News>().Result; Assert.AreEqual(HttpStatusCode.OK, updateNewsResponse.StatusCode); Assert.AreEqual("First title", updatedNews.Title); Assert.AreEqual("First content", updatedNews.Content); }
public void DeleteNews_Should_Return_200OK() { var context = new NewsContext(); var newsToDeleteId = context.News.First().Id; var updateNewsResponse = httpClient.DeleteAsync(DeleteNewsEndpoint + newsToDeleteId).Result; Assert.AreEqual(HttpStatusCode.OK, updateNewsResponse.StatusCode); var getAllNews = httpClient.GetAsync(GetAllNewsEndpoint).Result; var returnedNewsId = getAllNews.Content.ReadAsAsync<List<News>>().Result .Select(n => n.Id) .ToList(); CollectionAssert.DoesNotContain(returnedNewsId, newsToDeleteId); }
public void ModifyNews_Should_Return_400_BadRequest_If_Data_Is_Invalid() { var context = new NewsContext(); var newsToUpdate = context.News.First(); var newNewsData = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string> ("Title", "First title"), new KeyValuePair<string, string> ("Content", "F") }); var updateNewsResponse = httpClient.PutAsync(UpdateNewsEndpoint + newsToUpdate.Id, newNewsData).Result; Assert.AreEqual(HttpStatusCode.BadRequest, updateNewsResponse.StatusCode); }