public string GetDetailPageGuest(int request_id, int account_id, int language_id)
        {
            BaseRequest request = db.BaseRequests.Where(x => x.account_id == account_id && x.request_id == request_id).FirstOrDefault();

            if (request == null)
            {
                return(null);
            }
            var a = request.RequestConference;
            ConferenceDetail Conference = (from b in db.Conferences
                                           join c in db.Countries on b.country_id equals c.country_id
                                           join d in db.Files on a.invitation_file_id equals d.file_id
                                           join e in db.Papers on a.paper_id equals e.paper_id
                                           join f in db.Files on e.file_id equals f.file_id
                                           join g in db.ConferenceStatus on a.status_id equals g.status_id
                                           join h in db.ConferenceStatusLanguages on g.status_id equals h.status_id
                                           join i in db.Formalities on b.formality_id equals i.formality_id
                                           join j in db.FormalityLanguages on i.formality_id equals j.formality_id
                                           where a.request_id == request.request_id && h.language_id == language_id && j.language_id == language_id && b.conference_id == a.conference_id
                                           select new ConferenceDetail
            {
                ConferenceName = b.conference_name,
                Website = b.website,
                KeynoteSpeaker = b.keynote_speaker,
                QsUniversity = b.qs_university,
                Co_organizedUnit = b.co_organized_unit,
                CreatedDate = request.created_date.Value,
                TimeEnd = b.time_end,
                TimeStart = b.time_start,
                AttendanceEnd = a.attendance_end,
                AttendanceStart = a.attendance_start,
                ConferenceID = a.conference_id,
                EditAble = a.editable,
                InvitationLink = d.link,
                PaperLink = f.link,
                PaperName = e.name,
                RequestID = a.request_id,
                CountryName = c.country_name,
                StatusName = h.name,
                FormalityName = j.name
            }).FirstOrDefault();
            List <ConferenceParticipantExtend> Participants = (from b in db.ConferenceParticipants
                                                               join c in db.TitleLanguages on b.title_id equals c.title_id
                                                               join d in db.People on b.people_id equals d.people_id
                                                               join e in db.Offices on b.office_id equals e.office_id
                                                               where a.request_id == b.request_id
                                                               select new ConferenceParticipantExtend
            {
                ID = b.current_mssv_msnv,
                FullName = d.name,
                OfficeName = e.office_name,
                TitleName = c.name
            }).ToList();

            for (int i = 0; i < Participants.Count; i++)
            {
                Participants[i].RowNumber = 1 + i;
            }
            return(JsonConvert.SerializeObject(new { Conference, Participants }));
        }
Ejemplo n.º 2
0
        private static void DisplaySchedule(ConferenceDetail conference)
        {
            Console.WriteLine(conference.ConferenceStartDate);
            foreach (var track in conference.Tracks)
            {
                Console.WriteLine($"{track.Name}:");
                foreach (var talk in track.Sessions)
                {
                    Console.WriteLine(talk.Title);
                    Console.WriteLine(talk.ToString());
                }

                Console.WriteLine();
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Identifies the number of and initializes the tracks and schedules
        /// </summary>
        /// <param name="talks">
        /// list of talks containing name and duration.
        /// </param>
        /// <returns>return ConferenceDetail class with tracks scheduled with Talks.</returns>
        public ConferenceDetail Initialize(IList <Talk> talks)
        {
            logger.LogInformation($"Start: {nameof(SchedulerService)} => {nameof(Initialize)} with {nameof(talks)}:{talks.Count}");

            var tracks = InitializeTracks(GetNumberOfTracksRequired(talks));

            trackOrganizer.Organize(tracks, talks);
            Conference = new ConferenceDetail()
            {
                Tracks = tracks, ConferenceStartDate = DateTime.Now
            };

            logger.LogInformation($"Complete: {nameof(SchedulerService)} => {nameof(Initialize)} with {talks.Count} Talks.");
            return(Conference);
        }
        static void Main(string[] args)
        {
            Messaging.EventBus myBus                 = null;
            IDisposable        addConferenceSub      = null;
            IDisposable        newRegistrationSub    = null;
            IDisposable        cancelRegistrationSub = null;

            try
            {
                myBus            = new Messaging.EventBus();
                addConferenceSub = myBus.Subscribe <AddConferenceEvent>("AddConference",
                                                                        async x =>
                {
                    await ConferenceDetail.Handle(x);
                    await ConferenceList.Handle(x);
                });

                newRegistrationSub = myBus.Subscribe <NewRegistrationEvent>("NewRegistration", async x =>
                {
                    await ConferenceDetail.Handle(x);
                    await AttendeeList.Handle(x);
                });

                cancelRegistrationSub = myBus.Subscribe <CancelRegistrationEvent>("CancelRegistration", async x =>
                {
                    await ConferenceDetail.Handle(x);
                    await AttendeeList.Handle(x);
                });

                while (Console.ReadLine() != "quit")
                {
                    Thread.Sleep(int.MaxValue);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Event-Handler");
                Console.WriteLine(ex);
            }
            finally
            {
                addConferenceSub?.Dispose();
                newRegistrationSub?.Dispose();
                cancelRegistrationSub?.Dispose();

                myBus?.Dispose();
            }
        }