Beispiel #1
0
        public async Task <IActionResult> EditForum(AddForumModel model)
        {
            var imageUri = model.ImageUrl;

            if (model.ImageUrl == "")
            {
                imageUri = "/images/users/default.png";
            }

            if (model.ImageUpload != null && model.ImageUpload.Length != 0)
            {
                //var blockBlob = UploadForumImage(model.ImageUpload);
                //imageUri = blockBlob.Uri.AbsoluteUri;


                string pathRoot       = _environment.WebRootPath;
                string path_to_Images = pathRoot + "\\Images\\forum\\" + model.ImageUpload.FileName;

                using (var stream = new FileStream(path_to_Images, FileMode.Create))
                {
                    await model.ImageUpload.CopyToAsync(stream);
                }

                imageUri = "/Images/forum/" + model.ImageUpload.FileName;
            }
            model.ImageUrl = imageUri;
            await _forumService.UpdateForum(model.Id, model.Title, model.Description, model.ImageUrl);

            return(RedirectToAction("index"));
        }
        public async Task <IActionResult> AddForum(AddForumModel model)
        {
            //set default image for the new forums
            var imageUri = "/images/users/default.png";

            if (model.ImageUpload != null)
            {
                var blockBlob = UploadForumImage(model.ImageUpload);
                imageUri = blockBlob.Uri.AbsoluteUri;
            }

            var forum = new Forum
            {
                Id          = model.ForumId,
                Title       = model.Title,
                Description = model.Description,
                Created     = DateTime.Now,
                ImageUrl    = imageUri
            };

            if (forum.Id > 0)
            {
                await _forumService.UpdateForum(forum);
            }
            else
            {
                await _forumService.Create(forum);
            }

            return(RedirectToAction("Index", "Forum"));
        }
        public async Task <IActionResult> Update(ForumUpdateModel model)
        {
            var    forum    = _forumService.GetById(model.Id);
            string urlImage = forum.ImageUrl;

            if (ModelState.IsValid)
            {
                string roorPath = _hostingEnviroment.WebRootPath;
                var    files    = HttpContext.Request.Form.Files;

                var supportedTypes = new[] { ".jpg", ".jpeg", ".png", ".gif" };
                var idNew          = Guid.NewGuid();
                if (files.Count != 0)
                {
                    var uploads   = Path.Combine(roorPath, SD.FolderDefault + "/" + SD.FolderImages + "/" + SD.pathForum);
                    var extension = Path.GetExtension(files[0].FileName).ToLower();

                    using (var filestream = new FileStream(Path.Combine(uploads, idNew + extension), FileMode.Create))
                    {
                        files[0].CopyTo(filestream);
                    }
                    if (!supportedTypes.Contains(extension))
                    {
                        TempData["Message"] = "Định dạng file không hợp lệ !";
                        return(RedirectToAction("Update", "Forum", new{ Id = model.Id }));
                    }
                    else
                    {
                        urlImage = idNew + extension;
                    }
                }
                await _forumService.UpdateForum(model.Id,
                                                model.Title,
                                                model.Description, urlImage);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(nameof(Update)));
        }