Esempio n. 1
0
        public async void UnassignMusicianGenre(int musicianId, int genreId)
        {
            MusicianGenre musicianGenre = await FindByMusicianIdAndGenreId(musicianId, genreId);

            if (musicianGenre != null)
            {
                Remove(musicianGenre);
            }
        }
Esempio n. 2
0
        public async Task AssignMusicianGenre(int musicianId, int genreId)
        {
            MusicianGenre musicianGenre = await FindByMusicianIdAndGenreId(musicianId, genreId);

            if (musicianGenre == null)
            {
                musicianGenre = new MusicianGenre {
                    MusicianId = musicianId, GenreId = genreId
                };
                await AddAsync(musicianGenre);
            }
        }
Esempio n. 3
0
        //=====================================================================
        //Methods().
        //=====================================================================
        public List <vmMusiciansGenresByInstrument> GetMusiciansGenresByInstrument(int Id)
        {
            AppUser            AU   = new AppUser();
            Musician           Mus  = new Musician();
            UserMusician       UM   = new UserMusician();
            MusicianInstrument MI   = new MusicianInstrument();
            Instrument         Inst = new Instrument();
            MusicianGenre      MG   = new MusicianGenre();
            Genre GG = new Genre();
            List <MusicianGenre>                 MGs    = new List <MusicianGenre>();
            List <MusicianInstrument>            MIs    = new List <MusicianInstrument>();
            List <vmMusiciansGenresByInstrument> vmMGIs = new List <vmMusiciansGenresByInstrument>();

            if (Id != 0)
            {
                Inst = _repo.Query <Instrument>().Where(a => a.InstrumentId == Id).FirstOrDefault();
                MIs  = _repo.Query <MusicianInstrument>().Where(a => a.InstrumentId == Id).ToList();
                foreach (MusicianInstrument mi in MIs)
                {
                    Mus = _repo.Query <Musician>().Where(b => b.MusicianId == mi.MusicianId).FirstOrDefault();
                    UM  = _repo.Query <UserMusician>().Where(c => c.MusicianId == Mus.MusicianId).FirstOrDefault();
                    AU  = _repo.Query <AppUser>().Where(d => d.AppUserId == UM.AppUserId).FirstOrDefault();
                    MGs = _repo.Query <MusicianGenre>().Where(e => e.MusicianId == Mus.MusicianId).ToList();
                    List <vmGenre> vmGGs = new List <vmGenre>();
                    foreach (MusicianGenre MGTemp in MGs)
                    {
                        GG = _repo.Query <Genre>().Where(f => f.GenreId == MGTemp.GenreId).FirstOrDefault();
                        vmGenre vmGG = new vmGenre();
                        vmGG.GenreId   = GG.GenreId;
                        vmGG.GenreName = GG.GenreName;
                        vmGGs.Add(vmGG);
                    }
                    ;

                    vmMusiciansGenresByInstrument vmMGI = new vmMusiciansGenresByInstrument
                    {
                        InstrumentId   = Id,
                        InstrumentName = Inst.InstrumentName,
                        AppUserId      = AU.AppUserId,
                        LastName       = AU.LastName,
                        FirstName      = AU.FirstName,
                        IsMusician     = AU.IsMusician,
                        MusicianId     = Mus.MusicianId,
                        StageName      = Mus.StageName,
                        vmGenres       = vmGGs
                    };
                    vmMGIs.Add(vmMGI);
                }
            }
            return(vmMGIs);
        }
Esempio n. 4
0
        public async Task <MusicianGenreResponse> UnassignMusicianGenreAsync(int musicianId, int genreId)
        {
            try
            {
                MusicianGenre musicianGenre = await _musicianGenreRepository.FindByMusicianIdAndGenreId(musicianId, genreId);

                _musicianGenreRepository.Remove(musicianGenre);
                await _unitOfWork.CompleteAsync();

                return(new MusicianGenreResponse(musicianGenre));
            }
            catch (Exception ex)
            {
                return(new MusicianGenreResponse($"An error ocurred while unassigning Genre to Musician: {ex.Message}"));
            }
        }
Esempio n. 5
0
        //====================================================================================
        public vmMusicianProfile PostAddMusicianProfile(vmMusicianProfile vmMP)
        {
            AppUser AppUserToPost = new AppUser
            {
                AppUserId             = vmMP.AppUserId,
                UserName              = vmMP.UserName,
                PassWord              = vmMP.PassWord,
                LastName              = vmMP.LastName,
                FirstName             = vmMP.FirstName,
                City                  = vmMP.City,
                State                 = vmMP.State,
                PostalCode            = vmMP.PostalCode,
                Email                 = vmMP.PostalCode,
                ReceiveAdvertisements = vmMP.ReceiveAdvertisements,
                IsMusician            = vmMP.IsMusician
            };

            if (AppUserToPost.AppUserId == 0)
            {
                _repo.Add(AppUserToPost);
            }
            else
            {
                _repo.Update(AppUserToPost);
            }
            //=======================================================================
            AppUser tempAppUser = _repo.Query <AppUser>().Where(r => r.UserName == AppUserToPost.UserName &&
                                                                r.PassWord == AppUserToPost.PassWord &&
                                                                r.LastName == AppUserToPost.LastName &&
                                                                r.FirstName == AppUserToPost.FirstName &&
                                                                r.City == AppUserToPost.City &&
                                                                r.State == AppUserToPost.State
                                                                ).FirstOrDefault();

            //=======================================================================
            if (vmMP.AppUserId == 0)
            {
                vmMP.AppUserId = tempAppUser.AppUserId;
            }
            //=======================================================================
            Musician MusicianToPost = new Musician
            {
                MusicianId        = vmMP.MusicianId,
                StageName         = vmMP.StageName,
                CellPhone         = vmMP.CellPhone,
                Biography         = vmMP.Biography,
                Rate              = vmMP.Rate,
                Rating            = vmMP.Rating,
                IsMusicianForHire = vmMP.IsMusicianForHire
            };

            //=======================================================================
            if (MusicianToPost.MusicianId == 0)
            {
                _repo.Add(MusicianToPost);
            }
            else
            {
                _repo.Update(MusicianToPost);
            }
            //==================================================================================
            Musician tempMusician = _repo.Query <Musician>().Where(s => s.StageName == MusicianToPost.StageName &&
                                                                   s.CellPhone == MusicianToPost.CellPhone &&
                                                                   s.Biography == MusicianToPost.Biography &&
                                                                   s.Rate == MusicianToPost.Rate &&
                                                                   s.Rating == MusicianToPost.Rating &&
                                                                   s.IsMusicianForHire == MusicianToPost.IsMusicianForHire).FirstOrDefault();

            //================================================================================================================
            if (vmMP.MusicianId == 0)
            {
                vmMP.MusicianId = tempMusician.MusicianId;
            }
            //=================================================================================
            if (tempAppUser != null && tempMusician != null)
            {
                UserMusician umTest = _repo.Query <UserMusician>().Where(t => t.AppUserId == tempAppUser.AppUserId && t.MusicianId == tempMusician.MusicianId).FirstOrDefault();
                if (umTest == null)
                {
                    UserMusician newUm = new UserMusician
                    {
                        AppUser    = tempAppUser,
                        AppUserId  = tempAppUser.AppUserId,
                        Musician   = tempMusician,
                        MusicianId = tempMusician.MusicianId
                    };
                    _repo.Add(newUm);
                }
                //==============================================================================
                if (vmMP.InstrumentsMusProfile != null)
                {
                    foreach (vmInstrumentMusProfile i in vmMP.InstrumentsMusProfile)
                    {
                        Instrument         newI   = _repo.Query <Instrument>().Where(u => u.InstrumentId == i.InstrumentId).FirstOrDefault();
                        MusicianInstrument testMI = _repo.Query <MusicianInstrument>().Where(v => v.InstrumentId == newI.InstrumentId && v.MusicianId == tempMusician.MusicianId).FirstOrDefault();

                        if (testMI == null)
                        {
                            MusicianInstrument newMI = new MusicianInstrument
                            {
                                Instrument   = newI,
                                InstrumentId = newI.InstrumentId,
                                Musician     = tempMusician,
                                MusicianId   = tempMusician.MusicianId,
                                IsPrimary    = i.PrimaryInstrument
                            };
                            _repo.Add(newMI);
                        }
                        else
                        {
                            testMI.IsPrimary = i.PrimaryInstrument;
                            _repo.Update(testMI);
                        }
                    }
                }
                //=============================================================================
                if (vmMP.Genres != null)
                {
                    foreach (vmGenre g in vmMP.Genres)
                    {
                        Genre         newG   = _repo.Query <Genre>().Where(w => w.GenreId == g.GenreId).FirstOrDefault();
                        MusicianGenre testMG = _repo.Query <MusicianGenre>().Where(x => x.GenreId == newG.GenreId &&
                                                                                   x.MusicianId == tempMusician.MusicianId).FirstOrDefault();
                        if (testMG == null)
                        {
                            MusicianGenre newMG = new MusicianGenre
                            {
                                Genre      = newG,
                                GenreId    = newG.GenreId,
                                Musician   = tempMusician,
                                MusicianId = tempMusician.MusicianId,
                                IsPrimary  = g.IsPrimary
                            };
                            _repo.Add(newMG);
                        }
                        else
                        {
                            testMG.IsPrimary = g.IsPrimary;
                            _repo.Update(testMG);
                        }
                    }
                }
                //============================================================================
                if (vmMP.Languages != null)
                {
                    foreach (vmSpokenLanguage s in vmMP.Languages)
                    {
                        SpokenLanguage newS = _repo.Query <SpokenLanguage>().Where(y => y.SpokenLanguageId == s.SpokenLanguageId).FirstOrDefault();
                        if (newS != null)
                        {
                            MusicianLanguage testML = _repo.Query <MusicianLanguage>().Where(z => z.SpokenLanguageId == newS.SpokenLanguageId && z.MusicianId == tempMusician.MusicianId).FirstOrDefault();
                            if (testML == null)
                            {
                                MusicianLanguage newML = new MusicianLanguage
                                {
                                    SpokenLanguage   = newS,
                                    SpokenLanguageId = newS.SpokenLanguageId,
                                    Musician         = tempMusician,
                                    MusicianId       = tempMusician.MusicianId,
                                };
                                _repo.Add(newML);
                            }
                        }
                    }
                }
                //============================================================================
                if (vmMP.Photographs != null)
                {
                    foreach (vmPhotograph p in vmMP.Photographs)
                    {
                        Photograph         newP   = _repo.Query <Photograph>().Where(w => w.PhotographId == p.PhotographId).FirstOrDefault();
                        MusicianPhotograph testMP = _repo.Query <MusicianPhotograph>().Where(z => z.PhotographId == newP.PhotographId && z.MusicianId == tempMusician.MusicianId).FirstOrDefault();
                        if (testMP == null)
                        {
                            MusicianPhotograph newMP = new MusicianPhotograph
                            {
                                Photograph   = newP,
                                PhotographId = newP.PhotographId,
                                Musician     = tempMusician,
                                MusicianId   = tempMusician.MusicianId
                            };
                            _repo.Add(newMP);
                        }
                    }
                }
                //============================================================================
            }
            ;
            return(vmMP);
        }
Esempio n. 6
0
 public void Remove(MusicianGenre musicianGenre)
 {
     _context.MusicianGenres.Remove(musicianGenre);
 }
Esempio n. 7
0
 public async Task AddAsync(MusicianGenre musicianGenre)
 {
     await _context.MusicianGenres.AddAsync(musicianGenre);
 }