Exemple #1
0
        public async Task <ActionResult> CreateArticle(DTOArticleEdition article)
        {
            try
            {
                var claimsUserEmail = HttpContext.User.Identity.Name;

                var user      = _userRepo.GetUserByEmail(claimsUserEmail);
                var imagePath = "wwwroot/ArticleImages/";

                var    newArticle = DTOArticleEditionToArticle(article, user);
                string filename   = null;
                string extension  = null;
                if (article.ImageFile != null)
                {
                    filename  = Path.GetFileName(article.ImageFile.FileName);
                    extension = Path.GetExtension(article.ImageFile.FileName);
                }

                if (filename == null || extension == null)
                {
                    newArticle.ImageSource = null;
                }
                else
                {
                    var    newFilename = Path.GetRandomFileName() + extension;
                    string path        = Path.Combine(imagePath, newFilename);
                    if (!Directory.Exists(imagePath))
                    {
                        Directory.CreateDirectory(imagePath);
                    }
                    while (System.IO.File.Exists(path))
                    {
                        newFilename = Path.Combine(Path.GetRandomFileName(), extension);
                        path        = Path.Combine(imagePath, newFilename);
                    }

                    using (var fileStream = new FileStream(path, FileMode.Create))
                    {
                        await article.ImageFile.CopyToAsync(fileStream);
                    }

                    newArticle.ImageSource = "./ArticleImages/" + newFilename;
                }
                var result = await _articleRepo.Insert(newArticle);

                if (result != null)
                {
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError("CONTROLLER ARTICLE -- CreateArticle() -- Error : ", ex);
                return(BadRequest());
            }

            return(View("Create"));
        }
Exemple #2
0
        public async Task <ActionResult> EditArticleView(DTOArticleEdition article)
        {
            var email = HttpContext.User.Identity.Name;
            var user  = _userRepo.GetUserByEmail(email);

            var userArticleList = await _articleRepo.GetArticleBySellerId(user.Id);

            ViewData["UserArticleList"] = userArticleList;


            return(View("Edit"));
        }
Exemple #3
0
        /// <summary>
        /// converter
        /// </summary>
        /// <param name="article"></param>
        /// <param name="user"></param>
        /// <returns></returns>
        public static DTOArticle DTOArticleEditionToArticle(DTOArticleEdition article, DTOUser user)
        {
            var newArticle = new DTOArticle();

            newArticle.Brand       = article.Brand;
            newArticle.Category    = article.Category;
            newArticle.Condition   = article.Condition;
            newArticle.State       = "Free";
            newArticle.CreatedAt   = DateTime.Now;
            newArticle.Description = article.Description;
            newArticle.ImageSource = article.ImageSource;
            newArticle.Name        = article.Name;
            newArticle.Price       = article.Price;
            newArticle.SellerId    = user.Id;
            newArticle.Sex         = article.Sex;
            newArticle.User        = DtoUserToDtoUserPublic(user);
            return(newArticle);
        }