private RangeViewModel GetRange(OrionResult orionResult, out int orionId) { orionId = 0; foreach (var orionViewModel in m_orionSetupViewModel.OrionViewModels) { if (orionResult.OrionId == orionViewModel.OrionId) { foreach (var rangeViewModel in orionViewModel.RangeViews) { if (rangeViewModel.RangeType == RangeType.Shooting && orionResult.Target >= rangeViewModel.FirstTarget && orionResult.Target <= rangeViewModel.LastTarget) { orionId = orionViewModel.OrionId; return(rangeViewModel); } } } } Log.Error( string.Format( "Could not find rangeid for result: {0} Orionid={1} Lag={2} Skive={3} Serie={4}", orionResult.Name, orionResult.OrionId, orionResult.Team, orionResult.Target, orionResult.AllSeries)); return(null); }
private int GetNextOrionIdAndRangeId(OrionResult orionResult, out int rangeId) { rangeId = 0; foreach (var orionViewModel in m_orionSetupViewModel.OrionViewModels) { if (orionResult.OrionId == orionViewModel.OrionId) { foreach (var rangeViewModel in orionViewModel.RangeViews) { if (rangeViewModel.RangeType == RangeType.Shooting && orionResult.Target < rangeViewModel.FirstTarget) { rangeId = rangeViewModel.RangeId; return(orionViewModel.OrionId); } } } else if (orionResult.OrionId < orionViewModel.OrionId) { foreach (var rangeViewModel in orionViewModel.RangeViews) { if (rangeViewModel.RangeType == RangeType.Shooting) { rangeId = rangeViewModel.RangeId; return(orionViewModel.OrionId); } } } } return(0); }
public static OrionResult ParseFromOrion(string orionResultLine) { if (string.IsNullOrWhiteSpace(orionResultLine)) { Log.Error("Empty orion result line"); return(null); } var tokens = orionResultLine.Split(';'); var result = new OrionResult { OrionId = TryGetIntFromToken(tokens[0], "OrionId"), Team = TryGetIntFromToken(tokens[1], "Team"), Target = TryGetIntFromToken(tokens[2], "Target"), ShooterId = TryGetIntFromToken(tokens[3], "ShooterId"), Name = tokens[4], ClubName = tokens[5], Class = tokens[6], TotalSum = TryGetIntFromToken(tokens[7], "TotalSum") }; if (tokens.Length > 8) { result.Series = new List <string>(); for (int c = 8; c < tokens.Length; c++) { result.Series.Add(tokens[c]); } } result.AllSeries = string.Join(";", result.Series); return(result); }
public List <OrionResult> GetOrionResult(OrionViewModel orionViewModel) { if (this.CheckForNewFile() == false) { return(null); } var filename = GetFilename(); var updFile = this.GetUPDFilename(); var allLines = m_fileHandler.ReadAllLines(filename); var id = "NoId"; var result = new List <OrionResult>(); foreach (var line in allLines) { if (string.IsNullOrWhiteSpace(line)) { continue; } var or = OrionResult.ParseFromOrion(line, orionViewModel); id = or.OrionId.ToString(); if (or.ShooterId > 0) { DatabaseApi.Save(or); result.Add(or); } } var dbroot = DatabaseApi.GetActiveCompetition(); var backupPath = Path.Combine(dbroot, "Backup"); if (!Directory.Exists(backupPath)) { Directory.CreateDirectory(backupPath); } var bkupfilename = Path.Combine(backupPath, string.Format("{0}_Orion_{1}_kmonew.txt", DateTime.Now.ToString("yyyyMMdd-HHmmss"), id)); try { File.Move(filename, bkupfilename); File.Delete(updFile); } catch (Exception ex) { Log.Error(ex, "Unable to move to backup: " + filename); } return(result); }
public static OrionResult ParseFromDatabase(string keyvaluePairs) { var result = new OrionResult(); var tuples = keyvaluePairs.Split(';'); foreach (var tuple in tuples) { var keyvaluePair = tuple.Split('='); switch (keyvaluePair[0].Trim()) { case "OrionId": result.OrionId = int.Parse(keyvaluePair[1].Trim()); break; case "Team": result.Team = int.Parse(keyvaluePair[1].Trim()); break; case "Target": result.Target = int.Parse(keyvaluePair[1].Trim()); break; case "ShooterId": result.ShooterId = int.Parse(keyvaluePair[1].Trim()); break; case "Name": result.Name = keyvaluePair[1].Trim(); break; case "ClubName": result.ClubName = keyvaluePair[1].Trim(); break; case "Class": result.Class = keyvaluePair[1].Trim(); break; case "TotalSum": result.TotalSum = int.Parse(keyvaluePair[1].Trim()); break; case "AllSeries": result.AllSeries = keyvaluePair[1].Trim(); break; } } return(result); }
private int GetNextOrionIdAndRangeId(OrionResult orionResult, out int rangeId) { rangeId = 0; var allRanges = m_orionSetupViewModel.OrionViewModels.SelectMany(o => o.RangeViews).OrderBy(r => r.RangeId); var currentRange = GetRange(orionResult); foreach (var rangeViewModel in allRanges) { if (rangeViewModel.RangeId <= currentRange.RangeId) { continue; } if (rangeViewModel.RangeType == RangeType.Shooting) { rangeId = rangeViewModel.RangeId; return(rangeViewModel.Parent.OrionId); } } ////foreach (var orionViewModel in m_orionSetupViewModel.OrionViewModels) ////{ //// if (orionResult.OrionId == orionViewModel.OrionId) //// { //// foreach (var rangeViewModel in orionViewModel.RangeViews) //// { //// if (rangeViewModel.RangeType == RangeType.Shooting && orionResult.Target < rangeViewModel.FirstTarget) //// { //// rangeId = rangeViewModel.RangeId; //// return orionViewModel.OrionId; //// } //// } //// } //// else if (orionResult.OrionId < orionViewModel.OrionId) //// { //// foreach (var rangeViewModel in orionViewModel.RangeViews) //// { //// if (rangeViewModel.RangeType == RangeType.Shooting) //// { //// rangeId = rangeViewModel.RangeId; //// return orionViewModel.OrionId; //// } //// } //// } ////} return(0); }
private static ResultType GetResultType(OrionResult result, OrionViewModel orionViewModel) { if (orionViewModel == null) { return(ResultType.Felt); } foreach (var rangeViewModel in orionViewModel.RangeViews) { if (rangeViewModel.FirstTarget >= result.Target && rangeViewModel.LastTarget <= result.Target) { return(rangeViewModel.ResultType); } } return(ResultType.Felt); }
public static OrionResult ParseFromDatabase(string keyvaluePairs) { var result = new OrionResult(); var tuples = keyvaluePairs.Split(';'); foreach (var tuple in tuples) { var keyvaluePair = tuple.Split('='); switch (keyvaluePair[0].Trim()) { case "OrionId": result.OrionId = int.Parse(keyvaluePair[1].Trim()); break; case "Team": result.Team = int.Parse(keyvaluePair[1].Trim()); break; case "Target": result.Target = int.Parse(keyvaluePair[1].Trim()); break; case "ShooterId": result.ShooterId = int.Parse(keyvaluePair[1].Trim()); break; case "Name": result.Name = keyvaluePair[1].Trim(); break; case "ClubName": result.ClubName = keyvaluePair[1].Trim(); break; case "Class": result.Class = keyvaluePair[1].Trim(); break; case "TotalSum": result.TotalSum = int.Parse(keyvaluePair[1].Trim()); break; case "AllSeries": result.AllSeries = keyvaluePair[1].Trim(); break; case "CountingShoots": result.CountingShots = 0; var val = keyvaluePair[1].Trim(); if (!string.IsNullOrEmpty(val)) { int counting; if (int.TryParse(val, out counting)) { result.CountingShots = counting; } } break; } } return(result); }