public async Task <ActionResult> PutThumbnail([FromBody] HRSubmitPictureInputDto data) { if (data == null || !data.Id.HasValue) { return(new StatusCodeResult(StatusCodes.Status400BadRequest)); } try { using var updateTask = _storageService.UpdateThumbnailAsync(data.Id.Value, data.ThumbnailUrl); await updateTask; if (updateTask.IsCompletedSuccessfully) { return(Ok()); } else { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } } catch { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } }
public async Task <ActionResult <HRSubmitPictureOutputDto> > Post([FromBody] HRSubmitPictureInputDto picture) { if (picture == null) { return(new StatusCodeResult(StatusCodes.Status400BadRequest)); } try { picture.Id = Guid.NewGuid(); using var taskResult = _birdsSubmissionService.AddPictureDataAsync(picture); await taskResult; if (taskResult.IsCompletedSuccessfully) { return(Ok(taskResult.Result)); } else { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } } catch { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } }
/// <summary> /// 1- Submit picture to image Repository /// 2- Push new imqge metadata to Queue /// 3- Return image /// </summary> /// <param name="picture"></param> /// <returns></returns> public async Task <HRSubmitPictureListItemDto> AddPictureDataAsync(HRSubmitPictureInputDto picture) { if (picture != null) { //1- using var thumbnailTask = _imgCDNService.GetImageDataProcessingUrlAsync(); await thumbnailTask; if (thumbnailTask.IsCompletedSuccessfully) { picture.ThumbnailUrl = thumbnailTask.Result; var transcoPic = _mapper.Map <HRSubmitPictureInput>(picture); using var taskPicture = _birdsSubmissionrepo.AddPictureAsync(transcoPic); await taskPicture; if (taskPicture.IsCompletedSuccessfully) { var retour = _mapper.Map <HRSubmitPictureListItemDto>(taskPicture.Result); //2- using var queuetask = _queueService.OnNewMetadataImageAsync(retour); await queuetask; //3- return(retour); } else { throw new Exception("_birdsPictureConverter.AddPictureAsync fail."); } } else { throw new Exception("_imgCDNService.GetImageDataProcessingUrlAsync fail."); } } return(null); }
public async Task <ActionResult <HRSubmitPictureOutputDto> > Post([FromBody] FileToCreateDto theFile) { //TODO move in a specific serviec, controller is doing too much stuffs! if (theFile == null || theFile.SubmittedPicture == null || theFile.SubmittedPicture.Id == null || theFile.SubmittedPicture.Id == System.Guid.Empty) { return(new StatusCodeResult(StatusCodes.Status400BadRequest)); } try { //1- using var uploadTask = _storageService.UploadAsync(theFile); await uploadTask; if (uploadTask.IsCompletedSuccessfully) { //2- HRSubmitPictureInputDto pictureToSubmit = new HRSubmitPictureInputDto(); pictureToSubmit.VernacularName = theFile.SubmittedPicture?.VernacularName; pictureToSubmit.SourceType = theFile.SubmittedPicture?.SourceType; pictureToSubmit.Id = theFile.SubmittedPicture.Id; pictureToSubmit.GenderType = theFile.SubmittedPicture?.GenderType; pictureToSubmit.Credit = theFile.SubmittedPicture?.Credit; pictureToSubmit.Comment = theFile.SubmittedPicture?.Comment; pictureToSubmit.AgeType = theFile.SubmittedPicture?.AgeType; pictureToSubmit.ThumbnailUrl = theFile.SubmittedPicture?.ThumbnailUrl; pictureToSubmit.FullImageUrl = uploadTask.Result; using var subTask = _birdsSubmissionService.UpdatePictureDataAsync(pictureToSubmit); await subTask; if (subTask.IsCompletedSuccessfully) { return(Ok(subTask.Result)); } return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } else { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } } catch { return(new StatusCodeResult(StatusCodes.Status500InternalServerError)); } }
/// <summary> /// /// </summary> /// <param name="test"></param> /// <returns></returns> public async Task <HRSubmitPictureOutputDto> UpdatePictureDataAsync(HRSubmitPictureInputDto pictureInput) { if (pictureInput != null) { var transcoPic = _mapper.Map <HRSubmitPictureInput>(pictureInput); using var taskPicture = _birdsSubmissionrepo.UpdatePictureAsync(transcoPic); await taskPicture; if (taskPicture.IsCompletedSuccessfully) { return(_mapper.Map <HRSubmitPictureOutputDto>(taskPicture.Result)); } throw new Exception("_birdsPictureConverter.UpdatePictureAsync fail."); } else { return(null); } }
public async Task <string> Get(string id) { HRSubmitPictureInputDto item = new HRSubmitPictureInputDto() { AgeType = Guid.NewGuid(), Comment = "un commentaire bateau", Credit = "un credit bateau é ", //Credit = "un crédit bateâu", FullImageUrl = "http://monimage.jpeg", GenderType = Guid.NewGuid(), Id = Guid.NewGuid(), SourceType = Guid.NewGuid(), ThumbnailUrl = String.Empty, VernacularName = "turdus merula", }; using var queuetask = _queueService.OnNewMetadataImageAsync(null); await queuetask; return("yes"); }