示例#1
0
        private static void AddRoleToArtist(ArtistDetail artistDetail, ArtistDTO artist)
        {
            var role = artistDetail.Instrument1;

            var instrument       = new InstrumentDTO(role);
            var artistInstrument = artist.artistInstruments.FirstOrDefault(i => i.Instrument1 == instrument.Instrument1);

            if (artistInstrument == null)
            {
                artistInstrument = instrument;
                artist.artistInstruments.Add(artistInstrument);
            }
        }
示例#2
0
        private void AddEventArtistDTO(EventDetail eventDetail, EventDTO eventDTO)
        {
            if (eventDetail.ArtistID == null)
            {
                return;
            }

            var    artist       = eventDTO.artists.FirstOrDefault(a => a.ArtistID == eventDetail.ArtistID);
            var    instrumentID = eventDetail.InstrumentID ?? 0;
            string instrument;

            if (instrumentID == 0)
            {
                instrument = "";
            }
            else
            {
                instrument = Instrument.GetInstrumentByID((int)eventDetail.InstrumentID).Instrument1;
            }


            if (artist == null)
            {
                var artistID = eventDetail.ArtistID;
                if (artistID == null)
                {
                    return;
                }

                var artistObj = Artist.GetArtistByID((int)eventDetail.ArtistID);

                artist = new ArtistDTO
                {
                    ArtistFullName   = artistObj.ArtistFullName,
                    ArtistInstrument = instrument,
                    ArtistID         = (int)eventDetail.ArtistID
                };

                eventDTO.artists.Add(artist);
            }
        }
        /// <summary>
        /// Get Artist DTO by Artist Id
        /// </summary>
        /// <param name="artistDetailId"></param>
        /// <returns></returns>
        public static ArtistDTO GetArtistDTOByArtistDetailID(int artistDetailId, List<ArtistDTO> artistDTOList)
        {
            var artistDetail = ArtistDetail.GetArtistDetailByID(artistDetailId);

            var artist = artistDTOList.FirstOrDefault(a => a.ArtistFullName == artistDetail.EnsembleName && a.work.WorkTitle == artistDetail.WorkTitle);

            if (artist == null)
            {
                artist = new ArtistDTO
                {
                    ArtistFullName = artistDetail.EnsembleName ?? "",
                    artistInstruments = new List<InstrumentDTO>(),
                    ConductorCount = 0,
                    SoloistCount = 0,
                    EnsembleCount = 0
                };

                var artistsWork = new WorkDTO
                {
                    WorkTitle = artistDetail.WorkTitle ?? "",
                    ComposerFullName = artistDetail.ComposerFullName ?? ""
                };

                artist.work = artistsWork;

                String composerLink = String.Concat("&Composer=", artist.work.ComposerFullName, "&Work=", artist.work.WorkTitle);
                String linkBase = "Search.aspx?searchType=Performance";
                artist.ConductorLink = String.Concat(linkBase, "&Conductor=", artist.ArtistFullName, composerLink);
                artist.SoloistLink = String.Concat(linkBase, "&Soloist=", artist.ArtistFullName, composerLink);
                artist.OrchestraLink = String.Concat(linkBase, "&Orchestra=", artist.ArtistFullName, composerLink);

                int artistDetailWorkId = artistDetail.WorkId ?? 0;

                if (!Work.WorkShouldBeExcludedById(artistDetailWorkId) && artistDetailWorkId != 0)
                    artistDTOList.Add(artist);
            }

            if (artistDetail.EnsembleType == "Orchestra")
            {
                artist.EnsembleCount++;
                AddRoleToArtist(artistDetail, artist);
            }

            if (artistDetail.EnsembleType == "Conductor")
            {
                artist.ConductorCount++;
                AddRoleToArtist(artistDetail, artist);
            }

            if (artistDetail.EnsembleType == "Soloist")
            {
                artist.SoloistCount++;

                var instrumentID = artistDetail.InstrumentID;

                var instrument = new InstrumentDTO(instrumentID);
                var artistInstrument = artist.artistInstruments.FirstOrDefault(i => i.Instrument1 == instrument.Instrument1);

                if (artistInstrument == null)
                {
                    artistInstrument = instrument;
                    artist.artistInstruments.Add(artistInstrument);
                }
            }

            return artist;
        }
        private static void AddRoleToArtist(ArtistDetail artistDetail, ArtistDTO artist)
        {
            var role = artistDetail.Instrument1;

            var instrument = new InstrumentDTO(role);
            var artistInstrument = artist.artistInstruments.FirstOrDefault(i => i.Instrument1 == instrument.Instrument1);

            if (artistInstrument == null)
            {
                artistInstrument = instrument;
                artist.artistInstruments.Add(artistInstrument);
            }
        }
        private void AddEventWorkDTO(EventDetail eventDetail, EventDTO eventDTO)
        {
            if (eventDetail.WorkID == null || Work.WorkShouldBeExcludedByGroupId((int)eventDetail.WorkGroupId))
                return;

            var work = eventDTO.works.FirstOrDefault(w => w.workID == (int)eventDetail.WorkID);

            if (work == null)
            {
                work = new WorkDTO
                {
                    WorkTitle = eventDetail.WorkTitle,
                    ComposerFullName = eventDetail.ComposerFullName,
                    workID = (int)eventDetail.WorkID,
                    Arranger = eventDetail.WorkArrangement,
                    WorkArtists = new List<ArtistDTO>()
                };

                eventDTO.works.Add(work);
            }

            var artistID = eventDetail.ArtistID;
            if (artistID == null)
                return;

            var workArtist = work.WorkArtists.FirstOrDefault(wa => wa.ArtistID == (int)eventDetail.ArtistID);

            var instrumentID = eventDetail.InstrumentID ?? 0;
            string instrument;
            if (instrumentID == 0)
                instrument = "";
            else
                instrument = Instrument.GetInstrumentByID((int)eventDetail.InstrumentID).Instrument1;

            if (workArtist == null)
            {
                var artist = Artist.GetArtistByID((int)artistID);

                workArtist = new ArtistDTO
                {
                    ArtistFullName = artist.ArtistFullName,
                    ArtistInstrument = instrument,
                    ArtistID = (int)eventDetail.ArtistID
                };

                work.WorkArtists.Add(workArtist);
            }
        }
        private void AddEventArtistDTO(EventDetail eventDetail, EventDTO eventDTO)
        {
            if (eventDetail.ArtistID == null)
                return;

            var artist = eventDTO.artists.FirstOrDefault(a => a.ArtistID == eventDetail.ArtistID);
            var instrumentID = eventDetail.InstrumentID ?? 0;
            string instrument;
            if (instrumentID == 0)
                instrument = "";
            else
                instrument = Instrument.GetInstrumentByID((int)eventDetail.InstrumentID).Instrument1;

            if (artist == null){
                var artistID = eventDetail.ArtistID;
                if (artistID == null)
                    return;

                var artistObj = Artist.GetArtistByID((int)eventDetail.ArtistID);

                artist = new ArtistDTO
                {
                    ArtistFullName = artistObj.ArtistFullName,
                    ArtistInstrument = instrument,
                    ArtistID = (int)eventDetail.ArtistID
                };

                eventDTO.artists.Add(artist);
            }
        }
示例#7
0
        /// <summary>
        /// Get Artist DTO by Artist Id
        /// </summary>
        /// <param name="artistDetailId"></param>
        /// <returns></returns>
        public static ArtistDTO GetArtistDTOByArtistDetailID(int artistDetailId, List <ArtistDTO> artistDTOList)
        {
            var artistDetail = ArtistDetail.GetArtistDetailByID(artistDetailId);

            var artist = artistDTOList.FirstOrDefault(a => a.ArtistFullName == artistDetail.EnsembleName && a.work.WorkTitle == artistDetail.WorkTitle);

            if (artist == null)
            {
                artist = new ArtistDTO
                {
                    ArtistFullName    = artistDetail.EnsembleName ?? "",
                    artistInstruments = new List <InstrumentDTO>(),
                    ConductorCount    = 0,
                    SoloistCount      = 0,
                    EnsembleCount     = 0
                };

                var artistsWork = new WorkDTO
                {
                    WorkTitle        = artistDetail.WorkTitle ?? "",
                    ComposerFullName = artistDetail.ComposerFullName ?? ""
                };

                artist.work = artistsWork;

                String composerLink = String.Concat("&Composer=", artist.work.ComposerFullName, "&Work=", artist.work.WorkTitle);
                String linkBase     = "Search.aspx?searchType=Performance";
                artist.ConductorLink = String.Concat(linkBase, "&Conductor=", artist.ArtistFullName, composerLink);
                artist.SoloistLink   = String.Concat(linkBase, "&Soloist=", artist.ArtistFullName, composerLink);
                artist.OrchestraLink = String.Concat(linkBase, "&Orchestra=", artist.ArtistFullName, composerLink);

                int artistDetailWorkId = artistDetail.WorkId ?? 0;

                if (!Work.WorkShouldBeExcludedById(artistDetailWorkId) && artistDetailWorkId != 0)
                {
                    artistDTOList.Add(artist);
                }
            }

            if (artistDetail.EnsembleType == "Orchestra")
            {
                artist.EnsembleCount++;
                AddRoleToArtist(artistDetail, artist);
            }

            if (artistDetail.EnsembleType == "Conductor")
            {
                artist.ConductorCount++;
                AddRoleToArtist(artistDetail, artist);
            }

            if (artistDetail.EnsembleType == "Soloist")
            {
                artist.SoloistCount++;

                var instrumentID = artistDetail.InstrumentID;

                var instrument       = new InstrumentDTO(instrumentID);
                var artistInstrument = artist.artistInstruments.FirstOrDefault(i => i.Instrument1 == instrument.Instrument1);

                if (artistInstrument == null)
                {
                    artistInstrument = instrument;
                    artist.artistInstruments.Add(artistInstrument);
                }
            }

            return(artist);
        }
示例#8
0
        private void AddEventWorkDTO(EventDetail eventDetail, EventDTO eventDTO)
        {
            if (eventDetail.WorkID == null || Work.WorkShouldBeExcludedByGroupId((int)eventDetail.WorkGroupId))
            {
                return;
            }

            var work = eventDTO.works.FirstOrDefault(w => w.workID == (int)eventDetail.WorkID);

            if (work == null)
            {
                work = new WorkDTO
                {
                    WorkTitle        = eventDetail.WorkTitle,
                    ComposerFullName = eventDetail.ComposerFullName,
                    workID           = (int)eventDetail.WorkID,
                    Arranger         = eventDetail.WorkArrangement,
                    WorkArtists      = new List <ArtistDTO>(),
                    WorkDocuments    = new List <WorkDocumentDTO>()
                };

                eventDTO.works.Add(work);
            }

            var artistID = eventDetail.ArtistID;

            if (artistID != null)
            {
                var workArtist = work.WorkArtists.FirstOrDefault(wa => wa.ArtistID == (int)eventDetail.ArtistID);

                var    instrumentID = eventDetail.InstrumentID ?? 0;
                string instrument;
                if (instrumentID == 0)
                {
                    instrument = "";
                }
                else
                {
                    instrument = Instrument.GetInstrumentByID((int)eventDetail.InstrumentID).Instrument1;
                }

                if (workArtist == null)
                {
                    var artist = Artist.GetArtistByID((int)artistID);

                    workArtist = new ArtistDTO
                    {
                        ArtistFullName   = artist.ArtistFullName,
                        ArtistInstrument = instrument,
                        ArtistID         = (int)eventDetail.ArtistID
                    };

                    work.WorkArtists.Add(workArtist);
                }
            }
            var documentID = eventDetail.WorkDocumentID;

            if (documentID != null)
            {
                var workDocument = work.WorkDocuments.FirstOrDefault(wd => wd.WorkDocumentID == (int)eventDetail.WorkDocumentID);
                if (workDocument == null)
                {
                    var document = WorkDocument.GetDocumentByID((int)documentID);
                    workDocument = new WorkDocumentDTO
                    {
                        WorkDocumentID           = (int)eventDetail.WorkDocumentID,
                        WorkDocumentName         = document.WorkDocumentName,
                        WorkDocumentFileLocation = document.WorkDocumentFileLocation,
                    };
                    work.WorkDocuments.Add(workDocument);
                }
            }
        }