protected virtual string GetFileDirectory(string rootDirectory, EventVehicleLapAverages data) { SeriesType seriesType = (SeriesType)(data.SeriesId - 1); var series = seriesType.ToString(); var track = data.TrackName; var runName = data.RunName; var eventDate = DateTime.Now.ToString("MM-dd-yyyy"); var subDirectoryPath = $"{series}\\{track}\\{eventDate}\\{runName}"; foreach (var c in Path.GetInvalidPathChars()) { subDirectoryPath = subDirectoryPath.Replace(c.ToString(), ""); } var fullFileDirectory = Path.Combine(rootDirectory, subDirectoryPath); if (!Directory.Exists(fullFileDirectory)) { Directory.CreateDirectory(fullFileDirectory); } return(fullFileDirectory); }
protected virtual void ResetLapAverages() { _eventLapAverages = new EventVehicleLapAverages(); _lastElapsed = -1; _lastRaceId = -1; _lastRunId = -1; }
protected virtual string GetContent(EventVehicleLapAverages lapAverages) { return(JsonConvert.SerializeObject( lapAverages, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Include })); }
protected virtual string GetFileContent(EventVehicleLapAverages data) { var fileContent = JsonConvert.SerializeObject( data, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Include }); return(fileContent); }
protected virtual void OnLapAveragesUpdated(EventVehicleLapAverages lapAverages) { var handler = LapAveragesUpdated; if (handler != null) { handler.Invoke(this, new LapAveragesUpdatedEventArgs() { LapAverages = lapAverages }); } }
public void WriteFile(string rootDirectory, EventVehicleLapAverages data) { var fileDirectory = GetFileDirectory(rootDirectory, data); var fileTitle = GetFileTitle(data); var fullFilePath = Path.Combine(fileDirectory, fileTitle); var fileContent = GetFileContent(data); File.WriteAllText(fullFilePath, fileContent); LastElapsedWritten = data.Elapsed; }
public virtual async Task WriteLapAveragesAsync(EventVehicleLapAverages lapAverages) { var key = GetKey(lapAverages); var content = GetContent(lapAverages); var contentType = GetContentType(lapAverages); var item = new AwsItem() { Key = key, Content = content, ContentType = contentType }; await _repository.PutAsync(item); }
protected virtual string GetContentType(EventVehicleLapAverages lapAverages) { return("application/json"); }
protected virtual string GetKey(EventVehicleLapAverages lapAverages) { return($"{lapAverages.SeriesId}-{lapAverages.RaceId}-{lapAverages.RunId}"); }
protected virtual string GetFileTitle(EventVehicleLapAverages data) { var fileTitle = $"{data.SeriesId}-{data.RaceId}-{data.RunId}-{data.Elapsed}.json"; return(fileTitle); }
public void WriteFile(EventVehicleLapAverages data) { WriteFile(RootDirectory, data); }