public IList<BlogPost> GetBlogPosts(int skip, int take) { using(var db = new BlogPostContext()) { var query = db.BlogPost.Include("Tags").Include("Author").OrderByDescending(bp => bp.DateCreated).Skip(skip).Take(take); return query.ToList(); } }
public static void Initialize(IApplicationBuilder app) { using var serviceScope = app.ApplicationServices.GetService <IServiceScopeFactory>().CreateScope(); context = serviceScope.ServiceProvider.GetRequiredService <BlogPostContext>(); context.Database.Migrate(); InitilizeDatabase(); }
public StudentsController(BlogPostContext context, IMapper mapper, IStudentService studentService, IStudentRepository studentRepository) { this.context = context; this.mapper = mapper; this.studentService = studentService; this.studentRepository = studentRepository; }
public async Task Should_AddNewStudent() { // arrange ActionResult <StudentResponse> result; var studentRequest = new CreateStudentRequest { Name = fixture.NewStudent.Name }; Student studentResult; // act using (var dbContext = new BlogPostContext(fixture.Options)) { var controller = new StudentsController(dbContext, fixture.Mapper, studentServiceMock.Object, studentRepositoryMock.Object); result = await controller.PostStudent(studentRequest); studentResult = dbContext.Students.FirstOrDefault(x => x.Name == fixture.NewStudent.Name); } var apiResult = result.Result.As <CreatedAtActionResult>(); var students = apiResult.Value.As <StudentResponse>(); // assert apiResult.StatusCode.Should().Be(StatusCodes.Status201Created); students.Should().BeEquivalentTo(studentResult); }
protected Repository( IUnitOfWork unitOfWork, BlogPostContext dbContext) { UnitOfWork = unitOfWork; DbContext = dbContext; DbSet = DbContext.Set <TEntity>(); }
public BlogPostsUpdate() { secrets = GetSecrets.GetSecretsDictionary(); string connstr = GetSecrets.GetSecretConnectionString(); bpc = GetConnectionString.GetContext(connstr); AWSXRayRecorder.InitializeInstance(); }
public ActionResult Index() { using (var db = new BlogPostContext()) { ViewBag.AllBlogPosts = db.BlogPosts.OrderByDescending(x => x.Created).ToList(); }; return(View()); }
public void TestNullReturn() { BlogPostContext ctx = newContext(); BlogPostCtxWrapper wrapper = new BlogPostCtxWrapper(ctx); BlogController bpc = new BlogController(wrapper); var obj = bpc.Get(2); Assert.Null(obj.Value); }
public PostRepository(BlogPostContext context, IMemoryCache _cache) { Context = context; Cache = _cache; if (!Context.Posts.Any()) { SeedData.Initialize(Context); } }
public void DeleteBlogPost(int id) { using (BlogPostContext context = new BlogPostContext(_connectionName, _schemaName)) { Data.Model.BlogPost post = context.BlogPosts.Find(id); context.Entry(post).State = System.Data.EntityState.Deleted; context.SaveChanges(); } }
public BlogPostsGetAll() { secrets = GetSecrets.GetSecretsDictionary(); string connstr = GetSecrets.GetSecretConnectionString(); Console.WriteLine($"Connection string:: {connstr}"); bpc = GetConnectionString.GetContext(connstr); AWSXRayRecorder.InitializeInstance(); }
public BlogPost GetBlogPost(string urlSlug) { using (var db = new BlogPostContext()) { var query = db.BlogPost.Include("Tags").Include("Author") .Where(bp => bp.UrlSlug.Equals(urlSlug)); return query.SingleOrDefault(); } }
public void TestSimpleReturn() { BlogPostContext ctx = newContext(); BlogPostCtxWrapper wrapper = new BlogPostCtxWrapper(ctx); BlogController bpc = new BlogController(wrapper); var obj = bpc.Get(1); Assert.Equal("Help", obj.Value.Title); Assert.Equal(1, obj.Value.Version); }
public ActionResult Create(BlogPost blogPost) { using (var db = new BlogPostContext()) { blogPost.Created = DateTime.Now; db.BlogPosts.Add(blogPost); db.SaveChanges(); } return(RedirectToAction("Index")); }
public IList<BlogPost> GetBlogPostsByTag(string tagUrlSlug, int skip, int take) { using (var db = new BlogPostContext()) { var query = db.BlogPost.Include("Tags").Include("Author") .Where(bp => bp.Tags.Any(t => t.UrlSlug == tagUrlSlug)) .OrderByDescending(bp => bp.DateCreated).Skip(skip).Take(take); return query.ToList(); } }
public void UpdateBlogPost(Domain.Model.BlogPost post) { using (BlogPostContext context = new BlogPostContext(_connectionName, _schemaName)) { context.Entry(new Data.Model.BlogPost { Id = post.Id, Post = post.Post, Title = post.Title }).State = System.Data.EntityState.Modified; context.SaveChanges(); } }
private void SetupDatabase() { Options = new DbContextOptionsBuilder <BlogPostContext>() .UseInMemoryDatabase(databaseName: "StudentContextOptions") .Options; using var dbContext = new BlogPostContext(Options); var itCourse = new Course { Name = "IT Programming" }; var math = new Course { Name = "Math" }; var student1 = new Student { Name = "John Doe", Courses = new List <StudentCourse> { new StudentCourse { Course = itCourse }, new StudentCourse { Course = math } } }; var student2 = new Student { Name = "Martin B", Courses = new List <StudentCourse> { new StudentCourse { Course = itCourse }, new StudentCourse { Course = math } } }; dbContext.Add(student1); dbContext.Add(student2); dbContext.SaveChanges(); allStudents = new List <Student> { student1, student2 }; ExpectedStudents = Mapper.Map <IEnumerable <StudentResponse> >(allStudents); }
public IEnumerable <Domain.Model.BlogPost> GetAllBlogPosts() { using (BlogPostContext context = new BlogPostContext(_connectionName, _schemaName)) { IList <Data.Model.BlogPost> blogposts = context.BlogPosts.ToList <Data.Model.BlogPost>(); var posts = from post in blogposts select post.ToDomainBlogPost(); return(posts.ToList <Domain.Model.BlogPost>()); } }
public Domain.Model.BlogPost ReadBlogPost(int id) { using (BlogPostContext context = new BlogPostContext(_connectionName, _schemaName)) { var post = context.BlogPosts.Find(id); if (post != null) { return(post.ToDomainBlogPost()); } return(null); } }
public BlogPostsController(BlogPostContext context) { _context = context; if (_context.BlogPostItems.Count() == 0) { _context.BlogPostItems.Add(new BlogPostItem { Title = "Item1" }); _context.SaveChanges(); } }
public IList<BlogPost> GetBlogPostsByMonth(int month, int year) { DateTime beginDate = new DateTime(year, month, 1); DateTime endDate = beginDate.AddMonths(1).AddMilliseconds(-1); using (var db = new BlogPostContext()) { var query = db.BlogPost.Include("Tags").Include("Author") .Where(bp => bp.DateCreated >= beginDate && bp.DateCreated <= endDate) .OrderBy(bp => bp.DateCreated); return query.ToList(); } }
public BlogController(BlogPostContext context) { _context = context; if (_context.BlogPostItems.Count() == 0) { // Create a new BlogPost if collection is empty, _context.BlogPostItems.Add(new BlogPost { Title = "Wellcome to SimpleBlog Engine", Content = " This is a very basic blog engine with x feature and y feature It has a simple web editor to edit multi-line blog entries. If you have bug reports and suggestion please email to [email protected] " }); _context.SaveChanges(); } }
public async Task Should_CalculateWeighterAverage() { // arrange var expected = GetExpectedWeighterAverage(); using var dbContext = new BlogPostContext(fixture.Options); sut = new StudentService(dbContext); // act var result = await sut.GetWeightedAverageForCourseAsync(courseId : 1, studentId : 1); // assert result.Should().Be(expected); }
public void Should_ThrowException_When_CourseNotExist() { // arrange const int studentId = 1; const int notExistingCourseId = 666; using var dbContext = new BlogPostContext(fixture.Options); sut = new StudentService(dbContext); // act Func <Task> act = async() => await sut.GetWeightedAverageForCourseAsync(notExistingCourseId, studentId); // assert act.Should().Throw <ArgumentException>(); }
private static void InsertTestData(BlogPostContext context) { if (context.Authors.Any()) { return; } context.Authors.Add(new Author { Id = Guid.NewGuid(), Name = "Daan" }); context.SaveChanges(); }
public IList<TagCount> GetTagCounts() { using (var db = new BlogPostContext()) { var query = db.BlogPost .SelectMany(p => p.Tags) .GroupBy(t => new { TagName = t.Name, UrlSlug = t.UrlSlug }) .Select(t => new TagCount { TagName = t.Key.TagName, UrlSlug = t.Key.UrlSlug, Total = t.Count() }) .OrderBy(t => t.TagName); return query.ToList(); } }
public async Task Should_ReturnMissingGrades_ForEveryStudent() { // arrange using var dbContext = new BlogPostContext(fixture.Options); sut = new StudentService(dbContext); // act var result = await sut.GetMissingCoursesForStudentsAsync(); // assert result.Should().HaveCount(fixture.ExpectedMissingGrades.Count()); result.Should().BeEquivalentTo(fixture.ExpectedMissingGrades, options => options .IgnoringCyclicReferences() .Excluding(x => x.Assessment) .Excluding(x => x.Course) .Excluding(x => x.Student) ); }
public async Task Should_ReturnSingleStudent_WithCourses() { // arrange const int firstElement = 0; ActionResult <StudentResponse> result; var expected = fixture.ExpectedStudents.ElementAt(firstElement); // act using (var dbContext = new BlogPostContext(fixture.Options)) { var controller = new StudentsController(dbContext, fixture.Mapper, studentServiceMock.Object, studentRepositoryMock.Object); result = await controller.GetStudent(ControllerFixture.StudentId); } var okResult = result.Result.As <OkObjectResult>(); var students = okResult.Value.As <StudentResponse>(); // assert okResult.StatusCode.Should().Be(StatusCodes.Status200OK); students.Should().BeEquivalentTo(expected); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env, BlogPostContext context, IApiVersionDescriptionProvider apiVersionDescProvider) { if (!env.IsDevelopment()) { app.UseDeveloperExceptionPage(); context.Database.EnsureCreated(); if (!context.BlogPosts.Any()) { var posts = new List <BlogPost>(); for (int i = 1; i < 6; i++) { posts.Add(createBlogPost("title" + i, "desc" + i)); } context.BlogPosts.AddRange(posts); context.SaveChanges(); } } else { app.UseExceptionHandler("/api/v1/Error"); app.UseHsts(); } app.UseCors("MyPolicy"); app.UseHttpsRedirection(); app.UseMvc(); _logger.LogInformation("Adding Swagger UI"); app.UseSwagger(); app.UseSwaggerUI(c => { foreach (var description in apiVersionDescProvider.ApiVersionDescriptions) { c.SwaggerEndpoint($"/swagger/{description.GroupName}/swagger.json", description.GroupName.ToUpperInvariant()); } c.RoutePrefix = string.Empty; // serve the Swagger UI at the app's root }); }
public async Task Should_RemoveExistingStudent() { // arrange const int studentId = 2; IActionResult result; Student studentResult; // act using (var dbContext = new BlogPostContext(fixture.Options)) { var controller = new StudentsController(dbContext, fixture.Mapper, studentServiceMock.Object, studentRepositoryMock.Object); result = await controller.DeleteStudent(studentId); studentResult = dbContext.Students.FirstOrDefault(x => x.Id == studentId); } // assert var noContentResult = result.As <NoContentResult>(); noContentResult.StatusCode.Should().Be(StatusCodes.Status204NoContent); studentResult.Should().BeNull(); }
public IList<ArchiveItem> GetArchiveDetails() { using (var db = new BlogPostContext()) { var query = db.BlogPost .GroupBy(p => new { Month = p.DateCreated.Month, Year = p.DateCreated.Year }) .Select(a => new ArchiveItem { Month = a.Key.Month, Year = a.Key.Year, TotalPosts = a.Count() }) .OrderByDescending(a => a.Year) .ThenByDescending(a => a.Month); return query.ToList(); } }
public async Task Should_UpdateExistingStudent() { // arrange IActionResult result; var studentRequest = new UpdateStudentRequest { Name = fixture.UpdatedStudent.Name, Id = ControllerFixture.StudentId }; Student studentResult; // act using (var dbContext = new BlogPostContext(fixture.Options)) { var controller = new StudentsController(dbContext, fixture.Mapper, studentServiceMock.Object, studentRepositoryMock.Object); result = await controller.PutStudent(ControllerFixture.StudentId, studentRequest); studentResult = dbContext.Students.First(x => x.Id == ControllerFixture.StudentId); } //assert var noContentResult = result.As <NoContentResult>(); noContentResult.StatusCode.Should().Be(StatusCodes.Status204NoContent); studentResult.Name.Should().Be(studentRequest.Name); }
public Blogs1Controller(BlogPostContext context) { _context = context; }
public string GetTagNameFromSlug(string urlSlug) { using (var db = new BlogPostContext()) { string tagName = db.Tags.Where(t => t.UrlSlug.Equals(urlSlug)).Select(t => t.Name).SingleOrDefault(); return tagName; } }
public StudentsController(BlogPostContext context) { this.context = context; }
public StudentRepository(BlogPostContext context) { this.context = context; }
public ImageRepository( IUnitOfWork unitOfWork, BlogPostContext dbContext) : base(unitOfWork, dbContext) { }