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); }
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); }
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); } }
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); }
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); }