示例#1
0
 private void SetAsViewModel(string filename, PageEntryModel model)
 {
     CurrentFileName = filename;
     _viewModel      = new PageEntryViewModel();
     _viewModel.Load(model);
     DataContext = _viewModel;
 }
示例#2
0
        private void ProcessDirectory()
        {
            var inputDirectory  = InputDirectory.Text;
            var outputDirectory = OutputDirectory.Text;

            if (!CheckValidness(inputDirectory, outputDirectory))
            {
                MessageBox.Show("Invalid Input or Output Directory");
                return;
            }

            var pathToCsv = Path.Combine(inputDirectory, "mapping.csv");

            if (!File.Exists(pathToCsv))
            {
                MessageBox.Show("mapping.csv does not exist in Input Directory");
                return;
            }

            var mapping = LoadMapping(inputDirectory);

            var pages = Directory.GetFiles(inputDirectory, "*.engpage")
                        .Select(filename =>
            {
                var model      = Serializer.Deserialize(filename);
                var vm         = new PageEntryViewModel().Load(model);
                var dateString = model.EntryDate?.ToString("yy-MM-dd", null);

                string practiceName = null;
                if (dateString == null || !mapping.TryGetValue(dateString, out practiceName))
                {
                    MessageBox.Show($"No mapping for {dateString}");
                }

                return(new
                {
                    vm,
                    filename,
                    practiceName
                });
            })
                        .Where(p => p.practiceName != null)
                        .ToList();

            foreach (var page in pages)
            {
                var outputFilename       = Path.Combine(outputDirectory, Path.GetFileNameWithoutExtension(page.filename) + ".xps");
                var didPrintSuccessfully = PrintPageToFile(page.vm,
                                                           page.practiceName,
                                                           outputFilename);
                if (!didPrintSuccessfully)
                {
                    break;
                }
            }
        }
示例#3
0
        private bool PrintPageToFile(PageEntryViewModel viewmodel, string practiceName, string filename)
        {
            try
            {
                new PageCreator(viewmodel, practiceName).SaveToFile(filename);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString(), $"Error while saving '{filename}'");
                return(false);
            }

            return(true);
        }
示例#4
0
        static MockData()
        {
            try
            {
                var data = Serializer.Deserialize(@"T:\blueprint.engpage");
                var vm   = new PageEntryViewModel();
                vm.Load(data);
                Page = vm;

                PrintedPage = new PrintedPageData()
                {
                    PageData       = Page,
                    ShowCategories = true,
                    ShowFooter     = false,
                };
            }
            catch (Exception)
            {
                // no problem, just mock data anyways
            }
        }
示例#5
0
 /// <summary> Constructor. </summary>
 /// <param name="viewModel"> The viewmodel that will be printed. </param>
 /// <param name="practiceName"></param>
 public PageCreator(PageEntryViewModel viewModel, string practiceName)
 {
     _practiceNumberTitle = practiceName;
     _viewModel           = viewModel;
     _controlsToPlace     = CreateControlsThatNeedToBeLaidOut().ToList();
 }