private void MainForm_Load(object sender, EventArgs e) { try { FileOutput fileOutput = new FileOutput("CardFixer.log"); AbstractOutput output = new TeeOutput(_logBox.Output, fileOutput); _output = output; _output.WriteLine(new string('=', 70)); _output.WriteLine ( "{0}: ЗАПУСК ПРОГРАММЫ", DateTime.Now ); _AddVersionToTitle(); _dal = new DataAccessLevel(_output); _output.WriteLine ( "Всего карточек: {0}", _dal.GetTotalCardCount() ); _output.WriteLine ( "Списанных номеров: {0}", _dal.GetBadNumberCount() ); _output.WriteLine ( "Карточек в ИРБИС: {0}", _dal.GetIrbisCardCount() ); int[] numbers = _dal.GetBoxNumbers(CardStatus.AlreadyHave); _boxNumberBox.Items.Clear(); _boxNumberBox.Items.AddRange ( numbers .Select(i => (object)i) .ToArray() ); if (numbers.Length != 0) { _boxNumberBox.SelectedIndex = 0; } } catch (Exception ex) { MessageBox.Show ( ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error ); Environment.FailFast("Ошибка"); } }
public MainForm() { InitializeComponent(); _console.Clear(); _log = new FileOutput("log.txt"); Output = new TeeOutput ( _log, new ConsoleControlOutput(_console) ); Connection = new IrbisConnection(); }
static int Main(string[] args) { if (args.Length != 2) { Console.WriteLine("BiblioGrinder <configurationString> <biblioDocument.json>"); return(1); } log = new TeeOutput(AbstractOutput.Console); configurationString = args[0]; documentPath = args[1]; ReadRecordCommand.ThrowOnVerify = false; Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); try { AbstractOutput logFile = new FileOutput("grinder.log"); log.Output.Add(logFile); NativeIrbisProvider.Register(); using (provider = ProviderManager .GetAndConfigureProvider(configurationString)) { log.WriteLine ( "Connected to database {0}, max MFN={1}", provider.Database, provider.GetMaxMfn() ); document = BiblioDocument.LoadFile(documentPath); context = new BiblioContext(document, provider, log); processor = new BiblioProcessor(); processor.Initialize(context); processor.BuildDocument(context); string outputText = processor.Output.Text; // TODO implement properly outputText = Regex.Replace ( outputText, @"\s(-|–|\\u8211.)\sIS[BS]N\s[0-9XxХх-]*\.?", string.Empty ); outputText = Regex.Replace ( outputText, @"([А-Я]\.)\s([А-Я])", "$1\\~$2" ); outputText = Regex.Replace ( outputText, "\\\"([\\w])", "«$1" ); outputText = Regex.Replace ( outputText, "([\\w\\.])\\\"", "$1»" ); outputText = Regex.Replace ( outputText, "\\\"(\\.\\.\\.|\\(|\\[)", "«$1" ); outputText = Regex.Replace ( outputText, "(\\.\\.\\.|\\!|\\?|\\)|\\])\\\"", "$1»" ); outputText = outputText .Replace(" - ", " \\u8211? ") .Replace("}- ", "}\\u8211? ") .Replace(" -}", " \\u8211?}") .Replace(" -\\", " \\u8211?\\") .Replace("\\u8470? ", "\u8470?\\~") .Replace("...", "\\'85") .Replace("С. ", "С.\\~") ; File.WriteAllText ( "output.rtf", outputText, IrbisEncoding.Ansi ); stopwatch.Stop(); TimeSpan elapsed = stopwatch.Elapsed; log.WriteLine ( "Elapsed: {0}", elapsed.ToAutoString() ); log.WriteLine ( "Finished at: {0}", DateTime.Now ); } } catch (Exception exception) { log.WriteLine ( "Exception: {0}", exception ); return(1); } return(0); }