public async Task <ArtistDetailsViewModel> GetArtistByIdAsync(int id) { var arts = await this.artsRepository.GetArtsByArtistIdAsync(id); var quotes = await this.quotesRepository.GetQuotesByArtistIdAsync(id); var artist = await this.artistRepository.GetArtistByIdAsync(id); var artistArts = arts.Select( x => new IndexArtsViewModel { Id = x.Id, Path = x.Path, Title = x.Title, CategoryName = x.Category.Name }); var artistQuotes = quotes.Select( x => new ArtistQuotesViewModel { Id = x.Id, Content = x.Content, ArtistName = x.Artist.Name }); var details = new ArtistDetailsViewModel { Name = artist.Name, ShortBiography = artist.shortBiography, Arts = artistArts, Quotes = artistQuotes }; return(await Task.FromResult(details)); }
public IActionResult DeleteArtist(int id) { ArtistDetailsViewModel artist = this.artistService.GetArtist(id); if (artist == null) { return(RedirectToAction(RedirectConstants.IndexSuffix)); } return(this.View(artist)); }
public IActionResult ArtistDetails(int Id) { var model = new ArtistDetailsViewModel(); model.Artist = _artistsManager.GetOne(x => x.Id == Id, includeProperties: $"{nameof(Artist.User)},{nameof(Artist.Songs)},{nameof(Artist.Follows)}.{nameof(Follow.Follower)}"); model.PagingModelSongs = new PagingModel <Song>() { PagingList = model.Artist.Songs.Take(MBoxConstants.initialTakeHomeLists).ToList() }; model.CurrentLoggedUserId = CurrentLoggedUserId; model.FollowingCount = _userManager.Users.Where(x => x.Id == Id).Include($"{nameof(Artist.Follows)}.{nameof(Follow.Artist)}").FirstOrDefault().Follows.Select(x => x.Artist == model.Artist).ToList().Count; model.FollowersCount = model.Artist.Follows.Select(x => x.Follower).ToList().Count; return(View(model)); }
private void GoToArtistDetails(Object sender, EventArgs e) { ArtistRoutedEventArgs artist = (ArtistRoutedEventArgs)e; MainView.Items.Clear(); var userControl = new ArtistDetailsView(); DataContext = new ArtistDetailsViewModel(artist.ArtistID); userControl.ArtistSelected += new EventHandler(GoToArtistDetails); MainView.Items.Add(new TabItem { Content = userControl }); MainView.Items.Refresh(); }
public async Task Details_FoundItem_ReturnsView() { Mock <BackendProvider> mockBackend = new Mock <BackendProvider>(autoMapper); mockBackend.Setup(m => m.ArtistGetByIDAsync(It.IsAny <int>())).ReturnsAsync(new Artist { ArtistID = 1 }); ArtistController controller = new ArtistController(mockBackend.Object, autoMapper); ViewResult result = (await controller.Details(1)) as ViewResult; ArtistDetailsViewModel viewModel = result?.Model as ArtistDetailsViewModel; Assert.IsNotNull(result); Assert.IsNotNull(viewModel); Assert.AreEqual(1, viewModel.ArtistID); }
public ActionResult Details(int id) { var artist = _context.Artists.SingleOrDefault(x => x.ArtistId == id); var songs = _context.Songs.Where(x => x.Artists.Any(y => y.ArtistId == id)); var releases = _context.Releases.Where(x => x.ArtistID == id).ToList(); var re = _context.Releases.Where(x => x.Artist == artist); if (artist == null) { return(HttpNotFound()); } var viewModel = new ArtistDetailsViewModel { Artist = artist, Songs = songs, Releases = releases }; return(View(viewModel)); }
public ArtistDetailsView(ArtistDetailsViewModel viewModel) { InitializeComponent(); this.DataContext = viewModel; }
public ArtistDetailsPage(Artist artist) { InitializeComponent(); BindingContext = model = new ArtistDetailsViewModel(artist); }
/// <summary> /// </summary> /// <param name="viewModel"> /// The view model. /// </param> /// <returns> /// </returns> public static object GetArtistManagementViewModel(ArtistDetailsViewModel viewModel) { return(_managementModelsMapper.Map <ArtistManagementViewModel>(viewModel)); }