static void Main(string[] args) { try { var builder = new ContainerBuilder(); Bootstrap.SetDefault(builder); using (var container = builder.Build()) { // Start de main programma loop new ProgramInternals(container.Resolve <Func <string, Form> >()) .Run(args.Length >= 1 ? args[0] : null); } } catch (Exception Exc) { FoutmeldingSchrijver.Log(Exc); throw; } }
/// <summary> /// Genereer een presentatie aan de hand van meegegeven Liturgie en Template voor de Liederen /// </summary> public void GeneratePresentation() { _token = new CancellationTokenSource(); StatusWijziging?.Invoke(Status.Gestart, null, null); var succes = true; var slidesGemist = 0; var exception = string.Empty; // Hier pas COM calls want dit is de juiste thread using (var applicatie = _mppFactory.GetApplication()) //Creeer een nieuwe lege presentatie volgens de template thema (toon scherm zodat bij fout nog iets te zien is) using (var presentatie = applicatie.Open(_dependentFileList.FullTemplateTheme, metWindow: true)) { //Minimaliseer scherm applicatie.MinimizeInterface(); try { // Voor elke regel in de liturgie moeten sheets worden gemaakt (als dat mag) // Gebruik een list zodat we de plek weten voor de progress var hardeLijst = _liturgie.Where(l => l.VerwerkenAlsSlide).ToList(); foreach (var regel in hardeLijst) { var lijstTotaal = _liturgie.Count(); var bijItem = hardeLijst.IndexOf(regel); var resultaat = _regelVerwerker[regel.VerwerkenAlsType] .Init(applicatie, presentatie, _mppFactory, _liedFormatter, _buildSettings, _buildDefaults, _dependentFileList, _liturgie, _lengteBerekenaar, (p) => Voortgang?.Invoke(lijstTotaal, bijItem, p)) .Verwerk(regel, Volgende(_liturgie, regel), _token.Token); slidesGemist += resultaat.SlidesGemist; if (_stop) { break; } } //sla de presentatie op presentatie.OpslaanAls(_opslaanAls); } catch (Exception ex) { succes = false; exception = ex.ToString(); FoutmeldingSchrijver.Log(exception); } } _token = null; // dispose voordat we een statuswijziging hebben, anders is de applicatie niet op tijd gesloten if (succes) { // gereedmelding geven if (_stop) { StatusWijziging?.Invoke(Status.StopFout, "Tussentijds gestopt door de gebruiker.", null); } else { StatusWijziging?.Invoke(Status.StopGoed, null, slidesGemist); } } else { StatusWijziging?.Invoke(Status.StopFout, exception, null); } }
private static Instellingen LoadFromJsonFile(IFileOperations fileManager, string instellingenFile, string maskFile) { try { SaveInstellingen saveInstellingen; if (!fileManager.FileExists(instellingenFile)) { return(null); } using (var file = new StreamReader(fileManager.FileReadStream(instellingenFile))) { var serializer = new JsonSerializer(); saveInstellingen = (SaveInstellingen)serializer.Deserialize(file, typeof(SaveInstellingen)); } if (saveInstellingen == null) { return(null); } var instellingen = new Instellingen() { DatabasePad = saveInstellingen.DatabasePad ?? Instellingen.Default.DatabasePad, BijbelPad = saveInstellingen.BijbelPad ?? Instellingen.Default.BijbelPad, TemplateTheme = saveInstellingen.TemplateTheme ?? Instellingen.Default.TemplateTheme, TemplateLied = saveInstellingen.TemplateLied ?? Instellingen.Default.TemplateLied, TemplateBijbeltekst = saveInstellingen.TemplateBijbeltekst ?? Instellingen.Default.TemplateBijbeltekst, TekstChar_a_OnARow = saveInstellingen.TekstChar_a_OnARow ?? Instellingen.Default.TekstChar_a_OnARow, TekstFontName = saveInstellingen.TekstFontName ?? Instellingen.Default.TekstFontName, TekstFontPointSize = saveInstellingen.TekstFontPointSize ?? Instellingen.Default.TekstFontPointSize, RegelsPerLiedSlide = saveInstellingen.RegelsPerLiedSlide ?? Instellingen.Default.RegelsPerLiedSlide, RegelsPerBijbeltekstSlide = saveInstellingen.RegelsPerBijbeltekstSlide ?? Instellingen.Default.RegelsPerBijbeltekstSlide, Een2eCollecte = saveInstellingen.Een2eCollecte ?? Instellingen.Default.Een2eCollecte, DeTekstVraag = saveInstellingen.DeTekstVraag ?? Instellingen.Default.DeTekstVraag, DeLezenVraag = saveInstellingen.DeLezenVraag ?? Instellingen.Default.DeLezenVraag, GebruikDisplayNameVoorZoeken = saveInstellingen.GebruikDisplayNameVoorZoeken ?? Instellingen.Default.GebruikDisplayNameVoorZoeken, ToonBijbeltekstenInLiturgie = saveInstellingen.ToonBijbeltekstenInLiturgie ?? Instellingen.Default.ToonBijbeltekstenInLiturgie, ToonGeenVersenBijVolledigeContent = saveInstellingen.ToonGeenVersenBijVolledigeContent ?? Instellingen.Default.ToonGeenVersenBijVolledigeContent, StandaardTeksten = saveInstellingen.StandaardTeksten ?? Instellingen.Default.StandaardTeksten, VersOnderbrekingOverSlidesHeen = saveInstellingen.VersOnderbrekingOverSlidesHeen ?? Instellingen.Default.VersOnderbrekingOverSlidesHeen, ToonAlsLiedOnderbrokenWordt = saveInstellingen.ToonAlsLiedOnderbrokenWordt ?? Instellingen.Default.ToonAlsLiedOnderbrokenWordt, }; if (!fileManager.FileExists(maskFile)) { return(instellingen); } using (var file = new StreamReader(fileManager.FileReadStream(maskFile))) { var serializer = new JsonSerializer(); foreach (var mask in (SaveMask[])serializer.Deserialize(file, typeof(SaveMask[]))) { instellingen.AddMask(new Mapmask(mask.Name, mask.RealName)); } } return(instellingen); } catch (Exception exc) { FoutmeldingSchrijver.Log(exc); } return(null); }