|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using YaBlogEngineMVC.Models.ViewModels;
namespace YaBlogEngineMVC.Models
{
public class BlogRepository : IBlogRepository
{
yaBlogDbEntities entities = null;
public BlogRepository(yaBlogDbEntities entities)
{
this.entities = entities;
}
void IBlogRepository.AddBlog(Blog blog)
{
entities.Blogs.AddObject(blog);
}
public Blog GetBlogById(int id)
{
return entities.Blogs.SingleOrDefault(b => b.ID == id);
}
public IQueryable<Blog> GetBlogs(int categoryId)
{
// no category filter needed, show all blogs
if (categoryId == 0)
{
return from b in entities.Blogs
orderby b.DatePosted descending
select b;
}
// category filter is needed
return from b in entities.Blogs
orderby b.DatePosted descending
where b.CategoryId == categoryId
select b;
}
public List<CategoryListViewModel> GetActiveCategories()
{
return (from b in entities.Blogs
group b by b.Category into g
select new CategoryListViewModel
{
Category = g.Key,
BlogCount = g.Count()
}).ToList();
}
public void RemoveBlog(Blog blog)
{
entities.Blogs.DeleteObject(blog);
}
public void Save()
{
entities.SaveChanges();
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I Started my Programming career with C++. Later got a chance to develop Windows Form applications using C#. Currently using C#, ASP.NET & ASP.NET MVC to create Information Systems, e-commerce/e-governance Portals and Data driven websites.
My interests involves Programming, Website development and Learning/Teaching subjects related to Computer Science/Information Systems. IMO, C# is the best programming language and I love working with C# and other Microsoft Technologies.
- Microsoft Certified Technology Specialist (MCTS): Web Applications Development with Microsoft .NET Framework 4
- Microsoft Certified Technology Specialist (MCTS): Accessing Data with Microsoft .NET Framework 4
- Microsoft Certified Technology Specialist (MCTS): Windows Communication Foundation Development with Microsoft .NET Framework 4
If you like my articles, please visit my website for more: www.rahulrajatsingh.com[^]