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); }
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)); }
/// <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); }
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); }
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); }
/// <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); }
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; } }