Пример #1
0
        /// <summary>
        /// Удаление списка ошибок
        /// </summary>
        public void Clear()
        {
            _nirsErrors.Clear();
            FileErrors file = new FileErrors();

            file.Delete();
        }
Пример #2
0
        public bool ErrorsSet([FromBody] ErrorsData errors)
        {
            if (errors.NirsErrors == null || errors.NirsErrors.Length <= 0)
            {
                return(false);
            }
            FileErrors file = new FileErrors(Request.MapPath("..//data//"));

            file.Read();
            List <FileErrorsItem> items;

            if (file.ErrorsItems == null)
            {
                items = new List <FileErrorsItem>();
            }
            else
            {
                items = file.ErrorsItems;
            }
            foreach (var elem in errors.NirsErrors)
            {
                items.Add(new FileErrorsItem()
                {
                    Message    = elem.Message,
                    NameSource = elem.NameSource,
                    NameSystem = elem.NameSystem,
                    DateError  = elem.DateError
                });
            }
            file.ErrorsItems = items;
            file.Write();
            return(true);
        }
Пример #3
0
        public void DeleteOldFiles()
        {
            _oldFilesInThisFolder.ForEach(f => f.Delete());

            if (_oldFilesInThisFolder.Any(f => f.DeletedOk == false))
            {
                FileErrors.AddRange(_oldFilesInThisFolder.Where(f => f.DeletedOk == false).Select(f => f.ErrorMessage));
            }
        }
Пример #4
0
 public static void GetDiffs(List<string> filePaths, System.ComponentModel.BackgroundWorker worker, out TagDiffs diffs, out FileErrors errors)
 {
     diffs = new TagDiffs();
     errors = new FileErrors();
     int index = 0;
     int total = filePaths.Count();
     foreach (var filePath in filePaths)
     {
         if (worker.CancellationPending) return;
         index += 1;
         worker.ReportProgress(index*100/total, filePath);
         AddDiffs(diffs, errors, filePath);
     }
 }
Пример #5
0
        /// <summary>
        /// Статический конструктор
        /// </summary>
        public ErrorManager()
        {
            _nirsErrors = new List <NirsError>();

            //Чтение файла ошибок
            FileErrors file = new FileErrors();

            file.Read();
            if (file.ErrorsItems.Count > 0)
            {
                foreach (var elem in file.ErrorsItems)
                {
                    _nirsErrors.Add(new NirsError(elem.NameSource, elem.NameSystem, elem.Message, elem.DateError));
                }
            }
        }
Пример #6
0
        static void PrintUsageAndExit(FileErrors err)
        {
            switch(err)
            {
                case FileErrors.INVALID_ARGS:
                    Console.WriteLine("error: invalid command line arguements");
                    break;
                case FileErrors.FILE_DOES_NOT_EXIST:
                    Console.WriteLine("error: file does not exist");
                    break;
                case FileErrors.WRONG_FILETYPE:
                    Console.WriteLine("error: file must be a golang file with .go extension");
                    break;
            }

            Console.WriteLine("usage: ParseGo <golang input file>");
            Environment.Exit(-1);
        }
Пример #7
0
        public bool AssembleFile(RiscVAssembler assembler, string outputFilePath)
        {
            Logger.ClearLogCommand.Execute(null);
            var options = new AssemblerOptions(new[] { FilePath }, new[] { outputFilePath });

            // clear any errors beforehand.
            FileErrors.Clear();
            AssemblerResult result = assembler.AssembleFile(FilePath, outputFilePath, Logger.Logger, options);

            if (!result.OperationSuccessful)
            {
                foreach (AssemblyException ex in result.UserErrors)
                {
                    FileErrors.Add(ex);
                }
            }

            return(result.OperationSuccessful);
        }
Пример #8
0
 public static void WriteDiffs(OrderedDiffs diffs, System.ComponentModel.BackgroundWorker worker, out FileErrors errors)
 {
     errors = new FileErrors();
     int total = diffs.Count();
     int index = 0;
     foreach (var filePath in diffs.Keys)
     {
         if (worker.CancellationPending) return;
         index += 1;
         worker.ReportProgress(index * 100 / total, filePath);
         try
         {
             WriteDiff(filePath, diffs[filePath]);
         }
         catch (Exception ex)
         {
             errors.Add(new FileError { FilePath = filePath, Message = ex.Message });
         }
     }
 }
Пример #9
0
        /// <summary>
        /// Сохранение лога ошибок
        /// </summary>
        public void SaveErrors()
        {
            if (_nirsErrors.Count < 1)
            {
                return;
            }
            FileErrors            file  = new FileErrors();
            List <FileErrorsItem> items = new List <FileErrorsItem>();

            foreach (var elem in _nirsErrors)
            {
                items.Add(new FileErrorsItem()
                {
                    Message    = elem.Message,
                    NameSource = elem.NameSource,
                    NameSystem = elem.NameSystem,
                    DateError  = elem.DateError
                });
            }
            file.ErrorsItems = items;
            file.Write();
        }
Пример #10
0
 private static void AddDiffs(TagDiffs diffs, FileErrors errors, string filePath)
 {
     TagLib.File file;
     try
     {
         file = TagLib.File.Create(filePath);
     }
     catch (TagLib.CorruptFileException ex)
     {
         errors.Add(new FileError { FilePath = filePath, Message = ex.Message });
         return;
     }
     var current = new Dictionary<Tags, string>();
     var expected = new Dictionary<Tags, string>();
     var folderPath = System.IO.Path.GetDirectoryName(filePath);
     var parts = folderPath.Split('\\');
     expected.Add(Tags.Album, parts[parts.Length - 1]);
     expected.Add(Tags.Performers, parts[parts.Length - 2]);
     expected.Add(Tags.AlbumArtists, parts[parts.Length - 2]);
     expected.Add(Tags.Genre, parts[parts.Length - 3]);
     expected.Add(Tags.Title, System.IO.Path.GetFileNameWithoutExtension(filePath));
     current.Add(Tags.Album, file.Tag.Album);
     current.Add(Tags.Performers, String.Join(";", file.Tag.Performers));
     current.Add(Tags.AlbumArtists, String.Join(";", file.Tag.AlbumArtists));
     current.Add(Tags.Genre, String.Join(";", file.Tag.Genres));
     current.Add(Tags.Title, file.Tag.Title);
     foreach (var tag in expected.Keys)
     {
         if (expected[tag] != current[tag])
         {
             var diff = new TagDiff();
             diff.Tag = tag;
             diff.FilePath = filePath;
             diff.OldValue = current[tag];
             diff.NewValue = expected[tag];
             diffs.Add(diff);
         }
     }
 }