private void SetAsViewModel(string filename, PageEntryModel model) { CurrentFileName = filename; _viewModel = new PageEntryViewModel(); _viewModel.Load(model); DataContext = _viewModel; }
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; } } }
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); }
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 } }
/// <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(); }