Advertisement
Guest User

Untitled

a guest
Apr 10th, 2022
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.43 KB | None | 0 0
  1. [HttpPost]
  2.         [Route("Tickets/UploadImage")]
  3.         [DisableRequestSizeLimit]
  4.         [Authorize(AuthenticationSchemes = "Bearer")]
  5.         public async Task<IActionResult> UploadDamageImage([FromQuery]Guid DamageTicketId)
  6.         {
  7.             string userId = User.FindFirstValue(ClaimTypes.NameIdentifier);
  8.             ApplicationUser user = await _userManager.FindByIdAsync(userId);
  9.             if (user == null)
  10.                 return Unauthorized();
  11.  
  12.             var foundedTicket = await _dbContext.DamageTickets.FirstOrDefaultAsync(x => !x.IsClosed && x.ApplicationUserId == user.Id && x.Id == DamageTicketId);
  13.             if (foundedTicket == null)
  14.                 return NotFound();
  15.  
  16.             try
  17.             {
  18.                 if(Request.Form.Files == null || Request.Form.Files.Count() == 0)
  19.                     return BadRequest("No files to upload");
  20.  
  21.                 var file = Request.Form.Files[0];
  22.  
  23.                 string wwwPath = _hostingEnvironment.WebRootPath;
  24.                 string contentPath = _hostingEnvironment.ContentRootPath;
  25.                 string path = Path.Combine(wwwPath, "Images", "VehicleDamageImages");
  26.                 if (!Directory.Exists(path))
  27.                 {
  28.                     Directory.CreateDirectory(path);
  29.                 }
  30.                 if (file.Length == 0)
  31.                     return BadRequest();
  32.  
  33.                 string fileName = Guid.NewGuid().ToString() + System.IO.Path.GetExtension(file.FileName);
  34.                 using (FileStream stream = new FileStream(Path.Combine(path, fileName), FileMode.Create))
  35.                 {
  36.                     await file.CopyToAsync(stream);
  37.                 }
  38.  
  39.                 //VehicleDamageImage vehicleDamageImage = new VehicleDamageImage()
  40.                 //{
  41.                 //    Id = Guid.NewGuid(),
  42.                 //    DamageTicketId = foundedTicket.Id,
  43.                 //    ImageName = fileName
  44.                 //};
  45.                 //await _dbContext.VehicleDamageImages.AddAsync(vehicleDamageImage);
  46.                 //await _dbContext.SaveChangesAsync();
  47.  
  48.                 return Ok(new Response());
  49.             }
  50.             catch (Exception ex)
  51.             {
  52.                 return Ok(new Response()
  53.                 {
  54.                     success = false,
  55.                     error = ex.Message
  56.                 });
  57.                 return StatusCode(500, $"Internal server error: {ex}");
  58.             }
  59.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement