Esempio n. 1
0
 private void Initialize()
 {
     MorningSession   = new TrackSession("Morning Session", _sessionTimings.MorningSessionSlot);
     AfternoonSession = new TrackSession("Afternoon Session", _sessionTimings.AfternoonSessionSlot);
     LunchBreak       = _sessionTimings.LunchBreakSlot;
     NetworkingEvent  = _sessionTimings.NetworkingEventStartTimeSlot;
 }
Esempio n. 2
0
 public SessionDetailsPage(TrackSession parameter)
 {
     this._parameter     = parameter;
     this.Appearing     += SessionDetailsPage_Appearing;
     this.BindingContext = new SessionDetailsPageViewModel();
     InitializeComponent();
 }
Esempio n. 3
0
        public string Format(TrackSession trackSession)
        {
            if (trackSession == null)
            {
                throw new ArgumentNullException(nameof(trackSession));
            }

            return($"{trackSession.Time.ToTimeString()} {trackSession.Title}");
        }
 public ConferenceTrack(int trackNumber)
 {
     TrackNumber     = trackNumber;
     MorningSession  = new TrackSession("MorningSession", 3);
     Lunch           = new NonTrackSession("Lunch", 1);
     EveningSession  = new TrackSession("EveningSession", 4);
     NetworkingEvent = new NonTrackSession("NetworkingEvent", 1);
     TimeSaved       = 0;
 }
Esempio n. 5
0
 public ConferenceTrack(int trackNumber)
 {
     _trackNumber     = trackNumber;
     _morningSession  = new TrackSession("MorningSession", 3);
     _lunch           = new NonTrackSession("Lunch", 1);
     _eveningSession  = new TrackSession("EveningSession", 4);
     _networkingEvent = new NonTrackSession("NetworkingEvent", 1);
     _timeSaved       = 0;
 }
        public void Should_Format_ReturnCorrectFormattedOutput()
        {
            // Given
            var session = new TrackSession("Session #1", new TimeSlot(11, 15, 45));
            var sut     = new TrackSessionFormatter();

            // When
            var result = sut.Format(session);

            // Then
            result.Should().Be("11:15AM Session #1");
        }
Esempio n. 7
0
        public static TimeSlot GetNextSlot(this TrackSession trackSession, int duration)
        {
            if (trackSession == null)
            {
                throw new ArgumentNullException(nameof(trackSession));
            }
            if (duration <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(duration));
            }

            var datetime = DateTime.Today
                           .AddHours(trackSession.Time.Hour)
                           .AddMinutes(trackSession.Time.Minute + trackSession.Time.DurationInMinute);

            return(new TimeSlot(datetime.Hour, datetime.Minute, duration));
        }
Esempio n. 8
0
        public void AllocateSession(SessionDefinition sessionDefinition)
        {
            if (sessionDefinition == null)
            {
                throw new ArgumentNullException(nameof(sessionDefinition));
            }

            var lastSession = _trackSlot.TrackSessions.LastOrDefault();
            var slot        = lastSession != null
                ? lastSession.GetNextSlot(sessionDefinition.Duration)
                : _trackSlot.GetNextSlot(sessionDefinition.Duration);

            var trackSession = new TrackSession(sessionDefinition.Title, slot);

            _trackSlot.TrackSessions.Add(trackSession);

            UnallocatedTime -= sessionDefinition.Duration;
        }
Esempio n. 9
0
        public void Should_Format_ReturnCorrectFormattedOutput_WhenSlotHasSessions()
        {
            // Given
            var slot    = new TrackSlot("Morning", new TimeSlot(9, 0, 180));
            var session = new TrackSession("Session #1", new TimeSlot(11, 15, 45));

            slot.TrackSessions.Add(session);

            var trackSessionFormatter = Substitute.For <ITrackSessionFormatter>();

            trackSessionFormatter.Format(Arg.Any <TrackSession>()).Returns("11:15AM Session #1");

            var sut = new TrackSlotFormatter(trackSessionFormatter);

            // When
            var result = sut.Format(slot);

            // Then
            result.Should().Be("11:15AM Session #1" + Environment.NewLine);
        }
Esempio n. 10
0
 public static TrackSessionViewModel AsViewModel(this TrackSession session, TrackViewModel track, VehicleViewModel vehicle, TimeSpan?bestLapTime, TrackSessionLocation location, string filePath, bool isMetricUnits)
 {
     return(new TrackSessionViewModel
     {
         TrackId = track != null ? track.Id : 0,
         Track = track,
         TrackName = track != null ? track.Name : string.Empty,
         Vehicle = vehicle,
         BestLapTime = session.BestLapTime,
         NumberOfLaps = session.NumberOfLaps,
         DeviceOrientation = session.DeviceOrientation,
         GpsDeviceName = session.GpsDeviceName,
         Location = location,
         LocalFilePath = location == TrackSessionLocation.LocalFile || location == TrackSessionLocation.ServerWithLocalFile ? filePath : string.Empty,
         ServerFilePath = location == TrackSessionLocation.ServerFile ? filePath : string.Empty,
         IsUploaded = location == TrackSessionLocation.ServerFile,
         Laps = new ObservableCollection <LapViewModel>(session.Laps.Select(lap => lap.AsViewModel(bestLapTime, isMetricUnits))),
         Timestamp = session.Timestamp.ToLocalTime(),
         Notes = session.Notes,
         Weather = session.Weather.AsViewModel(isMetricUnits)
     });
 }
        public static Event CreateDxEvent(DbModel.Event ev)
        {
            Event dxEvent = new Event()
            {
                EventStatus   = ev.EventStatus.ToString(),
                EventFromDate = ev.EventFromDate,
                EventToDate   = ev.EventToDate,
                EventAbstract = ev.EventAbstract,
                CityName      = ev.CityName,
                EventId       = ev.EventID,
                EventName     = ev.EventName,
                EventRegLink  = ev.RegLink,
                EventType     = ev.EventType.ToString(),
                EventVenue    = ev.EventVenue,
                Tracks        = new List <EventTrack>(),
                GlobalEvent   = ev.IsGlobal
            };



            foreach (var et in ev.EventTracks)
            {
                var dxEventTrack = new EventTrack()
                {
                    AudienceType     = et.Track.AudType.TypeOfAudience,
                    AudienceTypeId   = et.Track.AudienceTypeID,
                    EventTrackId     = et.EventTrackID,
                    Format           = et.Track.Format.ToString(),
                    TrackAbstract    = et.Track.TrackAbstract,
                    TrackEndTime     = et.TrackEndTime,
                    TrackStartTime   = et.TrackStartTime,
                    TrackId          = et.Track.TrackID,
                    TrackVenue       = et.TrackVenue,
                    TrackDisplayName = et.Track.TrackDisplayName,
                    Sessions         = new List <TrackSession>()
                };
                dxEvent.Tracks.Add(dxEventTrack);


                foreach (var ets in et.Track.Session)
                {
                    var eta = (from c in et.TrackAgendas
                               where c.SessionID == ets.SessionID
                               select c).FirstOrDefault();

                    var dxEventSession = new TrackSession()
                    {
                        Abstract              = ets.Abstract,
                        Posrequisites         = ets.PostRequisites,
                        Prerequisites         = ets.PreRequisites,
                        PrimaryTechnologyId   = ets.PrimaryTechnologyID,
                        PrimaryTechnologyName = ets.PrimaryTechnology.PrimaryTech,
                        Product = ets.Product,
                        SecondaryTechnologyId   = ets.SecondaryTechnologyID,
                        SecondaryTechnologyName = ets.SecondaryTechnology.SecondaryTech,
                        SessionEndTime          = eta.EndTime,
                        SessionNo        = ets.SessionNo,
                        SessionStartTime = eta.StartTime,
                        Speaker          = new TrackSpeaker()
                        {
                            Affiliation  = eta.Speaker.Affiliation.ToString(),
                            Email        = eta.Speaker.Email,
                            PicUrl       = eta.Speaker.PicUrl,
                            Profile      = eta.Speaker.Profile,
                            SpeakerId    = eta.SpeakerID,
                            SpeakerName  = eta.Speaker.SpeakerName,
                            SpeakerType  = eta.Speaker.Type.ToString(),
                            Title        = eta.Speaker.Title,
                            BlogLink     = eta.Speaker.BlogLink,
                            FacebookLink = eta.Speaker.FacebookLink,
                            LinkedinLink = eta.Speaker.LinkedInLink,
                            Location     = eta.Speaker.Location,
                            TwitterLink  = eta.Speaker.TwitterHandle
                        },
                        Title         = ets.Title,
                        TechLevel     = ets.TechLevel,
                        TrackAgendaId = eta.TrackAgendaID
                    };

                    dxEventTrack.Sessions.Add(dxEventSession);
                }
            }

            return(dxEvent);
        }