Exemplo n.º 1
0
        public EditPlaylistViewModel(Playlist playlist, User user)
        {
            Playlist = playlist;
            User     = user;

            _songRepo     = new SongRepository();
            _artRepo      = new ArtRepository();
            _playlistRepo = new PlaylistRepository();
            _playlistRepo.Dispose();

            Art              = new ObservableCollection <string>(_artRepo.GetPlaylistArt());
            AllSongs         = new ObservableCollection <Song>(_songRepo.GetAllSongs());
            PlaceholderSongs = CurrentSongs;

            Title          = Playlist.Title;
            Image          = Playlist.Image;
            PlaylistUserID = Playlist.UserID;
            SelectedImage  = Playlist.Image;

            // COMMANDS
            AddSongToPlaylistCommand      = new RelayCommand(new Action <object>(AddSongToPlaylist));
            RemoveSongFromPlaylistCommand = new RelayCommand(new Action <object>(RemoveSongFromPlaylist));
            CloseEditPlaylistViewCommand  = new RelayCommand(new Action <object>(CloseEditPlaylistView));
            SavePlaylistChangesCommand    = new RelayCommand(new Action <object>(SavePlaylistChanges), Predicate => {
                if (TitleRule.TitleRegex.IsMatch(Title))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            });
        }
Exemplo n.º 2
0
        public async Task <IActionResult> CreateExhibition([Bind("Artwork")] ProfileViewModel profileView, string Id)
        {
            var selected = Request.Form.Files[0];
            var category = Request.Form["category"];

            profileView.Artwork.Type      = category;
            profileView.Artwork.ImageFile = selected;
            profileView.Artwork.ImageName = selected.FileName;
            Member member = await MemberRepository.GetMember(Id);

            bool exist = ArtRepository.CheckIfIdExists(member);

            try
            {
                if (ModelState.IsValid)
                {
                    if (exist == true)
                    {
                        Exhibit exhibit = ArtRepository.GetExhibitId(member);
                        var     artwork = await ArtRepository.AddArtWithExistingExhibitId(_hostEnvironment, profileView.Artwork, member, exhibit);
                    }
                    else if (exist == false)
                    {
                        Exhibit exhibit = await ArtRepository.CreateExhibit(member);

                        var artwork = await ArtRepository.AddArt(_hostEnvironment, profileView.Artwork, member, exhibit);
                    }
                }
            }
            catch (Exception ex)
            {
                return(View("Error", ex));
            }
            return(Json(profileView.Artwork.ImageName));
        }
        public async Task <IActionResult> Index()
        {
            var members = MemberRepository.GetAllMembers();
            var model   = await ArtRepository.GetViewModel(members);

            return(View(model));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> CreateArt([Bind("Artwork")] ProfileViewModel profileView, string Id)
        {
            Member member = await MemberRepository.GetMember(Id);

            Exhibit exhibit = null;

            var selected = Request.Form.Files[0];
            var category = Request.Form["category"];

            profileView.Artwork.ImageFile = selected;
            profileView.Artwork.Type      = category;

            try
            {
                if (ModelState.IsValid)
                {
                    var artwork = await ArtRepository.AddArt(_hostEnvironment, profileView.Artwork, member, exhibit);
                }
            }
            catch (Exception ex)
            {
                return(View("Error", ex));
            }
            return(RedirectToAction($"Index", new { Id }));
        }
Exemplo n.º 5
0
        public async Task <IActionResult> UploadExhibition([Bind("Exhibit, Member")] ProfileViewModel profileView)
        {
            var startDate = Request.Form["trip-start"];
            var stopDate  = Request.Form["trip-stop"];

            profileView.Exhibit.StartDate = DateTime.Parse(startDate);
            profileView.Exhibit.StopDate  = DateTime.Parse(stopDate);
            bool exist = ArtRepository.CheckIfIdExists(profileView.Member);

            try
            {
                if (ModelState.IsValid)
                {
                    if (exist == true)
                    {
                        await ArtRepository.UpdateExhibition(profileView.Member, profileView.Exhibit);
                    }
                }
            }
            catch (Exception ex)
            {
                return(View("Error", ex));
            }
            string Id = profileView.Member.MemberId;

            return(RedirectToAction($"Index", new { Id }));
        }
Exemplo n.º 6
0
        public EditSongViewModel(Song song)
        {
            Song         = song;
            Title        = Song.Title;
            Artist       = Song.Artist;
            Duration     = Song.Duration;
            Art          = Song.Image;
            SelectedArt  = Song.Image;
            _artRepo     = new ArtRepository();
            ArtSelection = new ObservableCollection <string>(_artRepo.GetAlbumArt());
            _songRepo    = new SongRepository();

            CloseEditSongViewCommand = new RelayCommand(new Action <object>(CloseEditSongView));
            SaveChangesToSongCommand = new RelayCommand(new Action <object>(SaveChanges), Predicate => {
                if (TitleRule.TitleRegex.IsMatch(Title) &&
                    TitleRule.TitleRegex.IsMatch(Artist) &&
                    DurationRule.DurationRegex.IsMatch(Duration))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            });
        }
Exemplo n.º 7
0
        public async Task <IActionResult> Index(string Id)
        {
            var member = MemberRepository.GetAllMembers();
            IEnumerable <Artwork> listOfArtworks = await ArtRepository.GetArtThatsPosted();

            ArtworkViewModel = new ArtworkViewModel(listOfArtworks, member);
            return(View(ArtworkViewModel));
        }
        public async Task <IActionResult> Index(int Id)
        {
            var artwork             = ArtRepository.GetArtworkForUser(Id);
            var allArtworksFromUser = await ArtRepository.GetPostedArtFromUniqueUser(artwork.Member);

            artworkDetailViewModel = new ArtworkDetailViewModel(allArtworksFromUser, artwork, artwork.Member);
            return(View(artworkDetailViewModel));
        }
Exemplo n.º 9
0
 public UnitOfWork(GalleryAppContext context)
 {
     this.context = context;
     Arts         = new ArtRepository(context);
     Artists      = new ArtistRepository(context);
     Categories   = new CategoryRepository(context);
     Contacts     = new ContactRepository(context);
     Quotes       = new QuotesRepository(context);
 }
Exemplo n.º 10
0
        public async Task <IActionResult> Edit(string Id)
        {
            Image  image  = ImageRepository.GetImageFromDb(Id);
            Member member = await MemberRepository.GetMember(Id);

            IEnumerable <Artwork> artwork = await ArtRepository.GetPostedArtFromUniqueUser(member);

            ProfileViewModel = new ProfileViewModel(artwork, member, image);
            return(View(ProfileViewModel));
        }
Exemplo n.º 11
0
        public async Task <IActionResult> CreateExhibition(string Id)
        {
            Member member = await MemberRepository.GetMember(Id);

            var art     = ArtRepository.GetArtFromExhibit(member);
            var exhibit = ArtRepository.GetExhibitId(member);

            ProfileViewModel = new ProfileViewModel(member, art, exhibit);
            return(View(ProfileViewModel));
        }
Exemplo n.º 12
0
        public async Task <IActionResult> Index(string Id)
        {
            var acceptedFriendsRelationships = await RelationshipRepository.GetRelationshipsByUserId(Id);

            var pendingFriendsRelationships = await RelationshipRepository.GetPendingRelationship(Id);

            Image  image  = ImageRepository.GetImageFromDb(Id);
            Member member = await MemberRepository.GetMember(Id);

            IEnumerable <Artwork> artwork = await ArtRepository.GetPostedArtFromUniqueUser(member);


            var pendingFriends = new List <Member>();

            foreach (var pending in pendingFriendsRelationships)
            {
                Member friendMember = await MemberRepository.GetMember(pending.Requester);

                Image profilePicture = ImageRepository.GetImageFromDb(pending.Requester);
                if (profilePicture != null)
                {
                    friendMember.ProfilePicture = profilePicture.ImageName;
                }
                pendingFriends.Add(friendMember);
            }

            var acceptedFriends = new List <Member>();

            foreach (var friend in acceptedFriendsRelationships)
            {
                if (friend.Requester == Id)
                {
                    Member AcceptedFriend = await MemberRepository.GetMember(friend.Requestee);

                    Image profilePicture = ImageRepository.GetImageFromDb(AcceptedFriend.MemberId);
                    if (profilePicture != null)
                    {
                        AcceptedFriend.ProfilePicture = profilePicture.ImageName;
                    }
                    acceptedFriends.Add(AcceptedFriend);
                }
                else
                {
                    Member AcceptedFriend = await MemberRepository.GetMember(friend.Requester);

                    Image profilePicture = ImageRepository.GetImageFromDb(AcceptedFriend.MemberId);
                    AcceptedFriend.ProfilePicture = profilePicture.ImageName;
                    acceptedFriends.Add(AcceptedFriend);
                }
            }
            ProfileViewModel = new ProfileViewModel(artwork, member, image, acceptedFriends, pendingFriends);

            return(View(ProfileViewModel));
        }
Exemplo n.º 13
0
 public async Task <IActionResult> DeleteArtConfirmExhibit(string Id)
 {
     try
     {
         Artwork artwork = await ArtRepository.DeleteArtworkFromExhibit(_hostEnvironment, Id);
     }
     catch (Exception ex)
     {
         return(View(ex));
     }
     return(Json(Id));
 }
Exemplo n.º 14
0
        public async Task <IActionResult> Profile(string Id)
        {
            var    currentUserId = GetCurrentUserId();
            Image  image         = ImageRepository.GetImageFromDb(Id);
            Member member        = await MemberRepository.GetMember(Id);

            IEnumerable <Artwork> artwork = await ArtRepository.GetPostedArtFromUniqueUser(member);

            var doesRelationshipExist = await RelationshipRepository.CheckIfRelationshipAlreadyExists(currentUserId, Id);


            ProfileViewModel = new ProfileViewModel(artwork, member, image, doesRelationshipExist, currentUserId);
            return(View(ProfileViewModel));
        }
Exemplo n.º 15
0
        public async Task <IActionResult> DeleteArtConfirm(int Id)
        {
            try
            {
                Artwork artwork = ArtRepository.GetArtworkForUser(Id);
                await ArtRepository.DeleteArtworkFromArtworkTable(_hostEnvironment, artwork);

                return(Json(Id));
            }
            catch (Exception ex)
            {
                return(View(ex));
            }
        }
Exemplo n.º 16
0
        public async Task <IActionResult> Category(string Id)
        {
            List <Artwork> ArtList = new List <Artwork>();

            var member = MemberRepository.GetAllMembers();
            IEnumerable <Artwork> listOfArtworks = await ArtRepository.GetArtThatsPosted();

            foreach (Artwork piece in listOfArtworks)
            {
                if (piece.Type == Id)
                {
                    ArtList.Add(piece);
                }
            }

            ArtworkViewModel = new ArtworkViewModel(ArtList, member);

            return(View(Id, ArtworkViewModel));
        }
Exemplo n.º 17
0
        public AddSongViewModel()
        {
            _artRepo       = new ArtRepository();
            _artCollection = new ObservableCollection <string>(_artRepo.GetAllArt());

            _songRepo = new SongRepository();

            AddNewSongCommand = new RelayCommand(new Action <object>(AddNewSong), Predicate => {
                if (TitleRule.TitleRegex.IsMatch(Title) &&
                    TitleRule.TitleRegex.IsMatch(Artist) &&
                    DurationRule.DurationRegex.IsMatch(Duration) &&
                    RequiredRule.RequiredRegex.IsMatch(SongPath))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            });
            CloseAddNewSongViewCommand = new RelayCommand(new Action <object>(CloseNewSongView));
            BrowseSongCommand          = new RelayCommand(new Action <object>(BrowseSong));
        }
Exemplo n.º 18
0
        public CreatePlaylistViewModel(User user = null)
        {
            User = user;

            _songRepo      = new SongRepository();
            _artRepo       = new ArtRepository();
            _songSelection = new ObservableCollection <Song>(_songRepo.GetAllSongs());
            _artSelection  = new ObservableCollection <string>(_artRepo.GetPlaylistArt());
            _songRepo.Dispose();

            CreateNewPlaylistCommand = new RelayCommand(new Action <object>(CreatePlaylist), Predicate => {
                if (TitleRule.TitleRegex.IsMatch(Name))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            });

            CloseCreatePlaylistViewCommand = new RelayCommand(new Action <object>(CloseCreatePlaylistView));
        }
Exemplo n.º 19
0
 public AddController(ArtRepository artRepository)
 {
     this.artRepository = artRepository;
 }
Exemplo n.º 20
0
 public HomeController(ArtRepository artRepository)
 {
     _artRepository = artRepository;
 }
Exemplo n.º 21
0
 // Constructor
 public ArtController()
 {
     _artRepository = new ArtRepository();
 }