/// <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);
 }
Exemplo n.º 2
0
        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");
        }