Beispiel #1
0
        public List <PostImageDTO> DeletePost(int ID)
        {
            List <PostImageDTO> dtoList = new List <PostImageDTO>();

            using (POSTDATAEntities db = new POSTDATAEntities())
            {
                Post post = db.Posts.First(x => x.ID == ID);
                post.isDeleted        = true;
                post.DeletedDate      = DateTime.Now;
                post.LastUpdateDate   = DateTime.Now;
                post.LastUpdateUserID = UserStatic.UserID;
                db.SaveChanges();
                List <PostImage> imageList = db.PostImages.Where(x => x.PostID == ID).ToList();
                foreach (PostImage item in imageList)
                {
                    PostImageDTO dto = new PostImageDTO();
                    dto.ImagePath         = item.ImagePath;
                    item.isDeleted        = true;
                    item.DeletedDate      = DateTime.Now;
                    item.LastUpdateDate   = DateTime.Now;
                    item.LastUpdateUserID = UserStatic.UserID;
                    dtoList.Add(dto);
                }
                db.SaveChanges();
            }

            return(dtoList);
        }
Beispiel #2
0
        public ActionResult UpdatePost(PostDTO model)
        {
            IEnumerable <SelectListItem> selectList = CategoryBLL.GetCategoriesForDropdown();

            if (ModelState.IsValid)
            {
                if (model.PostImage[0] != null)
                {
                    List <PostImageDTO> imageList = new List <PostImageDTO>();

                    foreach (var item in model.PostImage)
                    {
                        HttpPostedFileBase postedFile = item;
                        string             ext        = Path.GetExtension(postedFile.FileName);
                        string             fileName   = string.Empty;
                        if (ext != ".jpg" && ext != ".jpeg" && ext != ".png" && ext != ".gif")
                        {
                            ViewBag.ProcessState = General.Messages.ExtensionError;
                            model.Categories     = CategoryBLL.GetCategoriesForDropdown();
                            return(View(model));
                        }
                        else
                        {
                            Bitmap userImage    = new Bitmap(postedFile.InputStream);
                            Bitmap resizeImage  = new Bitmap(userImage, 750, 422);
                            string uniqueNumber = Guid.NewGuid().ToString();
                            fileName = uniqueNumber + postedFile.FileName;
                            resizeImage.Save(Server.MapPath("~/Areas/Admin/Content/postimage/" + fileName));
                            PostImageDTO dto = new PostImageDTO();
                            dto.ImagePath = fileName;
                            imageList.Add(dto);
                        }
                    }

                    model.PostImageList = imageList;
                }

                if (bll.UpdatePost(model))
                {
                    ViewBag.ProcessState = General.Messages.UpdateSuccess;
                    ModelState.Clear();
                }
                else
                {
                    ViewBag.ProcessState = General.Messages.GeneralError;
                }
            }
            else
            {
                ViewBag.ProcessState = General.Messages.EmptyArea;
            }

            model            = bll.GetPostById(model.ID);
            model.Categories = selectList;
            model.isUpdate   = true;

            return(View(model));
        }
        public PostDTO GetPostDetail(int ID)
        {
            Post post = db.Posts.First(x => x.ID == ID);

            post.ViewCount++;
            db.SaveChanges();
            PostDTO dto = new PostDTO();

            dto.ID           = post.ID;
            dto.ViewCount    = post.ViewCount;
            dto.Title        = post.Title;
            dto.ShortContent = post.ShortContent;
            dto.PostContent  = post.PostContent;
            dto.Language     = post.LanguageName;
            dto.SeoLink      = post.SeoLink;
            dto.CategoryID   = post.CategoryID;
            dto.CategoryName = (db.Categories.First(x => x.ID == dto.CategoryID)).CategoryName;
            List <PostImage>    images       = db.PostImages.Where(x => x.isDeleted == false && x.PostID == ID).ToList();
            List <PostImageDTO> imagedtolist = new List <PostImageDTO>();

            foreach (var item in images)
            {
                PostImageDTO img = new PostImageDTO();
                img.ID        = item.ID;
                img.ImagePath = item.ImagePath;
                imagedtolist.Add(img);
            }
            dto.PostImages   = imagedtolist;
            dto.CommentCount = db.Comments.Where(x => x.isDeleted == false && x.PostID == ID && x.isApproved == true).Count();
            List <Comment>    comments       = db.Comments.Where(x => x.isDeleted == false && x.PostID == ID && x.isApproved == true).ToList();
            List <CommentDTO> commentdtolist = new List <CommentDTO>();

            foreach (var item in comments)
            {
                CommentDTO cdto = new CommentDTO();
                cdto.ID             = item.ID;
                cdto.AddDate        = item.AddDate;
                cdto.CommentContent = item.CommentContent;
                cdto.Name           = item.NameSurname;
                cdto.Email          = item.Email;
                commentdtolist.Add(cdto);
            }
            dto.CommentList = commentdtolist;
            List <PostTag> tags    = db.PostTags.Where(x => x.isDeleted == false && x.PostID == ID).ToList();
            List <TagDTO>  taglist = new List <TagDTO>();

            foreach (var item in tags)
            {
                TagDTO tdto = new TagDTO();
                tdto.ID         = item.ID;
                tdto.TagContent = item.TagContent;
                taglist.Add(tdto);
            }
            dto.TagList = taglist;
            return(dto);
        }
 public ActionResult AddPost(PostDTO model)
 {
     if (model.PostImage[0] == null)
     {
         ViewBag.ProcessState = General.Messages.ImageMissing;
     }
     else if (ModelState.IsValid)
     {
         foreach (var item in model.PostImage)
         {
             Bitmap image = new Bitmap(item.InputStream);
             string ext   = Path.GetExtension(item.FileName);
             if (ext != ".png" && ext != ".jpeg" && ext != ".jpg")
             {
                 ViewBag.ProcessState = General.Messages.ExtensionError;
                 model.Categories     = CategoryBLL.GetCategoriesForDropdown();
                 return(View(model));
             }
         }
         List <PostImageDTO> imagelist = new List <PostImageDTO>();
         foreach (var postedfile in model.PostImage)
         {
             Bitmap image        = new Bitmap(postedfile.InputStream);
             Bitmap resizeimage  = new Bitmap(image, 750, 422);
             string filename     = "";
             string uniqueNumber = Guid.NewGuid().ToString();
             filename = uniqueNumber + postedfile.FileName;
             resizeimage.Save(Server.MapPath("~/Areas/Admin/Content/PostImage/" + filename));
             PostImageDTO dto = new PostImageDTO();
             dto.ImagePath = filename;
             imagelist.Add(dto);
         }
         model.PostImages = imagelist;
         if (bll.AddPost(model))
         {
             ViewBag.ProcessState = General.Messages.AddSuccess;
             ModelState.Clear();
             model = new PostDTO();
         }
         else
         {
             ViewBag.ProcessState = General.Messages.GeneralError;
         }
     }
     else
     {
         ViewBag.ProcessState = General.Messages.EmptyArea;
     }
     model.Categories = CategoryBLL.GetCategoriesForDropdown();
     return(View(model));
 }
Beispiel #5
0
        /// <summary>
        /// Gets a specific Image from the database
        /// </summary>
        /// <param name="imageId">The Id of the image</param>
        /// <returns>A single PostImageDTO</returns>
        public async Task <PostImageDTO> GetASpecificImage(int imageId)
        {
            var image = await _context.PostImages.Where(x => x.ID == imageId).FirstOrDefaultAsync();

            var imageDTO = new PostImageDTO()
            {
                Id       = image.ID,
                UserId   = image.UserId,
                ImageURI = _cloudImage.GetImageUrl(image.CloudStorageKey),
                Created  = image.Created,
                Modified = image.Modified
            };

            return(imageDTO);
        }
Beispiel #6
0
        public List <PostImageDTO> GetPostImagesWithPostID(int postID)
        {
            List <PostImageDTO> dtoList = new List <PostImageDTO>();

            using (POSTDATAEntities db = new POSTDATAEntities())
            {
                List <PostImage> list = db.PostImages.Where(x => x.isDeleted == false && x.PostID == postID).ToList();
                foreach (PostImage item in list)
                {
                    PostImageDTO dto = new PostImageDTO();
                    dto.ID        = item.ID;
                    dto.ImagePath = item.ImagePath;
                    dtoList.Add(dto);
                }
            }
            return(dtoList);
        }
Beispiel #7
0
        public List <PostImageDTO> GetPostImagesByPostId(int iD)
        {
            List <PostImageDTO> imageListDTO = new List <PostImageDTO>();

            using (POSTDATAEntities db = new POSTDATAEntities())
            {
                List <PostImage> imageList = db.PostImages.Where(x => x.isDeleted == false && x.PostID == iD).ToList();

                foreach (var item in imageList)
                {
                    PostImageDTO dto = new PostImageDTO();
                    dto.ID        = item.ID;
                    dto.ImagePath = item.ImagePath;
                    imageListDTO.Add(dto);
                }
            }
            return(imageListDTO);
        }
Beispiel #8
0
        /// <summary>
        /// Updates a specific image entry in the database
        /// </summary>
        /// <param name="postImage">A PostImageDTO to be use to update the DB</param>
        /// <returns>If successful the DTO gets sent back to the caller</returns>
        public async Task <PostImageDTO> Update(PostImageDTO postImage, int imageId)
        {
            PostImage updateImage = new PostImage()
            {
                ID      = postImage.Id,
                UserId  = postImage.UserId,
                Created = postImage.Created
            };

            updateImage.Modified = DateTime.UtcNow;

            var image = await _context.PostImages.Where(x => x.ID == postImage.Id).FirstOrDefaultAsync();

            updateImage.CloudStorageKey = image.CloudStorageKey;
            image.UserId = postImage.UserId;

            _context.Entry(image).State = EntityState.Modified;
            await _context.SaveChangesAsync();

            return(postImage);
        }
Beispiel #9
0
        public List <PostImageDTO> DeletePost(int iD)
        {
            try
            {
                List <PostImageDTO> imageListDTO = new List <PostImageDTO>();

                using (POSTDATAEntities db = new POSTDATAEntities())
                {
                    Post post = db.Posts.First(x => x.ID == iD);
                    post.isDeleted        = true;
                    post.DeletedDate      = DateTime.Now;
                    post.LastUpdateDate   = DateTime.Now;
                    post.LastUpdateUserID = UserStatic.UserID;
                    db.SaveChanges();

                    List <PostImage> imageList = db.PostImages.Where(x => x.PostID == iD).ToList();

                    foreach (var item in imageList)
                    {
                        PostImageDTO dto = new PostImageDTO();
                        dto.ImagePath         = item.ImagePath;
                        item.isDeleted        = true;
                        item.DeletedDate      = DateTime.Now;
                        item.LastUpdateDate   = DateTime.Now;
                        item.LastUpdateUserID = UserStatic.UserID;
                        imageListDTO.Add(dto);
                    }
                    db.SaveChanges();
                }

                return(imageListDTO);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }