public SetupFileViewModel(string setupFilePath) { this.setupFile = SetupFileProvider.GetSetupFile(setupFilePath); this.setupSpec = SetupSpecProvider.GetSetupSpec(this.setupFile.VehicleIdentifier); this.Notes.Load(setupFilePath); this.MapSetupFile(); }
public SetupFileComparisonViewModel(string setupFilePath, SetupFileViewModel compareToSetupFileViewModel) { this.compareToSetupFileViewModel = compareToSetupFileViewModel; this.setupFile = SetupFileProvider.GetSetupFile(setupFilePath); this.setupSpec = SetupSpecProvider.GetSetupSpec(this.setupFile.VehicleIdentifier); this.Notes.Load(setupFilePath); this.MapSetupFile(); }
private static SetupFile GetSetupFile(string filename) { var filepath = "SetupsTests"; var setupFile = new SetupFile(filepath, filename); setupFile.Load(); return(setupFile); }
public UpdateResponse( int status, string message, SetupFile file) { Status = status; Message = message; File = file; }
/// <summary> /// Retorna índice de um setup file em uma lista /// </summary> /// <param name="setupFiles"></param> /// <param name="setupFile"></param> /// <returns></returns> public static int IndexOfFile(this List <SetupFile> setupFiles, SetupFile setupFile) { for (int i = 0; i < setupFiles.Count; i++) { if (setupFiles[i].CompareTo(setupFile) == 0) { return(i); } } return(-1); }
public void Load_FileFound_FileLoaded() { // Arrange var filepath = "SetupsTests"; var filename = "Imola.json"; var setupFile = new SetupFile(filepath, filename); // Act setupFile.Load(); // Assert Assert.NotNull(setupFile.LoadedSetup); }
/// <summary> /// Adiciona os arquivos de uma pasta a uma lista de SetupFile já populada /// </summary> /// <param name="setupFiles"></param> /// <param name="folder"></param> /// <param name="ignoredExts"></param> /// <param name="includedExts"></param> /// <returns></returns> public static int AddFilesFromFolder(this List <SetupFile> setupFiles, string folder, string[] ignoredExts = null, string[] includedExts = null) { int added = 0; if (ignoredExts == null) { ignoredExts = SetupData.DefaultIgnoredExtensions; } if (includedExts == null) { includedExts = SetupData.DefaultExtensions; } var files = Directory.GetFiles(folder, "*.*", SearchOption.AllDirectories); foreach (var f in files) { SetupFile setupFile = new SetupFile(f, folder); var index = setupFiles.IndexOfFile(setupFile); if (Contains(ignoredExts, Path.GetExtension(f))) { // Extensão ignorada setupFile.State = SetupFileState.OnFolderUnselected; setupFile.FileFlags &= ~SetupFileFlags.Include; } else if (Contains(includedExts, Path.GetExtension(f))) { // Extensão incluída setupFile.State = index == -1 ? SetupFileState.OnFolder : SetupFileState.Synced; setupFile.FileFlags |= SetupFileFlags.Include; } else { // Arquivo existente na pasta setupFile.State = index == -1 ? SetupFileState.OnFolder : SetupFileState.Synced; setupFile.FileFlags &= ~SetupFileFlags.Include; } if (index == -1) { setupFiles.Add(setupFile); added++; } else { setupFiles[index].Assign(setupFile); } } setupFiles.SortFiles(); return(added); }
public static List <SetupFile> ReadSetupConfig(string string_0) { List <SetupFile> list = new List <SetupFile>(); int num = Convert.ToInt32(ReadIniData("Settings", "NumFields", "0", string_0)); for (int i = 1; i <= num; i++) { SetupFile item = new SetupFile(); string str = "Field" + i.ToString(); item.Name = ReadIniData(str, "Type", "", string_0); item.Ver = ReadIniData(str, "Ver", "", string_0); item.Kind = ReadIniData(str, "SoftKind", "", string_0); item.Folder = ReadIniData(str, "Path", "", string_0); list.Add(item); } return(list); }
public void Load_FileFound_AllPropertiesLoaded() { // Arrange var filepath = "SetupsTests"; var filename = "Imola.json"; var setupFile = new SetupFile(filepath, filename); // Act setupFile.Load(); var loadedSetup = setupFile.LoadedSetup; // Assert Assert.Equal("ferrari_488_gt3", loadedSetup.CarName); Assert.Equal(0, loadedSetup.BasicSetup.Tyres.TyreCompound); Assert.Equal(new int[] { 61, 60, 60, 58, }, loadedSetup.BasicSetup.Tyres.TyrePressure); // TODO: Complete the properties }
internal static void SaveSetup(string vehicleIdentifier, string circuitIdentifier, string sourceFilePath, bool isVersion, SetupFile setupFile) { var sourceFileName = Path.GetFileNameWithoutExtension(sourceFilePath); var targetFileName = isVersion? GetOriginalFileName(sourceFilePath): sourceFileName; var targetPath = Path.Combine(PathProvider.AccSetupsFolderPath, vehicleIdentifier, circuitIdentifier, $"{targetFileName}.json"); var json = JsonConvert.SerializeObject(setupFile); File.WriteAllText(targetPath, json, Encoding.UTF8); }
public static bool WriteSetupConfig(SetupFile setupFile_0, string string_0) { try { List <SetupFile> list = ReadSetupConfig(string_0); bool flag2 = false; string str = string.Empty; int num = 1; while (num <= list.Count) { SetupFile file = list[num - 1]; if ((file.Name == setupFile_0.Name) && (file.Kind == setupFile_0.Kind)) { goto Label_005C; } num++; } goto Label_0070; Label_005C: flag2 = true; str = "Field" + num.ToString(); Label_0070: if (flag2) { str = "Field" + list.Count.ToString(); WriteIniData("Settings", "NumFields", list.Count.ToString(), string_0); } else { WriteIniData("Settings", "NumFields", (list.Count + 1).ToString(), string_0); } WriteIniData(str, "Type", setupFile_0.Name, string_0); WriteIniData(str, "Ver", setupFile_0.Ver, string_0); WriteIniData(str, "SoftKind", setupFile_0.Kind, string_0); WriteIniData(str, "Path", setupFile_0.Folder, string_0); return(true); } catch (Exception) { return(false); } }
/// <summary> /// Verifica se um arquivo tem permissão de escrita para este usuário /// </summary> /// <param name="setupFile"></param> /// <param name="localFolder"></param> /// <param name="message"></param> /// <returns></returns> private static bool CheckWritableFile(SetupFile setupFile, string localFolder, out string message) { string file = Path.Combine(localFolder, setupFile.Folder, setupFile.File); if (!File.Exists(file)) { message = "Arquivo inexistente"; return(true); } try { using (var f = File.Open(file, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)) { message = "Arquivo com permissão de escrita"; return(true); } } catch (Exception e) { message = "Arquivo sem permissão de escrita: " + e.Message; return(false); } }