예제 #1
0
        //
        // GET: /Post/
        public ActionResult GetAllPost(int blogId, string blogtitle)
        {
            using (MyBlogEntities entities = new MyBlogEntities())
            {
                if (string.IsNullOrEmpty(blogtitle))
                    blogtitle = entities.Blogs.Where(e => e.BlogID == blogId).Select(e => e.Title).First();
                
                ViewBag.Title = blogtitle;

                List<md.Post> postList = entities.BlogPosts.Where(e => e.BlogID == blogId).OrderByDescending(e => e.TStamp).Select(e => new md.Post()
                 {
                     BlogId = e.BlogID,
                     PostId = e.PostID,
                     Name = e.Name,
                     Email = e.Email,
                     BlogPost = e.Post,
                     PostDate = e.TStamp
                 }).ToList();
    
                if (postList.Count() >= 1)
                {
                    ViewBag.Message = "";
                    ViewData.Add("blogId", blogId);
                    ViewData.Add("blogtitle", blogtitle);
                    return View(postList);
                }
                else
                {
                    ViewBag.Message = "No Post Found for blog name \"" + blogtitle + "\"";
                    ViewData.Add("blogId", blogId);
                    ViewData.Add("blogtitle", blogtitle);
                    return View();
                }
            }
        }
예제 #2
0
 public ActionResult AddNewUser(string name, string email, string password, string confirm)
 {
     if (IsValidString(name) && IsValidString(password) && IsValidEmail(email) && password == confirm)
     {
         using (var c = new MyBlogEntities())
         {
             byte[] passToByte = StringToBytes(password);
             User newUser = new User
             {
                 Name = name,
                 Email = email,
                 Password = BytesToHash(passToByte),
             };
             User existingUser = c.Users.Where(u => u.Email == email).SingleOrDefault();
             if (existingUser == null)
             {
                 c.Users.Add(newUser);
                 c.SaveChanges();
                 ViewBag.LoginMessage = "User was created successfully.";
                 return View("Index");
             }
             else
             {
                 ViewBag.LoginMessage = "User already exist.";
                 return View("Index");
             }
         }
     }
     else
     {
         ViewBag.LoginMessage = "Invalid data format.";
         return View("Index");
     }
 }
예제 #3
0
 public MyBlogArticleModel GetArticle(string slug)
 {
     using (var context = new MyBlogEntities())
     {
         return(context.Blogs.Where(b => b.Slug == slug).Select(b => new MyBlogArticleModel()
         {
             Title = b.Title,
             DateCreated = b.DateCreated,
             BodyContent = b.BodyContent
         }).FirstOrDefault());
     }
 }
예제 #4
0
 public List <MyBlogSummaryModel> GetBlogSummaries()
 {
     using (var context = new MyBlogEntities())
     {
         return(context.Blogs.OrderByDescending(b => b.DateCreated).Select(b => new MyBlogSummaryModel()
         {
             Title = b.Title,
             DateCreated = b.DateCreated,
             Slug = b.Slug,
             Summary = b.Summary
         }).ToList());
     }
 }
예제 #5
0
 public ActionResult DeletePost(int blogId, string blogtitle, int postId)
 {
     using (MyBlogEntities entities = new MyBlogEntities())
     {
         BlogPost blogPost = entities.BlogPosts.Where(e => e.PostID == postId).Select(e => e).First();
         if (blogPost != null)
         {
             entities.BlogPosts.Remove(blogPost);
             entities.SaveChanges();
         }
     }
     return RedirectToAction("GetAllPost", "Post", new { blogId = blogId, blogtitle = blogtitle });
 }
예제 #6
0
 public static int UserAdd(string userName, string pwd)
 {
     using (MyBlogEntities db = new MyBlogEntities())
     {
         admin admin = new admin()
         {
             username = userName,
             password = pwd
         };
         db.admin.Add(admin);
         return(db.SaveChanges());
     }
 }
예제 #7
0
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            var userName  = httpContext.User.Identity.Name;
            var checkUser = new MyBlogEntities().AspNetUsers.SingleOrDefault(x => x.UserName == userName).AspNetRoles.Select(x => x.Id).Contains(Constant.ADMIN_ID);

            if (checkUser)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #8
0
 public static int IsCheckedAddArticle(article article, string author)
 {
     using (MyBlogEntities db = new MyBlogEntities())
     {
         var result = from a in db.admin where a.username == author select a;
         foreach (var item in result)
         {
             article.creator = item.id;
         }
         db.article.Add(article);
         db.SaveChanges();
         return(1);
     }
 }
예제 #9
0
 public static int IsNewCheckUserName(string userName)
 {
     using (MyBlogEntities db = new MyBlogEntities())
     {
         var result = from a in db.admin where a.username == userName select a;
         if (result.Count() > 0)
         {
             return(1);
         }
         else
         {
             return(0);
         }
     }
 }
예제 #10
0
 public static int IsCheckAddCate(cate cate)
 {
     using (MyBlogEntities db = new MyBlogEntities())
     {
         try
         {
             db.cate.Add(cate);
             db.SaveChanges();
             return(1);
         }
         catch (Exception)
         {
             throw;
         }
     }
 }
예제 #11
0
 public static int IsCheckUpdateCate(int cateId, string cateName)
 {
     using (MyBlogEntities db = new MyBlogEntities())
     {
         try
         {
             var result = db.cate.Find(cateId);
             result.catname = cateName;
             db.SaveChanges();
             return(1);
         }
         catch (Exception)
         {
             throw;
         }
     }
 }
예제 #12
0
 public static int CheckUpdateUser(int userId, string pwd)
 {
     using (MyBlogEntities db = new MyBlogEntities())
     {
         try
         {
             var result = db.admin.Find(userId);
             result.password = pwd;
             db.SaveChanges();
             return(1);
         }
         catch (System.Exception)
         {
             throw;
         }
     }
 }
예제 #13
0
파일: LinkDAL.cs 프로젝트: 666-arch/MyBlog
 public static int IsCheckLinkAdd(link link)
 {
     using (MyBlogEntities db = new MyBlogEntities())
     {
         var result = from l in db.link where l.title == link.title select l;
         if (result.Count() > 0)
         {
             return(0);
         }
         else
         {
             db.link.Add(link);
             db.SaveChanges();
             return(1);
         }
     }
 }
예제 #14
0
 public static void DeleteCate(int id)
 {
     using (MyBlogEntities db = new MyBlogEntities())
     {
         var result  = db.cate.Find(id);
         int cid     = result.id;
         var article = from ar in db.article where ar.cateid == cid select ar;
         if (article.Count() > 0)
         {
             foreach (var item in article)
             {
                 item.cateid = 1;
             }
         }
         db.cate.Remove(result);
         db.SaveChanges();
     }
 }
예제 #15
0
        public static SelectList SelectListTopic(int id = 0, string langId = "")
        {
            var list = new List <Topic>();

            if (langId == "")
            {
                list = new MyBlogEntities().Topics.ToList();
                list.Add(new Topic()
                {
                    Id = 0, Name = "Not exists"
                });
            }
            else
            {
                list = new MyBlogEntities().Topics.Where(x => x.LangId == langId).ToList();
            }
            return(new SelectList(list, "Id", "Name", id));
        }
예제 #16
0
        public Datacontract.BlogResponse DeleteBlog(Datacontract.BlogRequest request)
        {
            bool result = false;
            using (MyBlogEntities blog = new MyBlogEntities(GetConnectionStringEF()))
            {

                Blog deleteBlog = blog.Blogs.Where(e => e.BlogID == request.Delete.BlogId).Select(e => e).First();
                blog.Blogs.Remove(deleteBlog);
                try
                {
                    blog.SaveChanges();
                    result = true;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return new Datacontract.BlogResponse() { Result = result ? Datacontract.DBResult.Success : Datacontract.DBResult.Fail };
        }
예제 #17
0
파일: LinkDAL.cs 프로젝트: 666-arch/MyBlog
 public static int IsCheckUpdateLinks(int linkId, string title, string url, string desc)
 {
     using (MyBlogEntities db = new MyBlogEntities())
     {
         var result = from l in db.link where l.title == title select l;
         if (result.Count() > 0)
         {
             return(0);
         }
         else
         {
             link link = db.link.Find(linkId);
             link.title           = title;
             link.url             = url;
             link.desc            = desc;
             db.Entry(link).State = System.Data.Entity.EntityState.Modified;
             db.SaveChanges();
             return(1);
         }
     }
 }
예제 #18
0
        public Datacontract.BlogResponse InsertBlog(Datacontract.BlogRequest request)
        {
            bool result = false;

            using (MyBlogEntities blog = new MyBlogEntities(GetConnectionStringEF()))
            {

                foreach (Datacontract.Blog blg in request.Blog)
                {
                    blog.Blogs.Add(new Blog() { Title = blg.Title, Description = blg.Description, TStamp = DateTime.Now });
                }
                try
                {
                    blog.SaveChanges();
                    result = true;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return new Datacontract.BlogResponse() { Result = result ? Datacontract.DBResult.Success : Datacontract.DBResult.Fail };
        }
예제 #19
0
        public ActionResult InsertPost(Models.Post post, int blogId, string blogtitle)
        {
            using (MyBlogEntities entities = new MyBlogEntities())
            {
                entities.BlogPosts.Add(new BlogPost()
                {
                    BlogID = blogId,
                    Email = post.Email,
                    Name = post.Name,
                    Post = post.BlogPost,
                    TStamp = DateTime.Now
                });

                try
                {
                    entities.SaveChanges();
                    return RedirectToAction("GetAllPost", new { blogId = blogId, blogtitle = blogtitle });
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
예제 #20
0
        public Datacontract.BlogResponse SelectBlog(Datacontract.BlogRequest request)
        {
            if (request.Select.BlogId == null)
            {
                throw new Exception("BlogId must be defined");
            }
            Datacontract.BlogResponse response = new Datacontract.BlogResponse();

            using (MyBlogEntities blog = new MyBlogEntities(GetConnectionStringEF()))
            {

                response.SingleBlog = blog.Blogs.Where(e => e.BlogID == request.Select.BlogId).Select(e => new Datacontract.Blog() { Title = e.Title, Description = e.Description }).First();
            }
            return response;
        }
예제 #21
0
        public Datacontract.BlogResponse SelectBlogs(Datacontract.BlogRequest request)
        {
            Datacontract.BlogResponse response = new Datacontract.BlogResponse();
            if (request.SelectBlogs.BlogId == null && request.SelectBlogs.BlogId.Count() <= 0)
            {
                throw new Exception("Blog ids required to get blogs from SelectBlogs");
            }

            using (MyBlogEntities blog = new MyBlogEntities(GetConnectionStringEF()))
            {
                response.BlogList = blog.Blogs.Where(e => request.SelectBlogs.BlogId.Contains(e.BlogID)).Select(e => new Datacontract.Blog() { Title = e.Title, Description = e.Description }).ToList();
            }
            return response;
        }
예제 #22
0
        public Datacontract.PostResponse InsertPost(Datacontract.PostRequest request)
        {
            bool result = false;

            using (MyBlogEntities blog = new MyBlogEntities(GetConnectionStringEF()))
            {
                Datacontract.Post cPost = request.InsertPost;
                BlogPost post = new BlogPost();
                post.BlogID = cPost.BlogID;
                post.Email = cPost.Email;
                post.Name = cPost.Name;
                post.TStamp = DateTime.Now;
                post.Post = cPost.PostDetail;

                blog.BlogPosts.Add(post);

                try
                {
                    blog.SaveChanges();
                    result = true;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return new Datacontract.PostResponse() { Result = result ? Datacontract.DBResult.Success : Datacontract.DBResult.Fail };

        }
예제 #23
0
        public Datacontract.PostResponse UpdatePost(Datacontract.PostRequest request)
        {
            bool result = false;

            using (MyBlogEntities blog = new MyBlogEntities(GetConnectionStringEF()))
            {
                Datacontract.Post cPost = request.UpdatePost;
                BlogPost post = blog.BlogPosts.Where(e => e.BlogID == cPost.BlogID).Select(e => e).FirstOrDefault();
                if (post != null)
                {
                    post.BlogID = cPost.BlogID;
                    post.Email = cPost.Email;
                    post.Name = cPost.Name;
                    post.TStamp = DateTime.Now;
                    post.Post = cPost.PostDetail;
                }
                try
                {
                    blog.SaveChanges();
                    result = true;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return new Datacontract.PostResponse() { Result = result ? Datacontract.DBResult.Success : Datacontract.DBResult.Fail };
        }
예제 #24
0
        public Datacontract.PostResponse DeletePost(Datacontract.PostRequest request)
        {
            bool result = false;
            if (request.DeletePost.PostID == null && request.DeletePost.PostID.HasValue)
                throw new Exception("Post Id cannot be null");
            using (MyBlogEntities blog = new MyBlogEntities(GetConnectionStringEF()))
            {
                Datacontract.IPost cPost = request.DeletePost;

                BlogPost post = blog.BlogPosts.Where(e => e.BlogID == cPost.PostID).Select(e => e).FirstOrDefault();
                blog.BlogPosts.Remove(post);
                try
                {
                    blog.SaveChanges();
                    result = true;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return new Datacontract.PostResponse() { Result = result ? Datacontract.DBResult.Success : Datacontract.DBResult.Fail };
        }
예제 #25
0
        public Datacontract.PostResponse SelectPost(Datacontract.PostRequest request)
        {
            bool result = false;
            Datacontract.PostResponse response = new Datacontract.PostResponse();

            if (request.DeletePost.PostID == null && request.DeletePost.PostID.HasValue)
                throw new Exception("Post Id cannot be null");

            using (MyBlogEntities blog = new MyBlogEntities(GetConnectionStringEF()))
            {
                try
                {

                    Datacontract.IPost cPost = request.DeletePost;

                    BlogPost post = blog.BlogPosts.Where(e => e.BlogID == cPost.PostID).Select(e => e).FirstOrDefault();
                    response.Post = new Datacontract.Post() { BlogID = post.BlogID, PostDetail = post.Post, Name = post.Name, Email = post.Email };

                    result = true;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return new Datacontract.PostResponse() { Result = result ? Datacontract.DBResult.Success : Datacontract.DBResult.Fail, Post = response.Post };
        }
예제 #26
0
        public Datacontract.PostResponse SelectPosts(Datacontract.PostRequest request)
        {
            bool result = false;
            Datacontract.PostResponse response = new Datacontract.PostResponse();

            if (request.SelectPost.PostID == null && request.DeletePost.PostID.HasValue)
                throw new Exception("Post Id cannot be null");

            using (MyBlogEntities blog = new MyBlogEntities(GetConnectionStringEF()))
            {
                try
                {
                    List<int> cPost = request.SelectPosts.PostIds;

                    response.Posts = blog.BlogPosts.Where(e => cPost.Contains(e.BlogID)).Select(e => new Datacontract.Post() { BlogID = e.BlogID, Name = e.Name, Email = e.Email, PostDetail = e.Post }).ToList();
                    
                    result = true;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return new Datacontract.PostResponse() { Result = result ? Datacontract.DBResult.Success : Datacontract.DBResult.Fail, Posts = response.Posts };
        }
예제 #27
0
파일: Repository.cs 프로젝트: fkorkut/MVC
 public Repository(MyBlogEntities db)
 {
     _db = db;
 }
예제 #28
0
 public NavigationsAdminController()
 {
     _db = new MyBlogEntities();
 }
예제 #29
0
 public ConfigsAdminController()
 {
     _db = new MyBlogEntities();
 }
예제 #30
0
 public PostAdminController()
 {
     _db = new MyBlogEntities();
 }
예제 #31
0
        public static SelectList SelectLang(string id = "en")
        {
            var list = new MyBlogEntities().Languages.ToList();

            return(new SelectList(list, "Id", "Name", id));
        }
예제 #32
0
 public UnitOfWork()
 {
     db = new MyBlogEntities();
 }
예제 #33
0
        public static SelectList SelectNameTopic(string langId = "en")
        {
            var list = new MyBlogEntities().Topics.Where(x => x.LangId == langId).ToList();

            return(new SelectList(list, "Name", "Name"));
        }
예제 #34
0
        public ActionResult Login(string email, string password)
        {
            using (var c = new MyBlogEntities())
            {
                User user = new User();
                user = c.Users.Where(u => u.Email == email).SingleOrDefault();
                if (user != null)
                {
                    byte[] passToByte = StringToBytes(password);
                    byte[] passToHash = BytesToHash(passToByte);
                    bool goodPass = true;
                    for (int i = 0; i < user.Password.Length; i++)
                    {
                        if (user.Password[i] != passToHash[i])
                        {
                            goodPass = false;
                            break;
                        }
                    }

                    if (goodPass)
                    {
                        ViewBag.UserName = user.Name;
                        Response.SetCookie(new HttpCookie("UserName", user.Name));
                        Response.SetCookie(new HttpCookie("UserId", user.Id.ToString()));
                        //Session["Layout"] = new Layout { Name = user.Name, LogOut = "Log out" };
                        return RedirectToAction("Index", "User");
                    }
                    else
                    {
                        ViewBag.LoginMessage = "Incorrect password!";
                        return View("Index");
                    }
                }
                else
                {
                    ViewBag.LoginMessage = "Incorrect login, user doesn't exist!";
                    return View("Index");
                }
            }
        }
예제 #35
0
 public TopicAdminController()
 {
     _db = new MyBlogEntities();
 }