Пример #1
0
        protected override void OnNewSession(MsgSessionInfo msg)
        {
            //using (var a = new FileStream("Test.txt", FileMode.Append, FileAccess.Write))
            //using (var b = new StreamWriter(a))
            //{
            //    b.WriteLine($"{DateTime.Now.TimeOfDay}: OnNewSession Called {msg.SessionType}");
            //}
            // PluginManager.EnableRealtimeReport((ushort)(PluginManager.RealtimeUpdateInterval * 5));

            CurrentSession = new Session
            {
                SessionId           = Guid.NewGuid().ToString(),
                EventId             = "",
                AmbientTemp         = msg.AmbientTemp,
                ElapsedMs           = msg.ElapsedMS,
                IsActive            = true,
                RoadTemp            = msg.RoadTemp,
                ServerName          = msg.ServerName,
                SessionDuration     = msg.SessionDuration,
                SessionLaps         = msg.Laps,
                SessionName         = msg.Name,
                SessionTrack        = msg.Track,
                SessionTrackConfig  = msg.TrackConfig,
                SessionType         = msg.SessionType,
                SessionWaitTime     = msg.WaitTime,
                Timestamp           = DateTime.Now.TimeOfDay.Milliseconds,
                Version             = msg.Version,
                CurrentSessionIndex = msg.CurrentSessionIndex,
                SessionCount        = msg.SessionCount,
                SessionIndex        = msg.SessionIndex,
                Weather             = msg.Weather,
                SessionGame         = "Assetto Corsa"
            };

            CurrentSession = ApiWrapperNet4.Post <Session>("session/addsession", CurrentSession);

            Competitors.Where(comp => comp.IsConnected == true && comp.SessionId != CurrentSession.SessionId).ToList().ForEach(comp =>
            {
                comp.SessionId    = CurrentSession.SessionId;
                comp.CompetitorId = Guid.NewGuid().ToString();
                ApiWrapperNet4.Post <Competitor>("competitor/addcompetitor", comp);
            });
        }
 private Competitor Str2Competitor(string name)
 {
     return(Competitors
            .Where(c => c.Str2Competitor(name) != null)
            .FirstOrDefault());
 }