示例#1
0
        public CreateAlbumResponse CreateAlbum(CreateAlbumRequest request)
        {
            var response = new CreateAlbumResponse();

            var album = new Album
            {
                Genre       = _genreRepository.FindBy(request.GenreId),
                Artist      = _artistRepository.FindBy(request.ArtistId),
                Title       = request.Title,
                Description = request.Description,
                Price       = request.Price,
                AlbumArtUrl = request.AlbumArtUrl
            };

            ThrowExceptionIfAlbumIsInvalid(album);

            _albumRepository.Add(album);

            _uow.Commit();

            MvcSiteMapProvider.SiteMaps.ReleaseSiteMap();

            response.Album = album.ConvertToAlbumView();

            return(response);
        }
示例#2
0
        public async Task <AlbumResponse> Create([FromBody] CreateAlbumRequest request)
        {
            var artist = await _authenticatedUser.GetArtistAsync();

            var album = await artist.CreateAlbumAsync(request.Name);

            if (album == null)
            {
                throw new HttpException(HttpStatusCode.InternalServerError);
            }
            return(await AlbumResponse.CreateFromAlbumAsync(album));
        }
示例#3
0
        public object Any(CreateAlbumRequest request)
        {
            AutoMapper.Mapper.CreateMap<CreateAlbumRequest.ImageRequest, CreateAlbumRequestModel.ImageRequest>();
            AutoMapper.Mapper.CreateMap<CreateAlbumRequest, CreateAlbumRequestModel>()
                .ForMember(m=>m.ListImage, p=>p.MapFrom(x=>x.ListImage));

            var data = AutoMapper.Mapper.Map<CreateAlbumRequestModel>(request);
            
            var response = new PostRepository().CreateAlbum(data);

            AutoMapper.Mapper.CreateMap<PostEditResponseModel, PostEditResponse>();
            return AutoMapper.Mapper.Map<PostEditResponse>(response);

        }
示例#4
0
        private Album CreateAlbum()
        {
            Album albumNew = new Album();

            albumNew.Title = albumTitle;

            CreateAlbumRequest createAlbumRequest = new CreateAlbumRequest();

            createAlbumRequest.Album = albumNew;

            Album responseAlbum = service.Albums.Create(createAlbumRequest).Execute();

            _logger.LogInformation($"Album created: {responseAlbum.Title}");


            return(responseAlbum);
        }
示例#5
0
        private Album CreateAlbum()
        {
            Album album = new Album();

            album.Title = albumTitle;

            CreateAlbumRequest createAlbumRequest = new CreateAlbumRequest();

            createAlbumRequest.Album = album;

            Album responseAlbum = service.Albums.Create(createAlbumRequest).Execute();

            Console.WriteLine($"Album created: {responseAlbum.Title}");


            return(responseAlbum);
        }
示例#6
0
        private static void UploadPhotos(string postPath, PhotosLibraryService photosService, string accessToken,
                                         string postPathName, string[] imageFilenames)
        {
            var albums = photosService.Albums.List().Execute();
            if (albums.Albums.Any(a => a.Title == postPathName && a.MediaItemsCount == imageFilenames.Length))
            {
                "Found existing album with same photo count, skipping".Dump();
                return;
            }

            var albumRq = new CreateAlbumRequest {Album = new Album {Title = postPathName}};

            var response = photosService.Albums.Create(albumRq).Execute().Dump("Created album");


            var photosRq = new BatchCreateMediaItemsRequest
                           {
                               AlbumId = response.Id,
                               NewMediaItems = new List<NewMediaItem>()
                           };

            var shareRq = new ShareAlbumRequest
                          {
                              SharedAlbumOptions = new SharedAlbumOptions
                                                   {IsCollaborative = false, IsCommentable = false}
                          };

            var shareResp = photosService.Albums.Share(shareRq, photosRq.AlbumId).Execute().Dump();
            shareResp.Dump("Shared album");


            foreach (var imageFilename in imageFilenames)
            {
                var imagePath = Path.Combine(Path.GetDirectoryName(postPath), imageFilename);
                var uploadId = UploadImage(imagePath, accessToken);

                photosRq.NewMediaItems.Add(new NewMediaItem
                                           {
                                               SimpleMediaItem = new SimpleMediaItem {UploadToken = uploadId}
                                           });
            }


            var addedPhoto = photosService.MediaItems.BatchCreate(photosRq).Execute().Dump("Uploaded photos");
        }
示例#7
0
 public int Post(CreateAlbumRequest albumViewModel, CancellationToken ct)
 {
     return(_albumService.AddAlbum(albumViewModel, ct));
 }