Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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"));
        }