Exemple #1
0
        public IEnumerable <LeagueMember> GetNewMemberList()
        {
            var memberList = new List <LeagueMember>();

            foreach (var line in DataLines)
            {
                IRacingResultRow row = new IRacingResultRow();
                if (!MemberList.Any(x => x.IRacingId == line["CustID"]))
                {
                    //var newMember = LeagueClient.AddNewMember(line["Name"].Split(' ').First(), line["Name"].Split(' ').Last());
                    var newMember = new LeagueMember(0, line["Name"].Split(' ').First(), line["Name"].Split(' ').Skip(1).Aggregate((x, y) => x + " " + y));
                    //LeagueContext.MemberList.Add(newMember);
                    newMember.IRacingId = line["CustID"];
                    //row.MemberId = newMember.MemberId;
                    row.Member = newMember;
                    memberList.Add(newMember);
                }
                else
                {
                    var member = MemberList.SingleOrDefault(x => x.IRacingId == line["CustID"]);
                    var names  = line["Name"].Split(' ');
                    member.Firstname = names.First();
                    member.Lastname  = names.Skip(1).Aggregate((x, y) => x + " " + y);
                }
            }
            return(memberList);
        }
Exemple #2
0
        public IEnumerable <LeagueMember> GetNewMemberList()
        {
            var memberList = new List <LeagueMember>();

            foreach (var result in SessionResults)
            {
                IRacingResultRow row = new IRacingResultRow();
                if (!MemberList.Any(x => x.IRacingId == (string)result.cust_id))
                {
                    //var newMember = LeagueClient.AddNewMember(line["Name"].Split(' ').First(), line["Name"].Split(' ').Last());
                    var newMember = new LeagueMember(0, ((string)result.display_name).Split(' ').First(), ((string)result.display_name).Split(' ').Skip(1).Aggregate((x, y) => x + " " + y));
                    //LeagueContext.MemberList.Add(newMember);
                    newMember.IRacingId = (string)result.cust_id;
                    //row.MemberId = newMember.MemberId;
                    row.Member = newMember;
                    memberList.Add(newMember);
                }
                else
                {
                    var member = MemberList.SingleOrDefault(x => x.IRacingId == (string)result.cust_id);
                    var names  = ((string)result.display_name).Split(' ');
                    member.Firstname = names.First();
                    member.Lastname  = names.Skip(1).Aggregate((x, y) => x + " " + y);
                }
            }
            return(memberList);
        }
Exemple #3
0
 private void FinishImport(object obj)
 {
     try
     {
         if (MessageBox.Show("You are going to import Members from selected file. Do you want to continue?", MessageBoxCaption, MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
         {
             return;
         }
         using (SqlConnection conn = new SqlConnection(GlobalClass.TConnectionString))
         {
             conn.Open();
             using (SqlTransaction tran = conn.BeginTransaction())
             {
                 foreach (Member m in ImportMemberList)
                 {
                     if (!string.IsNullOrEmpty(m.Error))
                     {
                         if (MessageBox.Show(string.Format("Error On {0}({1}) : {2}. Do you want to skip this member and continue??", m.MemberName, m.MemberId, m.Error), MessageBoxCaption, MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.No)
                         {
                             return;
                         }
                         else
                         {
                             continue;
                         }
                     }
                     if (MemberList.Any(x => x.MemberId == m.MemberId))
                     {
                         m.Update(tran);
                     }
                     else
                     {
                         m.Save(tran);
                     }
                 }
                 tran.Commit();
                 MemberList = new ObservableCollection <Member>(conn.Query <Member>("SELECT * FROM Members"));
                 MessageBox.Show("Member Import completed successfully");
                 wImport.Close();
             }
         }
     }
     catch (Exception ex)
     {
         while (ex.InnerException != null)
         {
             ex = ex.InnerException;
         }
         MessageBox.Show(ex.Message, MessageBoxCaption, MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
Exemple #4
0
        public IEnumerable <ResultRowModel> GetResultRows()
        {
            List <IRacingResultRow> resultRows = new List <IRacingResultRow>();

            foreach (var resultRow in SessionResults)
            {
                IRacingResultRow row = new IRacingResultRow
                {
                    //FinalPosition = int.Parse(line["FinPos"]),
                    StartPosition  = (int)resultRow.starting_position + 1,
                    IRacingId      = (string)resultRow.cust_id,
                    FinishPosition = (int)resultRow.finish_position + 1,
                    CarNumber      = resultRow.livery.car_number,
                    ClassId        = resultRow.car_class_id,
                    Car            = "",
                    CarClass       = "",
                    CompletedLaps  = resultRow.laps_complete,
                    LeadLaps       = resultRow.laps_lead,
                    FastLapNr      = resultRow.best_lap_num,
                    Incidents      = resultRow.incidents,
                    Status         = Enum.TryParse((string)resultRow.reason_out, out RaceStatusEnum statusEnum) ? statusEnum : RaceStatusEnum.Unknown,
                    QualifyingTime = new LapTime(TimeSpan.Zero)
                };
                var eventLaps = (int)ResultData.event_laps_complete;
                row.CompletedPct = eventLaps >= row.CompletedLaps ? (row.CompletedLaps / eventLaps) * 100 : 100;
                //if (!LeagueClient.LeagueMembers.ToList().Exists(x => x.IRacingId == row.IRacingId))
                if (MemberList.Any(x => x.IRacingId == (string)resultRow.cust_id))
                {
                    row.Member = MemberList.SingleOrDefault(x => x.IRacingId == (string)resultRow.cust_id);
                }
                //row.Interval = new LapInterval(
                //    TimeSpan.TryParse("0:" + line["Interval"].Replace("-",""), culture, out TimeSpan intvTime) ? intvTime : TimeSpan.Zero,
                //    int.TryParse(line["Interval"].Replace("L", ""), out int intvLaps) ? intvLaps : 0);
                //row.Interval = new LapInterval(GetTimeSpanFromString(line["Interval"]), int.TryParse(line["Interval"].Replace("L", ""), out int intvLaps) ? intvLaps : 0);
                row.Interval = resultRow.interval >= 0 ? new LapInterval(new TimeSpan((long)resultRow.interval * (TimeSpan.TicksPerMillisecond / 10))) : new LapInterval(TimeSpan.Zero, (int)ResultData.event_laps_complete - row.CompletedLaps);
                //row.AvgLapTime = new LapTime(TimeSpan.TryParse(PrepareTimeString(line["AverageLapTime"]), culture, out TimeSpan avgLap) ? avgLap : TimeSpan.Zero);
                row.AvgLapTime = new LapTime(new TimeSpan((long)resultRow.average_lap * (TimeSpan.TicksPerMillisecond / 10)));
                //row.FastestLapTime = new LapTime(TimeSpan.TryParse(PrepareTimeString(line["FastestLapTime"]), culture, out TimeSpan fastLap) ? fastLap : TimeSpan.Zero);
                row.FastestLapTime = new LapTime(new TimeSpan((long)resultRow.best_lap_time * (TimeSpan.TicksPerMillisecond / 10)));
                //row.PositionChange = row.StartPosition - row.FinishPosition;
                row.OldIRating      = resultRow.oldi_rating;
                row.NewIRating      = resultRow.newi_rating;
                row.OldSafetyRating = ((double)resultRow.old_sub_level) / 100;
                row.NewSafetyRating = ((double)resultRow.new_sub_level) / 100;

                resultRows.Add(row);
            }
            return(resultRows);
        }
        public IEnumerable <LeagueMember> GetNewMemberList()
        {
            var memberList = new List <LeagueMember>();

            foreach (DataRow row in Data.Rows)
            {
                //if (string.IsNullOrEmpty((string)row["Name"]) == false && !MemberList.Any(x => x.FullName == (string)row["Name"]))
                //{
                //    if ((string)row["Name"] == "NewDriver")
                //    {
                //        continue;
                //    }
                //    var newMember = new LeagueMember(0, ((string)row["Name"]).Split(' ').First(), ((string)row["Name"]).Split(' ').Skip(1).Aggregate((x, y) => x + " " + y));
                //    newMember.DanLisaId = (string)row["Drvid"];
                //    memberList.Add(newMember);
                //}
                //else if (string.IsNullOrEmpty((string)row["Name"]) == false)
                //{
                //    var member = MemberList.SingleOrDefault(x => x.FullName == (string)row["Name"]);
                //    member.DanLisaId = ((string)row["Drvid"]);
                //}
                if (string.IsNullOrEmpty((string)row["Name"]) == false)
                {
                    LeagueMember member;
                    if (MemberList.Any(x => x.DanLisaId != "" && x.DanLisaId == (string)row["Drvid"]))
                    {
                        member = MemberList.Single(x => x.DanLisaId == (string)row["Drvid"]);
                    }
                    else if (MemberList.Any(x => x.FullName == (string)row["Name"]))
                    {
                        member = MemberList.Single(x => x.FullName == (string)row["Name"]);
                        if (member.DanLisaId != (string)row["Drvid"])
                        {
                            member.DanLisaId = ((string)row["Drvid"]);
                            memberList.Add(member);
                        }
                    }
                    else if ((string)row["Name"] != "NewDriver")
                    {
                        member           = new LeagueMember(0, ((string)row["Name"]).Split(' ').First(), ((string)row["Name"]).Split(' ').Skip(1).Aggregate((x, y) => x + " " + y));
                        member.DanLisaId = (string)row["Drvid"];
                        memberList.Add(member);
                    }
                }
            }
            return(memberList);
        }
Exemple #6
0
        public void GenerateContentPython(string file)
        {
            try
            {
                var code = File.ReadAllLines(file);

                MemberList.Clear();

                for (int i = 0; i < code.Length; i++)
                {
                    var line = code[i].TrimStart();

                    if (line.StartsWithAny("def ", "class "))
                    {
                        var info = new MemberInfo();
                        info.ContentIndent = new string(' ', (code[i].Length - line.Length));
                        info.Line          = i;

                        if (line.StartsWith("class "))
                        {
                            if (MemberList.Any())
                            {
                                MemberList.Add(new MemberInfo {
                                    Line = -1
                                });
                            }
                            info.ContentType = "class";
                            info.Content     = line.Substring("class ".Length).TrimEnd();
                        }
                        else
                        {
                            info.ContentType = "def";
                            info.Content     = line.Substring("def ".Length).TrimEnd();
                        }

                        MemberList.Add(info);
                    }
                }

                ErrorMessage = null;
            }
            catch (Exception e)
            {
                ErrorMessage = e.Message;
            }
        }
        public IEnumerable <ResultRowModel> GetResultRows(string resultName)
        {
            List <IRacingResultRow> resultRows = new List <IRacingResultRow>();

            var culture = System.Globalization.CultureInfo.GetCultureInfo("de-EN");

            foreach (var line in DataLines)
            {
                IRacingResultRow row = new IRacingResultRow
                {
                    //FinalPosition = int.Parse(line["FinPos"]),
                    StartPosition  = int.Parse(line["StartPos"]),
                    IRacingId      = line["CustID"],
                    FinishPosition = int.Parse(line["FinPos"]),
                    CarNumber      = int.Parse(line["Car#"]),
                    ClassId        = int.Parse(line["CarClassID"]),
                    Car            = line["Car"],
                    CarClass       = line["CarClass"],
                    CompletedLaps  = int.Parse(line["LapsComp"]),
                    LeadLaps       = int.Parse(line["LapsLed"]),
                    FastLapNr      = int.TryParse(line["FastLap#"], out int fastLapNr) ? fastLapNr : 0,
                    Incidents      = int.Parse(line["Inc"]),
                    Status         = (RaceStatusEnum)Enum.Parse(typeof(RaceStatusEnum), line["Out"]),
                    QualifyingTime = new LapTime(TimeSpan.Zero)
                };
                //if (!LeagueClient.LeagueMembers.ToList().Exists(x => x.IRacingId == row.IRacingId))
                if (MemberList.Any(x => x.IRacingId == line["CustID"]))
                {
                    row.Member = MemberList.SingleOrDefault(x => x.IRacingId == line["CustID"]);
                    row.Team   = row.Member.Team;
                }
                //row.Interval = new LapInterval(
                //    TimeSpan.TryParse("0:" + line["Interval"].Replace("-",""), culture, out TimeSpan intvTime) ? intvTime : TimeSpan.Zero,
                //    int.TryParse(line["Interval"].Replace("L", ""), out int intvLaps) ? intvLaps : 0);
                var teststrt = line["Interval"];
                var test     = int.TryParse(line["Interval"].Replace("L", ""), out int intvtest) ? intvtest : 0;
                row.Interval       = new LapInterval(GetTimeSpanFromString(line["Interval"]), int.TryParse(line["Interval"].Replace("L", ""), out int intvLaps) ? intvLaps : 0);
                row.AvgLapTime     = new LapTime(TimeSpan.TryParse(PrepareTimeString(line["AverageLapTime"]), culture, out TimeSpan avgLap) ? avgLap : TimeSpan.Zero);
                row.FastestLapTime = new LapTime(TimeSpan.TryParse(PrepareTimeString(line["FastestLapTime"]), culture, out TimeSpan fastLap) ? fastLap : TimeSpan.Zero);
                //row.PositionChange = row.StartPosition - row.FinishPosition;
                resultRows.Add(row);
            }
            return(resultRows);
        }
        public IEnumerable<LeagueMember> GetNewMemberList()
        {
            var newMemberList = new List<LeagueMember>();

            var heatResults = ((IEnumerable)HeatResults).OfType<dynamic>();
            foreach (var result in heatResults.SelectMany(x => ((IEnumerable)x.results).OfType<dynamic>()))
            {
                IRacingResultRow row = new IRacingResultRow();
                if (!MemberList.Any(x => x.IRacingId == (string)result.cust_id))
                {
                    if (MemberList.Any(x => x.IRacingId == "" && x.FullName == (string)result.display_name))
                    {
                        var member = MemberList.SingleOrDefault(x => x.FullName == (string)result.display_name);
                        member.IRacingId = (string)result.cust_id;
                    }
                    else if (newMemberList.Any(x => x.IRacingId == (string)result.cust_id))
                    {
                        var member = newMemberList.SingleOrDefault(x => x.IRacingId == (string)result.cust_id);
                        var names = ((string)result.display_name).Split(' ');
                        member.Firstname = names.First();
                        member.Lastname = names.Skip(1).Aggregate((x, y) => x + " " + y);
                    }
                    else
                    {
                        //var newMember = LeagueClient.AddNewMember(line["Name"].Split(' ').First(), line["Name"].Split(' ').Last());
                        var newMember = new LeagueMember(0, ((string)result.display_name).Split(' ').First(), ((string)result.display_name).Split(' ').Skip(1).Aggregate((x, y) => x + " " + y));
                        //LeagueContext.MemberList.Add(newMember);
                        newMember.IRacingId = (string)result.cust_id;
                        //row.MemberId = newMember.MemberId;
                        row.Member = newMember;
                        newMemberList.Add(newMember);
                    }
                }
                else
                {
                    var member = MemberList.SingleOrDefault(x => x.IRacingId == (string)result.cust_id);
                    var names = ((string)result.display_name).Split(' ');
                    member.Firstname = names.First();
                    member.Lastname = names.Skip(1).Aggregate((x, y) => x + " " + y);
                }
            }
            return newMemberList;
        }
        public DriverStatisticModel GetDriverStatistic()
        {
            List <DriverStatisticRowModel> rows = new List <DriverStatisticRowModel>();

            foreach (DataRow row in Data.Rows)
            {
                if (MemberList.Any(x => x.DanLisaId == (string)row["Drvid"]) && (string)row["Drvid"] != "")
                {
                    var setRow = new DriverStatisticRowModel();
                    setRow.MemberId     = MemberList.Single(x => x.DanLisaId == (string)row["Drvid"]).MemberId.GetValueOrDefault();
                    setRow.StartIRating = int.TryParse((string)row["IRating"], out int ir) ? ir : 0;
                    setRow.EndIRating   = int.TryParse((string)row["IRating"], out ir) ? ir : 0;
                    setRow.StartSRating = double.TryParse((string)row["SR"], out double sr) ? sr : 0;
                    setRow.EndSRating   = double.TryParse((string)row["SR"], out sr) ? sr : 0;
                    var parts = ((string)row["ErstesRennen"]).Split(' ').First().Split('.');
                    setRow.FirstRaceDate = parts.Count() >= 3 ? new DateTime(int.Parse(parts[2]), int.Parse(parts[1]), int.Parse(parts[0])) : (DateTime?)null;
                    parts = ((string)row["LetztesRennen"]).Split(' ').First().Split('.');
                    setRow.LastRaceDate          = parts.Count() >= 3 ? new DateTime(int.Parse(parts[2]), int.Parse(parts[1]), int.Parse(parts[0])) : (DateTime?)null;
                    setRow.LastRaceFinalPosition = int.TryParse((string)row["LetztePlatzierung"], out int lastPl) ? lastPl : 0;
                    setRow.AvgFinalPosition      = double.TryParse((string)row["DurchschnittPlatzierung"], out double avgPl) ? avgPl : 0;
                    setRow.Poles             = int.TryParse((string)row["Poles"], out int poles) ? poles : 0;
                    setRow.Races             = int.TryParse((string)row["Rennen"], out int races) ? races : 0;
                    setRow.RacesCompleted    = int.TryParse((string)row["Finish"], out int finish) ? finish : 0;
                    setRow.Titles            = int.TryParse((string)row["Titel"], out int titles) ? titles : 0;
                    setRow.DrivenKm          = double.TryParse((string)row["Distanz"], out double dist) ? dist : 0;
                    setRow.LeadingKm         = double.TryParse((string)row["FuehrungsKm"], out dist) ? dist : 0;
                    setRow.Incidents         = int.TryParse((string)row["Incidents"], out int incs) ? incs : 0;
                    setRow.RacePoints        = int.TryParse((string)row["RawPunkte"], out int points) ? points : 0;
                    setRow.TotalPoints       = int.TryParse((string)row["Punkte"], out points) ? points : 0;
                    setRow.PenaltyPoints     = int.TryParse((string)row["Strafpunkte"], out points) ? points : 0;
                    setRow.AvgPointsPerRace  = double.TryParse((string)row["PunkteProRennen"], out double avg) ? avg : 0;
                    setRow.BestStartPosition = int.TryParse((string)row["BestQuali"], out int best) ? best : 0;
                    setRow.BestFinalPosition = int.TryParse((string)row["BestErgebnis"], out best) ? best : 0;
                    setRow.Wins                    = int.TryParse((string)row["Siege"], out best) ? best : 0;
                    setRow.Top3                    = int.TryParse((string)row["Podium"], out best) ? best : 0;
                    setRow.Top5                    = int.TryParse((string)row["Top5"], out best) ? best : 0;
                    setRow.Top10                   = int.TryParse((string)row["Top10"], out best) ? best : 0;
                    setRow.Top15                   = int.TryParse((string)row["Top15"], out best) ? best : 0;
                    setRow.Top20                   = int.TryParse((string)row["Top20"], out best) ? best : 0;
                    setRow.Top25                   = int.TryParse((string)row["Top25"], out best) ? best : 0;
                    setRow.FastestLaps             = int.TryParse((string)row["SchnellsteRunde"], out best) ? best : 0;
                    setRow.HardChargerAwards       = int.TryParse((string)row["HardCharger"], out best) ? best : 0;
                    setRow.CleanestDriverAwards    = int.TryParse((string)row["CleanestDriver"], out best) ? best : 0;
                    setRow.RacesInPoints           = int.TryParse((string)row["RennenInPunkten"], out races) ? races : 0;
                    setRow.LeadingLaps             = int.TryParse((string)row["FuehrungsRunden"], out int laps) ? laps : 0;
                    setRow.CompletedLaps           = int.TryParse((string)row["GefahreneRunden"], out laps) ? laps : 0;
                    setRow.AvgFinishPosition       = double.TryParse((string)row["DurchschnittAnkunft"], out avg) ? avg : 0;
                    setRow.AvgStartPosition        = ((string)row["DurchschnittStart"]).ParseDoubleOrDefault();
                    setRow.AvgIRating              = ((string)row["DurchschnittIRating"]).ParseDoubleOrDefault();
                    setRow.AvgSRating              = ((string)row["DurchschnittSafetyRating"]).ParseDoubleOrDefault();
                    setRow.BestFinishPosition      = ((string)row["BesteAnkunft"]).ParseIntOrDefault();
                    setRow.FirstRaceFinishPosition = ((string)row["ErsteAnkunft"]).ParseIntOrDefault();
                    setRow.LastRaceFinishPosition  = ((string)row["LetzteAnkunft"]).ParseIntOrDefault();
                    setRow.WorstFinishPosition     = ((string)row["SchlechtesteAnkunft"]).ParseIntOrDefault();
                    setRow.WorstFinalPosition      = ((string)row["SchlechtestePlatzierung"]).ParseIntOrDefault();
                    setRow.FirstRaceFinalPosition  = ((string)row["ErstePlatzierung"]).ParseIntOrDefault();
                    setRow.WorstStartPosition      = ((string)row["SchlechtesteStartPosition"]).ParseIntOrDefault();
                    setRow.FirstRaceStartPosition  = ((string)row["ErsteStartPosition"]).ParseIntOrDefault();
                    setRow.LastRaceStartPosition   = ((string)row["LetzteStartPosition"]).ParseIntOrDefault();
                    setRow.CurrentSeasonPosition   = ((string)row["SeasonPosition"]).ParseIntOrDefault();
                    rows.Add(setRow);
                }
            }

            var driverStats = new DriverStatisticModel();

            driverStats.DriverStatisticRows = rows.ToArray();

            return(driverStats);
        }