public SearchController(OtherService services, ArtistService artistService, AlbumService albumService, SongService songService)
 {
     this.services = services;
     this.artistService = artistService;
     this.albumService = albumService;
     this.songService = songService;
 }
Beispiel #2
0
 public AlbumController(AlbumService service, AlbumQueries queries, UserQueries userQueries, IEntryThumbPersister imagePersister)
 {
     Service = service;
     this.queries = queries;
     this.userQueries = userQueries;
     this.imagePersister = imagePersister;
 }
        public void GetAll_Gets_All()
        {
            var albums = new List<Album>
            {
                new Album { AlbumId = 10, Title = "Ten" },
                new Album { AlbumId = 15, Title = "Fifteen" },
                new Album { AlbumId = 20, Title = "Twenty" }
            }.AsQueryable();

            var dbset = new Mock<DbSet<Album>>();
            dbset.As<IQueryable<Album>>().Setup(x => x.Provider).Returns(albums.Provider);
            dbset.As<IQueryable<Album>>().Setup(x => x.Expression).Returns(albums.Expression);
            dbset.As<IQueryable<Album>>().Setup(x => x.ElementType).Returns(albums.ElementType);
            dbset.As<IQueryable<Album>>().Setup(x => x.GetEnumerator()).Returns(albums.GetEnumerator());

            var context = new Mock<IUkuContext>();
            context.Setup(x => x.Albums).Returns(dbset.Object);

            var service = new AlbumService(context.Object);
            var result = service.GetAll();

            Assert.Equal(3, result.Count);
        }
Beispiel #4
0
        public ActionResult Index()
        {
            AlbumService albumService = new AlbumService();

            //Hits
            double sum   = 0;
            var    array = new List <double>();

            foreach (var all in albumService.GetHit())
            {
                sum += all.Hits;
            }

            foreach (var all in albumService.GetHit())
            {
                var value = Math.Floor(((all.Hits) / sum) * 100);
                array.Add(value);
            }
            ViewData["Hit"]   = albumService.GetHit();
            ViewData["Value"] = array;

            //WeekHits
            double weeksum    = 0;
            var    week_array = new List <double>();

            foreach (var week in albumService.GetWeekHits())
            {
                weeksum += week.WeekHits;
            }

            foreach (var week in albumService.GetWeekHits())
            {
                var week_value = Math.Floor(((week.WeekHits) / weeksum) * 100);
                week_array.Add(week_value);
            }
            ViewData["WeekHit"]   = albumService.GetWeekHits();
            ViewData["WeekValue"] = week_array;

            //MonthHits
            double monthsum    = 0;
            var    month_array = new List <double>();

            foreach (var month in albumService.GetMonthHits())
            {
                monthsum += month.MonthHits;
            }

            foreach (var month in albumService.GetMonthHits())
            {
                var month_value = Math.Floor(((month.MonthHits) / monthsum) * 100);
                month_array.Add(month_value);
            }
            ViewData["MonthHit"]   = albumService.GetMonthHits();
            ViewData["MonthValue"] = month_array;


            ViewData["Members"]  = albumService.GetMembersCount();
            ViewData["Products"] = albumService.GetProductsCount();
            ViewData["Total"]    = albumService.GetTotal();

            return(View(albumService.GetThisMonth()));
        }
Beispiel #5
0
 public ShareAlbumCommand(AlbumService albumService, UserService userService)
 {
     this.albumService = albumService;
     this.userService  = userService;
 }
 public AlbumController(IAlbumRepository albumRepository, AlbumService albumService)
 {
     database          = albumRepository;
     this.albumService = albumService;
 }
 public AlbumController(IHostingEnvironment env)
 {
     _albumService = new AlbumService(env);
     _enviroment   = env;
 }
Beispiel #8
0
 public AlbumApiController(AlbumService service, AlbumQueries queries)
 {
     this.service = service;
     this.queries = queries;
 }
Beispiel #9
0
        public string DispatchCommand(string[] commandParameters)
        {
            var userService     = new UserService();
            var townService     = new TownService();
            var tagService      = new TagService();
            var albumService    = new AlbumService();
            var pictureService  = new PictureService();
            var securityService = new SecurityService();

            string command = commandParameters[0];

            commandParameters = commandParameters.Skip(1).ToArray();
            string result = string.Empty;

            switch (command)
            {
            case "RegisterUser":
                var registerUser = new RegisterUserCommand(userService);
                result = registerUser.Execute(commandParameters);
                break;

            case "AddTown":
                var addTown = new AddTownCommand(townService);
                result = addTown.Execute(commandParameters);
                break;

            case "ModifyUser":
                var modifyUser = new ModifyUserCommand(userService, townService);
                result = modifyUser.Execute(commandParameters);
                break;

            case "Exit":
                ExitCommand exit = new ExitCommand();
                exit.Execute();
                break;

            case "DeleteUser":
                var deleteUser = new DeleteUser(userService);
                result = deleteUser.Execute(commandParameters);
                break;

            case "AddTag":
                var addTag = new AddTagCommand(tagService);
                result = addTag.Execute(commandParameters);
                break;

            case "CreateAlbum":
                var createAlbum = new CreateAlbumCommand(albumService, userService, tagService);
                result = createAlbum.Execute(commandParameters);
                break;

            case "AddTagTo":
                var addTagTo = new AddTagToCommand(tagService, albumService);
                result = addTagTo.Execute(commandParameters);
                break;

            case "MakeFriends":
                var makeFriends = new MakeFriendsCommand(userService);
                result = makeFriends.Execute(commandParameters);
                break;

            case "ListFriends":
                var listFriends = new ListFriendsCommand(userService);
                result = listFriends.Execute(commandParameters);
                break;

            case "ShareAlbum":
                var shareAlbum = new ShareAlbumCommand(albumService, userService);
                result = shareAlbum.Execute(commandParameters);
                break;

            case "UploadPicture":
                var uploadPicture = new UploadPictureCommand(pictureService, albumService);
                result = uploadPicture.Execute(commandParameters);
                break;

            case "Login":
                var loginCommand = new LoginCommand(securityService);
                result = loginCommand.Execute(commandParameters);
                break;

            case "Logout":
                var logoutCommand = new LogoutCommand(securityService);
                result = logoutCommand.Execute();
                break;
            }
            return(result);
        }
Beispiel #10
0
 public void InitDb()
 {
     AlbumService = new AlbumService(new KeyValueStoreDatabaseService(SharedLogic.DatabasePath, "Albums", "AlbumsText"));
 }
        // GET: Album
        public ActionResult Albums()
        {
            AlbumService albumService = new AlbumService();

            return(View(albumService.GetModalinform()));
        }
Beispiel #12
0
 public AlbumApiController(AlbumQueries queries, AlbumService service, IEntryThumbPersister thumbPersister)
 {
     this.queries        = queries;
     this.service        = service;
     this.thumbPersister = thumbPersister;
 }
        public async Task ReturnCorrect_Albums_With_SearchParam()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(ReturnCorrect_Albums_With_SearchParam));

            using (var arrangeContext = new AppDbContext(options))
            {
                await arrangeContext.Artists.AddAsync(Utils.CreateMockArtist("NameFirst", 700));

                await arrangeContext.Artists.AddAsync(Utils.CreateMockArtist("NameSecond", 701));

                await arrangeContext.Artists.AddAsync(Utils.CreateMockArtist("NameThird", 703));

                await arrangeContext.SaveChangesAsync();

                await arrangeContext.Albums.AddAsync(new Album
                {
                    Title     = "NameOfFirst",
                    DeezerId  = "775",
                    Tracklist = "SongListUrl",
                    ArtistId  = arrangeContext.Artists.FirstOrDefault().Id
                });

                await arrangeContext.Albums.AddAsync(new Album
                {
                    Title     = "NameOfSecond",
                    DeezerId  = "776",
                    Tracklist = "SongListUrl",
                    ArtistId  = arrangeContext.Artists.FirstOrDefault().Id
                });

                await arrangeContext.Albums.AddAsync(new Album
                {
                    Title     = "NameOfThird",
                    DeezerId  = "777",
                    Tracklist = "SongListUrl",
                    ArtistId  = arrangeContext.Artists.FirstOrDefault().Id
                });

                await arrangeContext.SaveChangesAsync();
            }

            using (var actContext = new AppDbContext(options))
            {
                var expectedAlbums = actContext.Albums
                                     .Where(x => x.Title.Contains("Third"))
                                     .Select(x => Utils.Mapper.Map <AlbumDTO>(x))
                                     .ToList();

                var sut = new AlbumService(actContext, Utils.Mapper);

                //Act
                var actualAlbums = sut.GetAllAlbums(searchString: "Third").ToList();

                //Assert
                Assert.AreEqual(expectedAlbums.Count, actualAlbums.Count);
                Assert.AreEqual(expectedAlbums.ElementAt(0).Title, actualAlbums.ElementAt(0).Title);
                Assert.AreEqual(expectedAlbums.ElementAt(0).Id, actualAlbums.ElementAt(0).Id);
                Assert.AreEqual(expectedAlbums.ElementAt(0).ArtistId, actualAlbums.ElementAt(0).ArtistId);
            }
        }
Beispiel #14
0
 public AlbumController()
 {
     this.albumService = new AlbumService();
 }
        public async Task ReturnCorrect_Albums_Ordered_ByArtistNameDesc_Correctly()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(ReturnCorrect_Albums_Ordered_ByArtistNameDesc_Correctly));

            using (var arrangeContext = new AppDbContext(options))
            {
                await arrangeContext.Artists.AddAsync(Utils.CreateMockArtist("ANameFirst", 700));

                await arrangeContext.Artists.AddAsync(Utils.CreateMockArtist("BNameSecond", 701));

                await arrangeContext.Artists.AddAsync(Utils.CreateMockArtist("CNameThird", 702));

                await arrangeContext.SaveChangesAsync();

                await arrangeContext.Albums.AddAsync(new Album
                {
                    Title     = "ANameOfFirst",
                    DeezerId  = "775",
                    Tracklist = "SongListUrl",
                    ArtistId  = arrangeContext.Artists.FirstOrDefault(i => i.DeezerId == "700").Id,
                    Artist    = arrangeContext.Artists.FirstOrDefault(i => i.DeezerId == "700")
                });

                await arrangeContext.Albums.AddAsync(new Album
                {
                    Title     = "BNameOfSecond",
                    DeezerId  = "776",
                    Tracklist = "SongListUrl",
                    ArtistId  = arrangeContext.Artists.FirstOrDefault(i => i.DeezerId == "701").Id,
                    Artist    = arrangeContext.Artists.FirstOrDefault(i => i.DeezerId == "701")
                });

                await arrangeContext.Albums.AddAsync(new Album
                {
                    Title     = "CNameOfThird",
                    DeezerId  = "777",
                    Tracklist = "SongListUrl",
                    ArtistId  = arrangeContext.Artists.FirstOrDefault(i => i.DeezerId == "702").Id,
                    Artist    = arrangeContext.Artists.FirstOrDefault(i => i.DeezerId == "702")
                });

                await arrangeContext.SaveChangesAsync();
            }

            using (var actContext = new AppDbContext(options))
            {
                var expectedAlbums = actContext.Albums
                                     .OrderBy(x => x.Artist.Name)
                                     .Select(x => Utils.Mapper.Map <AlbumDTO>(x))
                                     .ToList();

                var sut = new AlbumService(actContext, Utils.Mapper);

                //Act
                var actualAlbums = sut.GetAllAlbums(sortOrder: "NameOfArtist_decs").ToList();

                //Assert
                Assert.AreEqual(expectedAlbums.Count, actualAlbums.Count);
                Assert.AreEqual(expectedAlbums.ElementAt(0).Title, actualAlbums.ElementAt(0).Title);
                Assert.AreEqual(expectedAlbums.ElementAt(0).Id, actualAlbums.ElementAt(0).Id);
                Assert.AreEqual(expectedAlbums.ElementAt(0).ArtistId, actualAlbums.ElementAt(0).ArtistId);

                Assert.AreEqual(expectedAlbums.ElementAt(1).Title, actualAlbums.ElementAt(1).Title);
                Assert.AreEqual(expectedAlbums.ElementAt(1).Id, actualAlbums.ElementAt(1).Id);
                Assert.AreEqual(expectedAlbums.ElementAt(1).ArtistId, actualAlbums.ElementAt(1).ArtistId);

                Assert.AreEqual(expectedAlbums.ElementAt(2).Title, actualAlbums.ElementAt(2).Title);
                Assert.AreEqual(expectedAlbums.ElementAt(2).Id, actualAlbums.ElementAt(2).Id);
                Assert.AreEqual(expectedAlbums.ElementAt(2).ArtistId, actualAlbums.ElementAt(2).ArtistId);
            }
        }
 public AlbumesController(AlbumService bookService)
 {
     _albumService = bookService;
 }
Beispiel #17
0
 public AlbumController()
 {
     AlbumService = new AlbumService();
 }
 public AlbumApiController(AlbumQueries queries, AlbumService service, IEntryThumbPersister thumbPersister)
 {
     this.queries = queries;
     this.service = service;
     this.thumbPersister = thumbPersister;
 }
        protected override void CreateChildControls()
        {
            // Define a readable title
            this.Title = "Video list";

            // Add the containing panel
            EditorPanel = new Panel();
            this.Controls.Add(EditorPanel);

            // Check that we actually have everything configured
            IApiProvider apiProvider = Utilities.ApiProvider;

            if (apiProvider != null)
            {
                // * Count

                CountPanel = new Panel();
                CountPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Number of videos</div>"));
                CountPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                Count = new TextBox();
                Count.CssClass = "UserInput";
                Count.Width = new Unit("50px", CultureInfo.InvariantCulture);

                // Finish it up
                Count.AutoPostBack = false;
                CountPanel.Controls.Add(Count);
                CountPanel.Controls.Add(new LiteralControl("</nobr></div></div><div style=\"width:100%\" class=\"UserDottedLine\"></div>"));

                EditorPanel.Controls.Add(CountPanel);

                // * Album

                // Add the album selection panel
                ChannelsPanel = new Panel();
                ChannelsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Channel</div>"));
                ChannelsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                Channels = new DropDownList();
                Channels.CssClass = "UserInput";

                // Get a list of videos to throw in there
                IAlbumService albumService = new AlbumService(apiProvider);
                List<Domain.Album> albums = albumService.GetList(new AlbumListParameters
                {
                    IncludeHidden = true,
                    Size = 500,
                    OrderBy = AlbumListSort.Title,
                    Order = GenericSort.Ascending
                });

                Channels.Items.Add(new ListItem("All channels", "-"));

                foreach (Domain.Album album in albums)
                {
                    if (album.AlbumId != null) Channels.Items.Add(new ListItem(String.IsNullOrEmpty(album.Title) ? "(no title)" : album.Title, album.AlbumId.Value.ToString() + "|" + album.Token));
                }

                // Finish it up
                Channels.AutoPostBack = false;
                ChannelsPanel.Controls.Add(Channels);
                ChannelsPanel.Controls.Add(new LiteralControl("</nobr></div></div><div style=\"width:100%\" class=\"UserDottedLine\"></div>"));

                EditorPanel.Controls.Add(ChannelsPanel);

                // * Tags
                TagsPanel = new Panel();

                // Description
                TagsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Tags</div>"));
                TagsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));

                // Mode
                TagMode = new DropDownList();
                TagMode.CssClass = "UserInput";

                TagMode.Items.Add(new ListItem("Videos including any of...", "Any"));
                TagMode.Items.Add(new ListItem("Videos including all of...", "All"));

                TagMode.AutoPostBack = false;

                TagsPanel.Controls.Add(TagMode);

                TagsPanel.Controls.Add(new LiteralControl("<br>"));

                // Available
                Tags = new ListBox();
                Tags.CssClass = "UserInput";
                Tags.Width = new Unit("176px", CultureInfo.InvariantCulture);
                Tags.Height = new Unit("400px", CultureInfo.InvariantCulture);
                Tags.SelectionMode = ListSelectionMode.Multiple;

                List<Domain.Tag> tags = GetTags(apiProvider);

                foreach (Domain.Tag tag in tags)
                {
                    Tags.Items.Add(tag.Name);
                }

                TagsPanel.Controls.Add(Tags);

                TagsPanel.Controls.Add(new LiteralControl("</nobr></div></div><div style=\"width:100%\" class=\"UserDottedLine\"></div>"));
                EditorPanel.Controls.Add(TagsPanel);

                // * Order

                OrderPanel = new Panel();
                OrderPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Sorting</div>"));
                OrderPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                Order = new DropDownList();
                Order.CssClass = "UserInput";

                Order.Items.Add(new ListItem("Most recently uploaded first", "UploadedAscending"));
                Order.Items.Add(new ListItem("Most recently uploaded last", "UploadedDescending"));
                Order.Items.Add(new ListItem("Most views first", "ViewsAscending"));
                Order.Items.Add(new ListItem("Least views first", "ViewsDescending"));
                Order.Items.Add(new ListItem("Most recently published first", "PublishedDescending"));
                Order.Items.Add(new ListItem("Most recently published last", "PublishedAscending"));

                Order.AutoPostBack = false;
                OrderPanel.Controls.Add(Order);
                OrderPanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(OrderPanel);

                // * Video size

                SizePanel = new Panel();
                SizePanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Video size</div>"));
                SizePanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                Sizes = new DropDownList();
                Sizes.CssClass = "UserInput";

                foreach(VideoSize size in Enum.GetValues(typeof(VideoSize)))
                {
                    Sizes.Items.Add(new ListItem(size.ToString(), size.ToString()));
                }

                Sizes.AutoPostBack = false;
                SizePanel.Controls.Add(Sizes);
                SizePanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(SizePanel);

                // * Click to play video
                ClickPlayPanel = new Panel();
                ClickPlayPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Play on click</div>"));
                ClickPlayPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));

                ClickPlayCheck = new CheckBox();
                ClickPlayCheck.CssClass = "UserInput";
                ClickPlayCheck.AutoPostBack = false;

                ClickPlayPanel.Controls.Add(ClickPlayCheck);
                ClickPlayPanel.Controls.Add(new LiteralControl("<span>Play video on click</span>"));
                ClickPlayPanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(ClickPlayPanel);

                // * Token free emebds
                TokenFreePanel = new Panel();
                TokenFreePanel = new Panel();
                TokenFreePanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Token Free Embeds</div>"));
                TokenFreePanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));

                TokenFreeCheck = new CheckBox();
                TokenFreeCheck.CssClass = "UserInput";
                TokenFreeCheck.AutoPostBack = false;

                TokenFreePanel.Controls.Add(TokenFreeCheck);
                TokenFreePanel.Controls.Add(new LiteralControl("<span>Require users to be logged in to view video.</span>"));
                TokenFreePanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(TokenFreePanel);

            }

            base.CreateChildControls();
            this.ChildControlsCreated = true;
        }
Beispiel #20
0
 public object GetAlbums(int top, int page = 0)
 {
     return(AlbumService.GetAlbums(top, page));
 }
Beispiel #21
0
 public AlbumsController(AlbumService service)
 {
     _service = service;
 }
 public AlbumController(IAlbumRepository albumRepository, IMusicaRepository musicaRepository, AlbumService albumService, Database database)
 {
     this.albumRepository  = albumRepository;
     this.musicaRepository = musicaRepository;
     this.albumService     = albumService;
     this.database         = database;
 }
Beispiel #23
0
        protected override void CreateChildControls()
        {
            // Define a readable title
            this.Title = "Video list";

            // Add the containing panel
            EditorPanel          = new Panel();
            EditorPanel.CssClass = "ms-ToolPartSpacing";
            this.Controls.Add(EditorPanel);

            // Check that we actually have everything configured
            IApiProvider apiProvider = Utilities.ApiProvider;

            if (apiProvider != null)
            {
                // * Count

                CountPanel = new Panel();
                CountPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Number of videos</div>"));
                CountPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                Count          = new TextBox();
                Count.CssClass = "UserInput";
                Count.Width    = new Unit("50px", CultureInfo.InvariantCulture);

                // * Count

                // Finish it up
                Count.AutoPostBack = false;
                CountPanel.Controls.Add(Count);
                CountPanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(CountPanel);

                // * Count per row

                RowCountPanel = new Panel();
                RowCountPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Number of videos per row</div>"));
                RowCountPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                RowCount          = new TextBox();
                RowCount.CssClass = "UserInput";
                RowCount.Width    = new Unit("50px", CultureInfo.InvariantCulture);

                // Finish it up
                RowCount.AutoPostBack = false;
                RowCountPanel.Controls.Add(RowCount);
                RowCountPanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(RowCountPanel);

                // * Album

                // Add the album selection panel
                ChannelsPanel = new Panel();
                ChannelsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Channel</div>"));
                ChannelsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                Channels          = new DropDownList();
                Channels.CssClass = "UserInput";

                // Get a list of videos to throw in there
                IAlbumService       albumService = new AlbumService(apiProvider);
                List <Domain.Album> albums       = albumService.GetList(new AlbumListParameters
                {
                    IncludeHidden = false,
                    Size          = 500,
                    OrderBy       = AlbumListSort.Title,
                    Order         = GenericSort.Ascending
                });

                Channels.Items.Add(new ListItem("All channels", "-"));

                foreach (Domain.Album album in albums)
                {
                    if (album.AlbumId != null)
                    {
                        Channels.Items.Add(new ListItem(String.IsNullOrEmpty(album.Title) ? "(no title)" : album.Title, album.AlbumId.Value.ToString()));
                    }
                }

                // Finish it up
                Channels.AutoPostBack = false;
                ChannelsPanel.Controls.Add(Channels);
                ChannelsPanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(ChannelsPanel);

                // * Tags
                TagsPanel = new Panel();

                // Description
                TagsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Tags</div>"));
                TagsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));

                // Mode
                TagMode          = new DropDownList();
                TagMode.CssClass = "UserInput";

                TagMode.Items.Add(new ListItem("Videos including any of...", "Any"));
                TagMode.Items.Add(new ListItem("Videos including all of...", "All"));

                TagMode.AutoPostBack = false;

                TagsPanel.Controls.Add(TagMode);

                TagsPanel.Controls.Add(new LiteralControl("<br>"));

                // Available
                Tags               = new ListBox();
                Tags.CssClass      = "UserInput";
                Tags.Width         = new Unit("176px", CultureInfo.InvariantCulture);
                Tags.Height        = new Unit("400px", CultureInfo.InvariantCulture);
                Tags.SelectionMode = ListSelectionMode.Multiple;

                List <Domain.Tag> tags = GetTags(apiProvider);

                foreach (Domain.Tag tag in tags)
                {
                    Tags.Items.Add(tag.Name);
                }

                TagsPanel.Controls.Add(Tags);

                TagsPanel.Controls.Add(new LiteralControl("</nobr></div></div>"));
                EditorPanel.Controls.Add(TagsPanel);

                // * Order

                OrderPanel = new Panel();
                OrderPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Sorting</div>"));
                OrderPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                Order          = new DropDownList();
                Order.CssClass = "UserInput";

                Order.Items.Add(new ListItem("Most recently uploaded first", "UploadedAscending"));
                Order.Items.Add(new ListItem("Most recently uploaded last", "UploadedDescending"));
                Order.Items.Add(new ListItem("Most views first", "ViewsAscending"));
                Order.Items.Add(new ListItem("Least views first", "ViewsDescending"));
                Order.Items.Add(new ListItem("Most recently published first", "PublishedDescending"));
                Order.Items.Add(new ListItem("Most recently published last", "PublishedAscending"));

                Order.AutoPostBack = false;
                OrderPanel.Controls.Add(Order);
                OrderPanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(OrderPanel);
            }

            base.CreateChildControls();
            this.ChildControlsCreated = true;
        }
 public AlbumController(MusicStoreContext context)
 {
     _srv = new AlbumService(context);
 }
        private static List <Album> GetChannels(IApiProvider apiProvider)
        {
            IAlbumService albumService = new AlbumService(apiProvider);

            return(albumService.GetList());
        }
Beispiel #26
0
        public ActionResult AddImage(AlbumAddItemViewModel model, HttpPostedFileBase image)
        {
            if (!Request.IsAuthenticated)
            {
                throw new AuthenticationException();
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            string    fileName;
            AlbumItem albumItem;

            if (image != null)
            {
                if (UploadImageValidationService.ValidateImageAndGetNewName(image, out fileName))
                {
                    albumItem = AlbumService.AddImage(UserContext.Current, model.AlbumId, model.Title, model.Description, fileName);

                    var path = Path.Combine(Server.MapPath("~/MediaContent/Albums/Images/"), fileName);
                    image.SaveAs(path);
                }
                else
                {
                    throw new BusinessLogicException("Неверный формат файла");
                }
            }
            else if (!string.IsNullOrWhiteSpace(model.Url))
            {
                byte[] content;
                var    hwReq  = (HttpWebRequest)WebRequest.Create(model.Url);
                var    wResp  = hwReq.GetResponse();
                var    stream = wResp.GetResponseStream();

                if (stream == null)
                {
                    throw new BusinessLogicException("Произошла ошибка при открытии ссылки");
                }

                using (var br = new BinaryReader(stream))
                {
                    content = br.ReadBytes(5242880); // Ограничение по размеру в 5Мб
                    br.Close();
                }
                wResp.Close();

                if (UploadImageValidationService.ValidateImageTypeAndGetNewName(wResp, out fileName))
                {
                    albumItem = AlbumService.AddImage(UserContext.Current, model.AlbumId, model.Title, model.Description, fileName);

                    var path = Path.Combine(Server.MapPath("~/MediaContent/Albums/Images/"), fileName);
                    var fs   = new FileStream(path, FileMode.Create);
                    var w    = new BinaryWriter(fs);

                    try
                    {
                        w.Write(content);
                    }
                    finally
                    {
                        fs.Close();
                        w.Close();
                    }
                }
                else
                {
                    throw new ValidationException("Указана некорректная ссылка");
                }
            }
            else
            {
                throw new ValidationException("Изображение не выбрано");
            }

            if (Request.UrlReferrer != null && Request.UrlReferrer.Segments[2] == "foreditor/")
            {
                return(RedirectToAction("itemforeditor", "album", new { id = albumItem.Id, groupId = model.GroupId }));
            }

            return(RedirectToAction("item", new { id = albumItem.Id }));
        }
        protected override void CreateChildControls()
        {
            // Define a readable title
            this.Title = "Video list";

            // Add the containing panel
            EditorPanel = new Panel();
            EditorPanel.CssClass = "ms-ToolPartSpacing";
            this.Controls.Add(EditorPanel);

            // Check that we actually have everything configured
            IApiProvider apiProvider = Utilities.ApiProvider;

            if (apiProvider != null)
            {
                // * Count

                CountPanel = new Panel();
                CountPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Number of videos</div>"));
                CountPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                Count = new TextBox();
                Count.CssClass = "UserInput";
                Count.Width = new Unit("50px", CultureInfo.InvariantCulture);

                // * Count

                // Finish it up
                Count.AutoPostBack = false;
                CountPanel.Controls.Add(Count);
                CountPanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(CountPanel);

                // * Count per row

                RowCountPanel = new Panel();
                RowCountPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Number of videos per row</div>"));
                RowCountPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                RowCount = new TextBox();
                RowCount.CssClass = "UserInput";
                RowCount.Width = new Unit("50px", CultureInfo.InvariantCulture);

                // Finish it up
                RowCount.AutoPostBack = false;
                RowCountPanel.Controls.Add(RowCount);
                RowCountPanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(RowCountPanel);

                // * Album

                // Add the album selection panel
                ChannelsPanel = new Panel();
                ChannelsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Channel</div>"));
                ChannelsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                Channels = new DropDownList();
                Channels.CssClass = "UserInput";

                // Get a list of videos to throw in there
                IAlbumService albumService = new AlbumService(apiProvider);
                List<Domain.Album> albums = albumService.GetList(new AlbumListParameters
                {
                    IncludeHidden = false,
                    Size = 500,
                    OrderBy = AlbumListSort.Title,
                    Order = GenericSort.Ascending
                });

                Channels.Items.Add(new ListItem("All channels", "-"));

                foreach (Domain.Album album in albums)
                {
                    if (album.AlbumId != null) Channels.Items.Add(new ListItem(String.IsNullOrEmpty(album.Title) ? "(no title)" : album.Title, album.AlbumId.Value.ToString()));
                }

                // Finish it up
                Channels.AutoPostBack = false;
                ChannelsPanel.Controls.Add(Channels);
                ChannelsPanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(ChannelsPanel);

                // * Tags
                TagsPanel = new Panel();

                // Description
                TagsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Tags</div>"));
                TagsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));

                // Mode
                TagMode = new DropDownList();
                TagMode.CssClass = "UserInput";

                TagMode.Items.Add(new ListItem("Videos including any of...", "Any"));
                TagMode.Items.Add(new ListItem("Videos including all of...", "All"));

                TagMode.AutoPostBack = false;

                TagsPanel.Controls.Add(TagMode);

                TagsPanel.Controls.Add(new LiteralControl("<br>"));

                // Available
                Tags = new ListBox();
                Tags.CssClass = "UserInput";
                Tags.Width = new Unit("176px", CultureInfo.InvariantCulture);
                Tags.Height = new Unit("400px", CultureInfo.InvariantCulture);
                Tags.SelectionMode = ListSelectionMode.Multiple;

                List<Domain.Tag> tags = GetTags(apiProvider);

                foreach (Domain.Tag tag in tags)
                {
                    Tags.Items.Add(tag.Name);
                }

                TagsPanel.Controls.Add(Tags);

                TagsPanel.Controls.Add(new LiteralControl("</nobr></div></div>"));
                EditorPanel.Controls.Add(TagsPanel);

                // * Order

                OrderPanel = new Panel();
                OrderPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Sorting</div>"));
                OrderPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                Order = new DropDownList();
                Order.CssClass = "UserInput";

                Order.Items.Add(new ListItem("Most recently uploaded first", "UploadedAscending"));
                Order.Items.Add(new ListItem("Most recently uploaded last", "UploadedDescending"));
                Order.Items.Add(new ListItem("Most views first", "ViewsAscending"));
                Order.Items.Add(new ListItem("Least views first", "ViewsDescending"));
                Order.Items.Add(new ListItem("Most recently published first", "PublishedDescending"));
                Order.Items.Add(new ListItem("Most recently published last", "PublishedAscending"));

                Order.AutoPostBack = false;
                OrderPanel.Controls.Add(Order);
                OrderPanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(OrderPanel);
            }

            base.CreateChildControls();
            this.ChildControlsCreated = true;
        }
Beispiel #28
0
 public AddTagToCommand(AlbumService albumService, TagService tagService)
 {
     this.albumService = albumService;
     this.tagService   = tagService;
 }
Beispiel #29
0
        public void BindProfile()
        {
            var profile = profileService.GetProfileByUserId(userId);

            if (profile != null)
            {
                //Show Profile

                //SongService songService = new SongService(Ioc.GetInstance<ISongRepository>());
                //ShowService showService = new ShowService(Ioc.GetInstance<IShowRepository>());

                //if (profile.FavoriteStudioSong != null)
                //{
                //    var favoriteStudioSong = songService.GetSong(profile.FavoriteStudioSong.Value);
                //    lblFavoriteStudioSong.Text = string.Format("{0} - {1}", favoriteStudioSong.SongName, favoriteStudioSong.Album);
                //}

                //if (profile.FavoriteLiveShow != null)
                //{
                //    var favoriteLiveShow = showService.GetShow(profile.FavoriteLiveShow.Value);
                //    if (favoriteLiveShow != null)
                //    {
                //        lblFavoriteLiveShow.Text = string.Format("{0} - {1}, {2}", favoriteLiveShow.ShowDate.Value.ToString("MM/dd/yyyy"), favoriteLiveShow.VenueName, favoriteLiveShow.State);
                //    }
                //}

                //if (profile.FavoriteTour != null)
                //{
                //    var favoriteTour = service.GetTour(profile.FavoriteTour.Value);
                //    lblFavoriteTour.Text = string.Format("{0} {1}-{2}", favoriteTour.TourName, favoriteTour.StartDate.Value.ToString("MM/dd/yyyy"), favoriteTour.EndDate.Value.ToString("MM/dd/yyyy"));
                //}

                if (profile.FavoriteAlbum != null)
                {
                    var albumService = new AlbumService(Ioc.GetInstance <IAlbumRepository>());
                    var album        = albumService.GetAlbum(profile.FavoriteAlbum.Value);
                    lblFavoriteAlbum.Text = album.AlbumName;
                }

                lblName.Text          = profile.Name;
                lblEmail.Text         = profile.Email;
                lblFavorite3Year.Text = profile.Favorite3Year != null?profile.Favorite3Year.Value.ToString() : string.Empty;

                lblFavoriteYear.Text = profile.FavoriteYear != null?profile.FavoriteYear.Value.ToString() : string.Empty;

                lblFavoriteRun.Text    = !string.IsNullOrEmpty(profile.FavoriteRun) ? profile.FavoriteRun.ToString() : string.Empty;
                lblFavoriteSeason.Text = !string.IsNullOrEmpty(profile.FavoriteSeason) ? profile.FavoriteSeason.ToString() : string.Empty;
            }
            else
            {
                //Create profile
                var newProfile = new Profile
                {
                    CreatedDate = DateTime.Now,
                    ProfileId   = Guid.NewGuid(),
                    UserId      = userId
                };

                bool success;

                profileService.SaveCommit(newProfile, out success);
            }
        }
Beispiel #30
0
 public CreateAlbumCommand(UserService userService, AlbumService albumService, TagService tagService)
 {
     this.userService  = userService;
     this.albumService = albumService;
     this.tagService   = tagService;
 }
Beispiel #31
0
 public AlbumController(AlbumService service, AlbumQueries queries, UserQueries userQueries)
 {
     Service          = service;
     this.queries     = queries;
     this.userQueries = userQueries;
 }
 public AlbumController(IAlbumRepository albumRepository, AlbumService albumService, SpotifyContext contexto)
 {
     this.albumRepository = albumRepository;
     this.albumService    = albumService;
     this.contexto        = contexto;
 }
Beispiel #33
0
        protected override void CreateChildControls()
        {
            // Define a readable title
            this.Title = "Video list";

            // Add the containing panel
            EditorPanel = new Panel();
            this.Controls.Add(EditorPanel);

            // Check that we actually have everything configured
            IApiProvider apiProvider = Utilities.ApiProvider;

            if (apiProvider != null)
            {
                // * Count

                CountPanel = new Panel();
                CountPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Number of videos</div>"));
                CountPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                Count          = new TextBox();
                Count.CssClass = "UserInput";
                Count.Width    = new Unit("50px", CultureInfo.InvariantCulture);

                // Finish it up
                Count.AutoPostBack = false;
                CountPanel.Controls.Add(Count);
                CountPanel.Controls.Add(new LiteralControl("</nobr></div></div><div style=\"width:100%\" class=\"UserDottedLine\"></div>"));

                EditorPanel.Controls.Add(CountPanel);

                // * Album

                // Add the album selection panel
                ChannelsPanel = new Panel();
                ChannelsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Channel</div>"));
                ChannelsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                Channels          = new DropDownList();
                Channels.CssClass = "UserInput";

                // Get a list of videos to throw in there
                IAlbumService       albumService = new AlbumService(apiProvider);
                List <Domain.Album> albums       = albumService.GetList(new AlbumListParameters
                {
                    IncludeHidden = true,
                    Size          = 500,
                    OrderBy       = AlbumListSort.Title,
                    Order         = GenericSort.Ascending
                });

                Channels.Items.Add(new ListItem("All channels", "-"));

                foreach (Domain.Album album in albums)
                {
                    if (album.AlbumId != null)
                    {
                        Channels.Items.Add(new ListItem(String.IsNullOrEmpty(album.Title) ? "(no title)" : album.Title, album.AlbumId.Value.ToString() + "|" + album.Token));
                    }
                }

                // Finish it up
                Channels.AutoPostBack = false;
                ChannelsPanel.Controls.Add(Channels);
                ChannelsPanel.Controls.Add(new LiteralControl("</nobr></div></div><div style=\"width:100%\" class=\"UserDottedLine\"></div>"));

                EditorPanel.Controls.Add(ChannelsPanel);

                // * Tags
                TagsPanel = new Panel();

                // Description
                TagsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Tags</div>"));
                TagsPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));

                // Mode
                TagMode          = new DropDownList();
                TagMode.CssClass = "UserInput";

                TagMode.Items.Add(new ListItem("Videos including any of...", "Any"));
                TagMode.Items.Add(new ListItem("Videos including all of...", "All"));

                TagMode.AutoPostBack = false;

                TagsPanel.Controls.Add(TagMode);

                TagsPanel.Controls.Add(new LiteralControl("<br>"));

                // Available
                Tags               = new ListBox();
                Tags.CssClass      = "UserInput";
                Tags.Width         = new Unit("176px", CultureInfo.InvariantCulture);
                Tags.Height        = new Unit("400px", CultureInfo.InvariantCulture);
                Tags.SelectionMode = ListSelectionMode.Multiple;

                List <Domain.Tag> tags = GetTags(apiProvider);

                foreach (Domain.Tag tag in tags)
                {
                    Tags.Items.Add(tag.Name);
                }

                TagsPanel.Controls.Add(Tags);

                TagsPanel.Controls.Add(new LiteralControl("</nobr></div></div><div style=\"width:100%\" class=\"UserDottedLine\"></div>"));
                EditorPanel.Controls.Add(TagsPanel);

                // * Order

                OrderPanel = new Panel();
                OrderPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Sorting</div>"));
                OrderPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                Order          = new DropDownList();
                Order.CssClass = "UserInput";

                Order.Items.Add(new ListItem("Most recently uploaded first", "UploadedAscending"));
                Order.Items.Add(new ListItem("Most recently uploaded last", "UploadedDescending"));
                Order.Items.Add(new ListItem("Most views first", "ViewsAscending"));
                Order.Items.Add(new ListItem("Least views first", "ViewsDescending"));
                Order.Items.Add(new ListItem("Most recently published first", "PublishedDescending"));
                Order.Items.Add(new ListItem("Most recently published last", "PublishedAscending"));

                Order.AutoPostBack = false;
                OrderPanel.Controls.Add(Order);
                OrderPanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(OrderPanel);

                // * Video size

                SizePanel = new Panel();
                SizePanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Video size</div>"));
                SizePanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));
                Sizes          = new DropDownList();
                Sizes.CssClass = "UserInput";

                foreach (VideoSize size in Enum.GetValues(typeof(VideoSize)))
                {
                    Sizes.Items.Add(new ListItem(size.ToString(), size.ToString()));
                }

                Sizes.AutoPostBack = false;
                SizePanel.Controls.Add(Sizes);
                SizePanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(SizePanel);


                // * Click to play video
                ClickPlayPanel = new Panel();
                ClickPlayPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Play on click</div>"));
                ClickPlayPanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));

                ClickPlayCheck              = new CheckBox();
                ClickPlayCheck.CssClass     = "UserInput";
                ClickPlayCheck.AutoPostBack = false;

                ClickPlayPanel.Controls.Add(ClickPlayCheck);
                ClickPlayPanel.Controls.Add(new LiteralControl("<span>Play video on click</span>"));
                ClickPlayPanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(ClickPlayPanel);


                // * Token free emebds
                TokenFreePanel = new Panel();
                TokenFreePanel = new Panel();
                TokenFreePanel.Controls.Add(new LiteralControl("<div class=\"UserSectionHead\">Token Free Embeds</div>"));
                TokenFreePanel.Controls.Add(new LiteralControl("<div class=\"UserSectionBody\"><div class=\"UserControlGroup\"><nobr>"));

                TokenFreeCheck              = new CheckBox();
                TokenFreeCheck.CssClass     = "UserInput";
                TokenFreeCheck.AutoPostBack = false;

                TokenFreePanel.Controls.Add(TokenFreeCheck);
                TokenFreePanel.Controls.Add(new LiteralControl("<span>Require users to be logged in to view video.</span>"));
                TokenFreePanel.Controls.Add(new LiteralControl("</nobr></div></div>"));

                EditorPanel.Controls.Add(TokenFreePanel);
            }

            base.CreateChildControls();
            this.ChildControlsCreated = true;
        }
 public TracksController()
 {
     this.trackService = new TrackService();
     this.albumService = new AlbumService();
 }
Beispiel #35
0
        public string DispatchCommand(string[] commandParameters)
        {
            PictureService pictureService = new PictureService();
            AlbumService   albumService   = new AlbumService();
            UserService    userService    = new UserService();
            TownService    townService    = new TownService();
            TagService     tagService     = new TagService();

            string commandName = commandParameters[0];

            commandParameters = commandParameters.Skip(1).ToArray();
            string result = string.Empty;

            switch (commandName)
            {
            case "RegisterUser":
                RegisterUserCommand registerUser = new RegisterUserCommand(userService);
                result = registerUser.Execute(commandParameters);
                break;

            case "AddTown":
                AddTownCommand addTown = new AddTownCommand(townService);
                result = addTown.Execute(commandParameters);
                break;

            case "ModifyUser":
                ModifyUserCommand modifyUser = new ModifyUserCommand(userService, townService);
                result = modifyUser.Execute(commandParameters);
                break;

            case "DeleteUser":
                DeleteUserCommand deleteUser = new DeleteUserCommand(userService);
                result = deleteUser.Execute(commandParameters);
                break;

            case "AddTag":
                AddTagCommand addTag = new AddTagCommand(tagService);
                result = addTag.Execute(commandParameters);
                break;

            case "CreateAlbum":
                CreateAlbumCommand createAlbum = new CreateAlbumCommand(albumService, userService, tagService);
                result = createAlbum.Execute(commandParameters);
                break;

            case "AddTagTo":
                AddTagToCommand addTagTo = new AddTagToCommand(albumService, tagService);
                result = addTagTo.Execute(commandParameters);
                break;

            case "MakeFriends":
                MakeFriendsCommand makeFriends = new MakeFriendsCommand(userService);
                result = makeFriends.Execute(commandParameters);
                break;

            case "ListFriends":
                ListFriendsCommand listFriends = new ListFriendsCommand(userService);
                result = listFriends.Execute(commandParameters);
                break;

            case "ShareAlbum":
                ShareAlbumCommand shareAlbum = new ShareAlbumCommand(albumService, userService);
                result = shareAlbum.Execute(commandParameters);
                break;

            case "UploadPicture":
                UploadPictureCommand uploadPicture = new UploadPictureCommand(albumService, pictureService);
                result = uploadPicture.Execute(commandParameters);
                break;

            case "Exit":
                ExitCommand exit = new ExitCommand();
                exit.Execute();
                break;

            case "Login":
                LoginUserCommand loginUser = new LoginUserCommand();
                result = loginUser.Execute(commandParameters);
                break;

            case "Logout":
                LogoutUserCommand logoutUser = new LogoutUserCommand();
                result = logoutUser.Execute(commandParameters);
                break;

            default:
                result = $"Command {commandName} not valid!";
                break;
            }

            return(result);
        }
Beispiel #36
0
 public UploadPictureCommand(AlbumService albumService, PictureService pictureService)
 {
     this.albumService   = albumService;
     this.pictureService = pictureService;
 }
 public AlbumApiController(AlbumService service, AlbumQueries queries)
 {
     this.service = service;
     this.queries = queries;
 }