public IActionResult OnPostDeletePic(int PictureId) { Data.ArticlePicture articlePicture = _context.ArticlePicture.Find(PictureId); var status = "fail"; if (articlePicture != null) { _context.ArticlePicture.Remove(articlePicture); _context.SaveChanges(); status = "#image" + PictureId; return(new JsonResult(status)); } return(new JsonResult(status)); }
public IActionResult OnPostAddPic(List <IFormFile> UploadImages, string UploadCaptions) { var artId = ArticleId; if (UploadCaptions == null) { var error = "Please enter captions"; return(new JsonResult(error)); } if (UploadImages.Count == 0) { var error = "No Images Selected"; return(new JsonResult(error)); } var captionArray = UploadCaptions.Split(";"); if (UploadImages.Count != captionArray.Count()) { var error = "Missing Captions"; return(new JsonResult(error)); } foreach (var item in captionArray) { if (item == null || item == "" || item == " ") { var error = "Empty Caption Found"; return(new JsonResult(error)); } } var i = 0; foreach (var upFile in UploadImages) { if (upFile != null || upFile.ContentType.ToLower().StartsWith("image/")) { MemoryStream ms = new MemoryStream(); upFile.OpenReadStream().CopyTo(ms); System.Drawing.Image image = System.Drawing.Image.FromStream(ms); Data.ArticlePicture upArticlePicture = new Data.ArticlePicture() { ArticleId = artId, ArticlePictureCaption = captionArray[i], ArticlePictureBytes = ms.ToArray() }; _context.ArticlePicture.Add(upArticlePicture); } i++; } _context.SaveChanges(); List <Data.ArticlePicture> articlePictures = _context.ArticlePicture.Where(a => a.ArticleId == artId).ToList(); var returnImages = new List <ReturnImage>(); foreach (var item in articlePictures) { var temp = new ReturnImage { Base64Str = Convert.ToBase64String(item.ArticlePictureBytes), PictureId = item.ArticlePictureId }; returnImages.Add(temp); } return(new JsonResult(returnImages)); }
public async Task <IActionResult> OnPostAsync(List <IFormFile> upFiles, ICollection <string> vals, ICollection <int> valIds) { if (upFiles == null || valIds == null || vals == null) { ViewData["CategoryId"] = new SelectList(_context.Set <Data.Category>(), "CategoryId", "CategoryName"); parameters = FindFirstParams(); CheckArticleContent(); ViewData["ImageCheck"] = false; return(Page()); } else if (!ModelState.IsValid) { ViewData["CategoryId"] = new SelectList(_context.Set <Data.Category>(), "CategoryId", "CategoryName"); CheckArticleContent(); parameters = FindFirstParams(); return(Page()); } if (vals.Contains(null)) { ViewData["CategoryId"] = new SelectList(_context.Set <Data.Category>(), "CategoryId", "CategoryName"); CheckArticleContent(); parameters = FindFirstParams(); ViewData["ValError"] = "Please fill all the parameter inputs"; return(Page()); } string[] captionList = ArticlePictures.ArticlePictureCaption.Split(";"); if (upFiles.Count != captionList.Count()) { ViewData["CategoryId"] = new SelectList(_context.Set <Data.Category>(), "CategoryId", "CategoryName"); parameters = FindFirstParams(); CheckArticleContent(); ViewData["CaptionError"] = "Please enter caption for each image seperated by `;`"; return(Page()); } foreach (var item in captionList) { if (item == null || item == "" || item == " ") { ViewData["CategoryId"] = new SelectList(_context.Set <Data.Category>(), "CategoryId", "CategoryName"); ViewData["CaptionError"] = "Empty or Missing Caption Detected, Please enter caption for each image seperated by `;`"; CheckArticleContent(); parameters = FindFirstParams(); return(Page()); } } _context.Article.Add(Article); await _context.SaveChangesAsync(); var user2 = await _userManager.GetUserAsync(User); logger.Info("{user} created article {article} - carrying id {id} on {date}", user2.Email, Article.ArticleName, Article.ArticleId, DateTime.Now); var articleId = Article.ArticleId; var counter = 0; foreach (var upFile in upFiles) { if (upFile != null || upFile.ContentType.ToLower().StartsWith("image/")) { MemoryStream ms = new MemoryStream(); upFile.OpenReadStream().CopyTo(ms); System.Drawing.Image image = System.Drawing.Image.FromStream(ms); Data.ArticlePicture upArticlePicture = new Data.ArticlePicture() { ArticleId = articleId, ArticlePictureCaption = captionList[counter++], ArticlePictureBytes = ms.ToArray() }; _context.ArticlePicture.Add(upArticlePicture); } } await _context.SaveChangesAsync(); for (int i = 0; i < vals.Count; i++) { Data.ArticleParameter articleParameter = new Data.ArticleParameter() { ArticleId = articleId, ParameterId = valIds.ElementAt(i), ParameterVal = vals.ElementAt(i) }; _context.ArticleParameter.Add(articleParameter); } await _context.SaveChangesAsync(); return(RedirectToPage("../Articles")); }