/// <summary> /// Posts the building picture async. /// </summary> /// <returns>The building picture async.</returns> /// <param name="buildingPictureDto">Building picture dto.</param> public async Task <BuildingPictureApiDto> PostBuildingPictureAsync(BuildingPictureDto buildingPictureDto) { buildingPictureDto.FileToBase64 = _customEncoder.FileToBase64(buildingPictureDto.File); var buildingPictureApiDto = await _dal.PostBuildingPictureAsync(buildingPictureDto); return(buildingPictureApiDto); }
public async Task <IActionResult> Post(IFormFile file, int buildingId) { //Get header token if (Request.Headers.TryGetValue("Authorization", out StringValues headerValues) && buildingId > -1) { var token = _customEncoder.DecodeBearerAuth(headerValues.First()); if (token != null) { var user = await _userService.GetUserAsyncByToken(token); if (user != null) { //Verify if the token exist and is not expire if ((await _authenticationService.CheckIfTokenIsValidAsync(token) && user.IsAdmin == 1) || await _authenticationService.CheckIfTokenIsValidAsync(token, user.UserId)) { var buildingPictureDto = new BuildingPictureDto { File = file, BuildingId = buildingId }; var buildingPictureApiDto = await _buildingService.PostBuildingPictureAsync(buildingPictureDto); if (buildingPictureApiDto == null) { return(StatusCode(404, "Unable to create building picture.")); } //byte[] fileBytes = Convert.FromBase64String(buildingPictureApiDto.FileToBase64); //var f = File(fileBytes, "image/png"); //return f; var pictureInformation = new BuildingPictureInformationApiDto() { BuildingId = buildingPictureApiDto.BuildingId, BuildingPictureId = buildingPictureApiDto.BuildingPictureId }; return(Ok(pictureInformation)); } return(StatusCode(401, "Invalid token.")); } return(StatusCode(403, "Invalid user.")); } return(StatusCode(401, "Invalid authorization.")); } return(StatusCode(401, "Invalid authorization.")); }