public async Task <IActionResult> UploadIncidencePhotosVideos(Guid incidenceId, IFormFile file, FileUploadChannels channelId) { try { // upload photo/video for incidence var incidence = await _incidenceRepo.GetIncidence(incidenceId, includeRelated : false); if (incidence == null) { return(NotFound()); } if (file == null) { return(BadRequest("Null file")); } if (file.Length == 0) { return(BadRequest("Empty file")); } var user = await _userRepo.GetUser(_userRepo.GetLoggedInUserId()); var userdeployment = await _userRepo.GetUserDeploymentData(_userRepo.GetLoggedInUserId()); var orgSettings = await _settingsRepo.GetOrganizationSettings(user.OrganizationId); var deptSettings = await _settingsRepo.GetDepartmentSettings(userdeployment.DepartmentId); var generalSettings = await _settingsRepo.GetGeneralSettings(); //uploading incidence resolution proof uses the uploader's dept settings|org settings|general settings if (!_settingsRepo.ValidateFileType(deptSettings, orgSettings, generalSettings, file)) { return(BadRequest("Invalid file type")); } if (!_settingsRepo.ValidateFileSize(deptSettings, orgSettings, generalSettings, file)) { return(BadRequest("Maximun file size exceeded")); } var isFilePhotoNotVideo = _settingsRepo.IsImageFileNotVideo(deptSettings, orgSettings, generalSettings, file); var uploadsFolderPath = Path.Combine(_host.WebRootPath, "uploads"); var photo = await _photoService.UploadPhoto(incidence, file, uploadsFolderPath, channelId, isFilePhotoNotVideo); return(Ok(_mapper.Map <Media, MediaResource>(photo))); } catch (Exception ex) { ModelState.AddModelError("Error", "An error occured while performing this operation."); return(BadRequest(ModelState)); } }
public async Task <IActionResult> GetIncidence([FromRoute] Guid id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var incidences = await repository.GetIncidence(id); if (incidences == null) { return(NotFound()); } var incidenceResource = mapper.Map <Incidence, IncidenceResource>(incidences); return(Ok(incidenceResource)); }