Пример #1
0
        public async Task <IActionResult> Index()
        {
            MusicianAlbumViewModel MAviewModel = new MusicianAlbumViewModel();
            //first instantiating my view model
            //second get instrumetns that correspond to the same instrumenttype
            //third put those players of an instrumenttype into a list
            //fourth put return view - lists into corresponding view model

            // HORN PLAYERS

            var hornPlayerDB = _context.Musician.Where(i => i.InstrumentTypeId.Equals(1));

            List <SelectListItem> hornList         = new List <SelectListItem>();
            SelectListItem        nullHornListItem = new SelectListItem
            {
                Value    = "0",
                Selected = true,
                Text     = "",
            };

            hornList.Add(nullHornListItem);
            foreach (var h in hornPlayerDB)
            {
                SelectListItem hornListItem = new SelectListItem
                {
                    Value = h.Id.ToString(),
                    Text  = h.Name
                };
                hornList.Add(hornListItem);
            }

            MAviewModel.HornPlayers = hornList;


            //PIANO PLAYERS--------------------------------------------------------------------------------

            var pianoPlayerDB = _context.Musician.Where(i => i.InstrumentTypeId.Equals(2));

            List <SelectListItem> pianoList         = new List <SelectListItem>();
            SelectListItem        nullPianoListItem = new SelectListItem
            {
                Value    = "0",
                Selected = true,
                Text     = "",
            };

            pianoList.Add(nullPianoListItem);

            foreach (var p in pianoPlayerDB)
            {
                SelectListItem pianoListItem = new SelectListItem
                {
                    Value = p.Id.ToString(),
                    Text  = p.Name
                };
                pianoList.Add(pianoListItem);
            }

            MAviewModel.PianoPlayers = pianoList;


            //BASS PLAYERS----------------------------------------------------------------------------------

            var bassPlayerDB = _context.Musician.Where(i => i.InstrumentTypeId.Equals(3));

            List <SelectListItem> bassList         = new List <SelectListItem>();
            SelectListItem        nullBassListItem = new SelectListItem
            {
                Value    = "0",
                Selected = true,
                Text     = "",
            };

            bassList.Add(nullBassListItem);
            foreach (var b in bassPlayerDB)
            {
                SelectListItem bassListItem = new SelectListItem
                {
                    Value = b.Id.ToString(),
                    Text  = b.Name
                };
                bassList.Add(bassListItem);
            }

            MAviewModel.BassPlayers = bassList;



            //DRUM PLAYERS------------------------------------------------------------------------------------

            var drumPlayerDB = _context.Musician.Where(i => i.InstrumentTypeId.Equals(4));

            List <SelectListItem> drumList         = new List <SelectListItem>();
            SelectListItem        nullDrumListItem = new SelectListItem
            {
                Value    = "0",
                Selected = true,
                Text     = "",
            };

            drumList.Add(nullDrumListItem);
            foreach (var d in drumPlayerDB)
            {
                SelectListItem drumListItem = new SelectListItem
                {
                    Value = d.Id.ToString(),
                    Text  = d.Name
                };
                drumList.Add(drumListItem);
            }

            MAviewModel.DrumPlayers = drumList;



            //var pianoPlayerDB = _context.Musician.Where(i => i.InstrumentTypeId.Equals(2));

            //List<SelectListItem> pianoList = new List<SelectListItem>();
            //foreach (var p in pianoPlayerDB)
            //{
            //    SelectListItem pianoListItem = new SelectListItem
            //    {
            //        Value = p.Id.ToString(),
            //        Text = p.Name
            //    };
            //    hornList.Add(pianoListItem);
            //}
            //MAviewModel.PianoPlayers = pianoList;

            //var bassPlayerDB = _context.Musician.Where(i => i.InstrumentTypeId.Equals(3));

            //List<SelectListItem> bassList = new List<SelectListItem>();
            //foreach (var b in bassPlayerDB)
            //{
            //    SelectListItem bassListItem = new SelectListItem
            //    {
            //        Value = b.Id.ToString(),
            //        Text = b.Name
            //    };
            //    bassList.Add(bassListItem);
            //}
            //MAviewModel.BassPlayers = bassList;

            //var drumPlayerDB = _context.Musician.Where(i => i.InstrumentTypeId.Equals(4));

            //List<SelectListItem> drumList = new List<SelectListItem>();
            //foreach (var d in drumPlayerDB)
            //{
            //    SelectListItem drumListItem = new SelectListItem
            //    {
            //        Value = d.Id.ToString(),
            //        Text = d.Name
            //    };
            //    hornList.Add(drumListItem);
            //}
            //MAviewModel.DrumPlayers = drumList;

            ////var Musicians = new selectList.Musician( "Id", "Name");

            //var user = await GetCurrentUserAsync();
            var AlbumDb = _context.Album;

            // .FirstOrDefaultAsync(m => m.Id == id);
            return(View(MAviewModel));


            //  .Where(p => p.City.Equals(search));

            //context.musicianswhere(instrumenttype is 1
            // var applicationDbContext = _context.Product

            //.Include(p => p.OrderProducts)

            //.Where(p => p.UserId == user.Id);

            //context.musicianswhere(instrumenttype is 2

            //then select statement for each of those, where followed by select.. where comes first, select takes raw data and converts into something for view

            // VAR MUSICIANS = new selectList(Musicians, "Id", "Name)
        }
Пример #2
0
        public async Task <IActionResult> Index(MusicianAlbumViewModel musicianAlbumViewModel)
        {
            MusicianAlbumViewModel vm = new MusicianAlbumViewModel()
            {
                HornPlayers  = new List <SelectListItem>(),
                PianoPlayers = new List <SelectListItem>(),
                BassPlayers  = new List <SelectListItem>(),
                DrumPlayers  = new List <SelectListItem>(),
            };

            //if(musicianAlbumViewModel.HornId > 0 && musicianAlbumViewModel.HornPlayers != null ||
            //    musicianAlbumViewModel.PianoId > 0 && musicianAlbumViewModel.PianoPlayers != null ||
            //    musicianAlbumViewModel.BassId > 0 && musicianAlbumViewModel.BassPlayers != null ||
            //    musicianAlbumViewModel.DrumId > 0 && musicianAlbumViewModel.DrumPlayers != null)
            //{
            //    //search for
            //}

            var query = _context.Album.Include(m => m.MusicianAlbums).ThenInclude(a => a.Album).AsQueryable();

            if (musicianAlbumViewModel.HornId > 0)
            {
                query = query.Where(a => a.MusicianAlbums.Any(m => m.MusicianId == musicianAlbumViewModel.HornId));
            }
            if (musicianAlbumViewModel.PianoId > 0)
            {
                query = query.Where(a => a.MusicianAlbums.Any(m => m.MusicianId == musicianAlbumViewModel.PianoId));
            }
            if (musicianAlbumViewModel.BassId > 0)
            {
                query = query.Where(a => a.MusicianAlbums.Any(m => m.MusicianId == musicianAlbumViewModel.BassId));
            }
            if (musicianAlbumViewModel.DrumId > 0)
            {
                query = query.Where(a => a.MusicianAlbums.Any(m => m.MusicianId == musicianAlbumViewModel.DrumId));
            }

            vm.MatchingAlbums = query.ToList();


            //var query2 = _context.Album.Include(m => m.MusicianAlbums).ThenInclude(a => a.Album).AsQueryable();

            //if (musicianAlbumViewModel.HornId > 0)
            //{
            //    query2 = null;
            //}
            //if (musicianAlbumViewModel.PianoId > 0)
            //{
            //    query2 = null;
            //}
            //if (musicianAlbumViewModel.BassId > 0)
            //{
            //    query2 = null;
            //}
            //if (musicianAlbumViewModel.DrumId > 0)
            //{
            //    query2 = null;
            //}

            //vm.MatchingAlbums = query2.ToList();



            var hornPlayerDB = _context.Musician.Where(i => i.InstrumentTypeId.Equals(1));

            List <SelectListItem> hornList = new List <SelectListItem>();

            SelectListItem nullHornListItem = new SelectListItem
            {
                Value    = "0",
                Selected = true,
                Text     = "",
            };

            hornList.Add(nullHornListItem);

            foreach (var h in hornPlayerDB)
            {
                SelectListItem hornListItem = new SelectListItem
                {
                    Value = h.Id.ToString(),
                    Text  = h.Name
                };
                hornList.Add(hornListItem);
            }

            vm.HornPlayers = hornList;


            //PIANO PLAYERS--------------------------------------------------------------------------------

            var pianoPlayerDB = _context.Musician.Where(i => i.InstrumentTypeId.Equals(2));

            List <SelectListItem> pianoList         = new List <SelectListItem>();
            SelectListItem        nullPianoListItem = new SelectListItem
            {
                Value    = "0",
                Selected = true,
                Text     = "",
            };

            pianoList.Add(nullPianoListItem);
            foreach (var p in pianoPlayerDB)
            {
                SelectListItem pianoListItem = new SelectListItem
                {
                    Value = p.Id.ToString(),
                    Text  = p.Name
                };
                pianoList.Add(pianoListItem);
            }

            vm.PianoPlayers = pianoList;


            //BASS PLAYERS----------------------------------------------------------------------------------

            var bassPlayerDB = _context.Musician.Where(i => i.InstrumentTypeId.Equals(3));

            List <SelectListItem> bassList         = new List <SelectListItem>();
            SelectListItem        nullBassListItem = new SelectListItem
            {
                Value    = "0",
                Selected = true,
                Text     = "",
            };

            bassList.Add(nullBassListItem);
            foreach (var b in bassPlayerDB)
            {
                SelectListItem bassListItem = new SelectListItem
                {
                    Value = b.Id.ToString(),
                    Text  = b.Name
                };
                bassList.Add(bassListItem);
            }

            vm.BassPlayers = bassList;



            //DRUM PLAYERS------------------------------------------------------------------------------------

            var drumPlayerDB = _context.Musician.Where(i => i.InstrumentTypeId.Equals(4));

            List <SelectListItem> drumList         = new List <SelectListItem>();
            SelectListItem        nullDrumListItem = new SelectListItem
            {
                Value    = "0",
                Selected = true,
                Text     = "",
            };

            drumList.Add(nullDrumListItem);
            foreach (var d in drumPlayerDB)
            {
                SelectListItem drumListItem = new SelectListItem
                {
                    Value = d.Id.ToString(),
                    Text  = d.Name
                };
                drumList.Add(drumListItem);
            }
            vm.DrumPlayers = drumList;

            return(View(vm));
        }