예제 #1
0
 public void Setup()
 {
     this.filler  = new TemplateFiller();
     obj          = new DbObject("test", DateTime.Now);
     obj["prop1"] = "value1";
     obj["prop2"] = "value2 value2 value2";
     obj.AddTableRow("table1", new (string, string)[] { ("col1", "r1c1"), ("col2", "col2"), ("col3", "r1c3") });
예제 #2
0
    public void TestFill(string templateString, string content, string expected)
    {
        var tag = new TemplateTag
        {
            Template = templateString
        };

        var filler = new TemplateFiller();

        var result = filler.Fill(tag, content);

        Assert.Equal(expected, result);
    }
예제 #3
0
        public void FillTemplate_HtmlTemplate_ShouldPass()
        {
            var template = new Template(new List <string> {
                "hemoglobin", "erythrocytes"
            }, "BloodTest");
            var person   = new Person("Igor", "Shein", new DateTime(1994, 4, 20), "Yaroslavl", "123456789");
            var analysis = new Analysis(new List <string> {
                "20", "50"
            }, "Blood Test", new DateTime(2014, 08, 3));

            var    templateFiller = new TemplateFiller("Blood Test.html");
            string actual         = templateFiller.FillTemplate(person, analysis, template);
            //File.WriteAllText("expected.html", actual);
            string expected = File.ReadAllText("expected.html");

            Assert.Equal(expected, actual);
        }
예제 #4
0
        private void AnalysisExportOKButton_Click(object sender, RoutedEventArgs e)
        {
            string currentPrinterName = GetSelectedItem();

            if (currentPrinterName == null)
            {
                //LOGGING
                Logger.Info("Analysis was not exported. Printer's name was not initialized");
                return;
            }

            Printer printer =
                PrintersLoader.LoadPrinter(
                    Path.Combine(Environment.CurrentDirectory, @"Printers\", currentPrinterName) + ".dll");

            if (printer == null)
            {
                //LOGGING
                Logger.Warn("Analysis was not exported. Uncorrect printer");
                MessageBox.Show("Incorrect printer!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            if (_currentAnalysis == null)
            {
                //LOGGING
                Logger.Warn("Analysis was not exported. Current Analysis was not selected.");
                MessageBox.Show("You must select an analysis!", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            var exportSaveFileDialog = new SaveFileDialog
            {
                Filter           = "All files (*.*)|*.*",
                FilterIndex      = 2,
                RestoreDirectory = true,
                Title            = "Please enter a name of exported file"
            };

            if (exportSaveFileDialog.ShowDialog() == true)
            {
                printer.PathToFile = exportSaveFileDialog.FileName;

                try
                {
                    string pathToCurrentHtmlTemplate = Path.Combine(Environment.CurrentDirectory, @"Templates\",
                                                                    _currentTemplate.Title + ".html");
                    var templateFiller = new TemplateFiller(pathToCurrentHtmlTemplate);

                    printer.Print(templateFiller.FillTemplate(_currentPerson, _currentAnalysis, _currentTemplate));
                    //LOGGING
                    Logger.Info("Analysis was exporeted.");
                }
                catch (Exception ex)
                {
                    //LOGGING
                    Logger.Info("Analysis was not exporeted. Unknown exception.");
                    MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }

                MessageBox.Show("Analysis exported successfully!", "Information", MessageBoxButton.OK,
                                MessageBoxImage.Information);
            }
        }