/// <summary> /// Creates the media element. /// </summary> /// <param name="mediaDto">The media dto.</param> /// <returns></returns> public async Task <Guid> CreateMediaElement(CreateMediaRequestDto mediaDto) { var token = this.authDataStorage.GetToken(); var mediaId = await this.healthLibraryService.CreateMediaElement(mediaDto, this.customerContext.Customer.Id, token); return(mediaId); }
public async Task <Guid> CreateMediaElement(CreateMediaRequestDto mediaDto, int customerId, string token) { var url = string.Format("/api/{0}/medias", customerId); var createMediaResponse = await this.apiClient.SendRequestAsync <MediaResponseDto>(url, mediaDto, Method.POST, null, token); return(createMediaResponse.Id); }
private async Task <Guid?> CreateMedia(MediaViewModel mediaElementModel) { if (mediaElementModel == null) { return(null); } if (mediaElementModel.Id.HasValue) { return(mediaElementModel.Id.Value); } if (string.IsNullOrEmpty(mediaElementModel.FileName)) { return(null); } var fileContent = this.GetFileFromTempFolder(mediaElementModel.FileName); if (fileContent.Length <= 0) { return(null); } var fileContentBase64 = Convert.ToBase64String(fileContent); var createMediaDto = new CreateMediaRequestDto() { Name = mediaElementModel.Name, OriginalFileName = mediaElementModel.FileName, Content = fileContentBase64, ContentType = mediaElementModel.ContentType, Tags = mediaElementModel.Tags }; return(await this.CreateMediaElement(createMediaDto)); }
public async Task <IHttpActionResult> CreateMedia(int customerId, CreateMediaRequestDto request) { var createResult = await controllerHelper.CreateMedia(customerId, request); if (createResult.Status != CreateMediaStatus.Success) { return(Content( HttpStatusCode.BadRequest, new ErrorResponseDto() { Error = ErrorCode.InvalidRequest, Message = ErrorCode.InvalidRequest.Description(), Details = createResult.Status.Description() } )); } return(Created( new Uri(Request.RequestUri, createResult.Content.ToString()), new PostResponseDto <Guid> { Id = createResult.Content } )); }
public async Task <Guid> CreateMediaElement(CreateMediaRequestDto mediaDto, int customerId, string token) { return(await this.healthLibraryDataProvider.CreateMediaElement(mediaDto, customerId, token)); }
/// <summary> /// Creates the specified media dto. /// </summary> /// <param name="customerId">The customer identifier.</param> /// <param name="mediaDto">The media dto.</param> /// <returns></returns> public async Task <OperationResultDto <Guid, CreateMediaStatus> > CreateMedia(int customerId, CreateMediaRequestDto mediaDto) { var contentModel = Mapper.Map <CreateMediaRequestDto, ContentModel>(mediaDto); var uploadResult = await contentStorage.UploadContent(contentModel); if (uploadResult == null) { return(new OperationResultDto <Guid, CreateMediaStatus>() { Status = CreateMediaStatus.InvalidContentOrSourceContentUrlProvided }); } var media = new Media() { CustomerId = customerId, Name = mediaDto.Name, Description = mediaDto.Description, ContentType = mediaDto.ContentType, ContentLength = uploadResult.OriginalContentLength, Tags = await tagsService.BuildTagsList(customerId, mediaDto.Tags), OriginalStorageKey = uploadResult.OriginalStorageKey, ThumbnailStorageKey = uploadResult.ThumbnailStorageKey, OriginalFileName = uploadResult.OriginalFileName }; var createdMedia = await mediaService.Create(media); await tagsSearchCacheHelper.AddOrUpdateTags(customerId, createdMedia.Tags.Select(t => t.Name).ToList()); var unusedTags = await tagsService.RemoveUnusedTags(customerId); await tagsSearchCacheHelper.RemoveTags(customerId, unusedTags); return(new OperationResultDto <Guid, CreateMediaStatus>() { Content = createdMedia.Id, Status = CreateMediaStatus.Success }); }