public async Task <long> CreateNewAsync(BlogCreateDto newBlog) { try { return(await _blogDalFacade.InsertAndGetIdAsync(newBlog)); } catch (Exception ex) { throw new Exception(ex.Message); } }
public async Task <bool> UpdateAsync(BlogCreateDto entity) { try { return(await _blogDalFacade.UpdateAsync(entity)); } catch (Exception ex) { throw new Exception(ex.Message); } }
public async Task <ActionResult> Create([FromForm] BlogCreateDto blogCreateDto) { var mapperBlog = _mapper.Map <Blog>(blogCreateDto); string folderName = Path.Combine("images", "blog"); string fileName = await blogCreateDto.Photo.SaveImg(_env.WebRootPath, folderName); mapperBlog.PhotoUrl = fileName; await _blogRepository.CreateBlogAsync(mapperBlog); return(Ok(mapperBlog)); }
public async Task CreateAsync(BlogCreateDto blogCreateDto) { Blog newBlog = _mapper.Map <Blog>(blogCreateDto); newBlog.Image = Guid.NewGuid().ToString() + newBlog.Photo.FileName; string path = Path.Combine(_env.WebRootPath, "blogImages"); string resultPath = Path.Combine(path, newBlog.Image); FileStream fileStream = new FileStream(resultPath, FileMode.Create); await newBlog.Photo.CopyToAsync(fileStream); await _context.Blogs.AddAsync(newBlog); await _context.SaveChangesAsync(); }
public async Task <long> InsertAndGetIdAsync(BlogCreateDto entity) { try { var newEntity = _mapper.Map <BlogEntity>(entity); _context.Blogs.Add(newEntity); await _context.SaveChangesAsync(); return(newEntity.Id); } catch (Exception ex) { throw new Exception(ex.Message); } }
public async Task <bool> UpdateAsync(BlogCreateDto entity) { try { var storage = await _context.Blogs.Where(x => x.Id == entity.Id).FirstOrDefaultAsync(); if (storage == null) { throw new Exception("Not found"); } storage = _mapper.Map <BlogEntity>(storage); await _context.SaveChangesAsync(); return(true); } catch (Exception ex) { throw new Exception(ex.Message); } }
public async Task <ActionResult> Post([FromForm] BlogCreateDto blogCreateDto) { if (!blogCreateDto.Photo.ContentType.Contains("image/")) { return(BadRequest("Please Select Image Type")); } if (blogCreateDto.Photo.Length / 1024 > 500) { return(BadRequest("Image Max Size be 200 KB")); } if (!ModelState.IsValid) { return(BadRequest()); } await _blogRepo.CreateAsync(blogCreateDto); return(NoContent()); }
public async Task <ActionResult <string> > CreateBlog([FromForm] BlogCreateDto blog) { var user = await GetCurrentUserAsync(HttpContext.User); if (user == null) { return(Unauthorized(new ApiResponse(401))); } try { //check id category existing, example: Convert string "[1, 2, 3]" to int list List <int> _categoriesIds = blog.Categories.Trim('[', ']').Split(',').Select(int.Parse).ToList(); foreach (var id in _categoriesIds) { var category = await _context.BlogCategory.FindAsync(id); if (category == null) { return(NotFound(new ApiResponse(404, "Category Id:" + id + ", Not exist!"))); } } var newBlog = _mapper.Map <BlogCreateDto, Blog>(blog); newBlog.UserId = user.Id; newBlog.AddedDateTime = DateTime.Now; await _context.Blog.AddAsync(newBlog); await _context.SaveChangesAsync(); // Add Categories foreach (var id in _categoriesIds) { var newCat = new BlogCategoryList { BlogId = newBlog.Id, BlogCategoryId = id }; await _context.BlogCategoryList.AddAsync(newCat); } await _context.SaveChangesAsync(); var defaultImage = true; if (blog.Files.Count > 0) { foreach (var img in blog.Files) { if (img != null && img.Length > 0) { // this path webHostEnvironment.WebRootPath is under wwwroot folder string filePath = Path.Combine(_webHostEnvironment.WebRootPath + BLOG_IMAGE_DIRECTORY); if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string fileName = (Guid.NewGuid().ToString().Substring(0, 8)) + "_" + img.FileName; filePath = Path.Combine(filePath, fileName); using (FileStream fileStream = System.IO.File.Create(filePath)) { img.CopyTo(fileStream); fileStream.Flush(); var upload = new Upload { Name = fileName, Path = BLOG_IMAGE_DIRECTORY + fileName, AddedDateTime = DateTime.Now, UserId = user.Id }; await _context.Upload.AddAsync(upload); await _context.SaveChangesAsync(); var imgBlog = new UploadBlogImagesList { UploadId = upload.Id, BlogId = newBlog.Id, UploadTypeId = 3, Default = defaultImage }; // to set the first image as a default image defaultImage = false; await _context.UploadBlogImagesList.AddAsync(imgBlog); await _context.SaveChangesAsync(); } } } return(Ok(new ApiResponse(201))); // Successfully Add Blog, Uploaded Image successfully."); } return(Ok("Add Blog successfully, but No File to Upload it!")); } catch (Exception ex) { return(BadRequest(new ApiResponse(400, $"Error: {ex.Message}", true, "somthin wrong! in BlogCreate Action!", 1, new System.Diagnostics.StackTrace(true).GetFrame(0).GetFileName(),/* Get File Name */ (new System.Diagnostics.StackFrame(0, true)).GetFileLineNumber()))); } }
public async Task <IActionResult> EditPost([FromBody] BlogCreateDto newPost) { var result = await _blogService.UpdateAsync(newPost); return(Json(result)); }
public async Task <IActionResult> CreateNewBlog([FromBody] BlogCreateDto newBlog) { var result = await _blogService.CreateNewAsync(newBlog); return(Json(result)); }