private void RunButton_Click(object sender, EventArgs e) { // Save settings Properties.KppParser.Default.EpisodePath = EpisodePathBox.Text; Properties.KppParser.Default.TjenestePath = TjenestePathBox.Text; Properties.KppParser.Default.Level1Name = OrgNameBox.Text; Properties.KppParser.Default.Level1HerId = OrgHerIdBox.Text; Properties.KppParser.Default.Level2Name = OrgNameBox2.Text; Properties.KppParser.Default.Level2HerId = OrgHerIdBox2.Text; Properties.KppParser.Default.Save(); // Run var args = new Args { EpisodePath = EpisodePathBox.Text, TjenestePath = TjenestePathBox.Text, FraDato = FromDatePicker.Value, TilDato = ToDatePicker.Value, OrganizationName = OrgNameBox.Text, OrganizationHerId = OrgHerIdBox.Text, OrganizationName2 = OrgNameBox2.Text, OrganizationHerId2 = OrgHerIdBox2.Text, HDirHerId = RadioTrial.Checked ? _settings.HdirQa : _settings.HdirProd, Leverandor = _settings.Leverandor, NavnEpj = _settings.NavnEpj, VersjonEpj = _settings.VersjonEpj, ProgramVersion = _version, }; if (!KppService.IsValid(args, out var errorMessage)) { MessageBox.Show($"Kan ikke lage melding. Årsak:\n\n{errorMessage}", @"Ugyldig input", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } var fileDialog = new SaveFileDialog { OverwritePrompt = true, Filter = @"XML filer|*.xml", AddExtension = true, CheckPathExists = true, DefaultExt = "xml", Title = @"Velg hvor filen skal lagres", ValidateNames = true }; if (fileDialog.ShowDialog() == DialogResult.Cancel) { return; } args.OutputPath = fileDialog.FileName; var progressForm = new ProgressForm(args); progressForm.ShowDialog(); }
public void KppService_ShouldValidateCsvHeaders_WhenValidatingTjenesteInput(string fileName, string expectedError) { // arrange if (fileName != null) { fileName = $"Resources/TestData/{fileName}"; } var args = DefaultArgs(); args.TjenestePath = fileName; // act var isValid = KppService.IsValid(args, out var errorMessage); // assert isValid.Should().Be(expectedError == null); errorMessage.Should().Be(expectedError ?? string.Empty); }
private static int Main(string[] args) { Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory); var verbose = false; var showHelp = args.Length == 0; var dryRun = false; var printVersion = false; var kppArgs = new Args { ProgramVersion = Version() }; var p = new OptionSet { { "Program-argumenter" }, { "h|help", "Vis hjelp", x => showHelp = true }, { "v|verbose", "Skriv status underveis", x => verbose = true }, { "d|dry-run", "Test konfigurasjon uten å kjøre programmet.", x => dryRun = true }, { "version", "Skriv programmets version", x => printVersion = true }, { "Input" }, { "episoder=", "Filsti til csv-fil med episoder", x => kppArgs.EpisodePath = x }, { "tjenester=", "Filsti til csv-fil med tjenester", x => kppArgs.TjenestePath = x }, { "fradato=", "Dato for periodens start. Format: yyyy-MM-dd", x => kppArgs.FraDato = ParseDate(x) }, { "tildato=", "Dato for periodens slutt. Format: yyyy-MM-dd", x => kppArgs.TilDato = ParseDate(x) }, { "org-herid=", "Avsenders HerId (fra Adresseregisteret)", x => kppArgs.OrganizationHerId = x }, { "org-navn=", "Avsenders navn", x => kppArgs.OrganizationName = x }, { "leverandor=", "Navn på leverandør av EPJ", x => kppArgs.Leverandor = x }, { "epj-navn=", "Navn på EPJ", x => kppArgs.NavnEpj = x }, { "epj-versjon=", "Versjon av EPJ", x => kppArgs.VersjonEpj = x }, { "hdir-herid=", "Helsedirektoratets HerId.", x => kppArgs.HDirHerId = x }, { "Output" }, { "o|output=", "Filsti hvor resultatet lagres", x => kppArgs.OutputPath = x } }; Console.WriteLine(); var list = p.Parse(args); if (list.Count > 0) { Console.WriteLine($"Ukjente variable: {string.Join(", ", list)}\n"); p.WriteOptionDescriptions(Console.Out); return(1); } if (showHelp) { p.WriteOptionDescriptions(Console.Out); return(0); } if (printVersion) { Console.WriteLine(Version()); return(0); } if (dryRun) { Console.WriteLine("# Tolket input:"); Console.WriteLine(kppArgs.ToString()); Console.WriteLine(); var message = !KppService.IsValid(kppArgs, out var em) ? $"# Fant følgende feil i input:\n{em}" : "# Input er gyldig"; Console.WriteLine(message); return(0); } if (!KppService.IsValid(kppArgs, out var errorMessage)) { Console.WriteLine($"Feil input:\n{errorMessage}"); return(1); } try { KppService.Run(kppArgs, (i, s) => Log(s, verbose)); } catch (Exception ex) { var message = $"Noe gikk galt under opprettelse av meldingen.\n\nFeilmelding: {ex.Message}\n\n{ex.GetType()}\n\nVersjon: {kppArgs.ProgramVersion}"; Console.WriteLine(message); return(1); } return(0); }