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();
 }
Пример #3
0
        private static SetupFile GetSetupFile(string filename)
        {
            var filepath  = "SetupsTests";
            var setupFile = new SetupFile(filepath, filename);

            setupFile.Load();

            return(setupFile);
        }
Пример #4
0
 public UpdateResponse(
     int status,
     string message,
     SetupFile file)
 {
     Status  = status;
     Message = message;
     File    = file;
 }
Пример #5
0
 /// <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);
 }
Пример #6
0
        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);
        }
Пример #7
0
        /// <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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        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
        }
Пример #10
0
        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);
        }
Пример #11
0
        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);
            }
        }
Пример #12
0
        /// <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);
            }
        }