public bool BuildPage(BudgetCategory cat, string strHash, string htmlPage, DateTime date) { pickedDate = date; string katArg = BudgetCategoryClass.TypeToName(cat); bool abort = main.HarSisteVersjonBudget(cat, strHash); try { if (!runningInBackground && !abort) main.timewatch.Start(); if (!runningInBackground) main.appConfig.savedBudgetPage = BudgetCategoryClass.TypeToName(cat); if (!abort) { Log.n("Oppdaterer [" + BudgetCategoryClass.TypeToName(cat) + "].."); OpenPage_Loading(); doc = new List<string>(); main.openXml.DeleteDocument(BudgetCategoryClass.TypeToName(cat), pickedDate); AddPage_Start(true, "Budsjett (" + BudgetCategoryClass.TypeToName(cat) + ")"); AddPage_Title("Budsjett (" + main.avdeling.Get(main.appConfig.Avdeling) + ")"); ShowProgress(); BudgetImporter importer = new BudgetImporter(main, DateTime.Now); if (main.tableMacroQuick == null) { Log.n("Fant ikke data fra Makro, forsøker å hente CSV..", null, true); main.tableMacroQuick = importer.ImportElguideBudget(main.appConfig.Avdeling); } if (main.appConfig.dailyBudgetIncludeInQuickRanking) MakeDailyBudgetFromDatabase(); DailyBudgetMacroInfo budgetInfo = null; if (main.appConfig.macroImportQuickSales) budgetInfo = importer.ImportElguideServices(); MakeDailyBudgetFromElguide(budgetInfo); AddPage_End(); if (FormMain.stopRanking) { main.ClearHash(katArg); Log.n("Lasting avbrutt", Color.Red); OpenPage_Stopped(); FormMain.stopRanking = false; } else { File.WriteAllLines(htmlPage, doc.ToArray(), Encoding.Unicode); OpenPage(htmlPage); if (!runningInBackground) Log.n("Side [" + katArg + "] tok " + main.timewatch.Stop() + " sekunder.", Color.Black, true); return true; } } else OpenPage(htmlPage); } catch (Exception ex) { Log.Unhandled(ex); if (!runningInBackground) { OpenPage_Error(); FormError errorMsg = new FormError("Feil ved generering av side for [" + katArg + "]", ex); errorMsg.ShowDialog(); } } return false; }
private void hentDagensBudsjettToolStripMenuItem_Click(object sender, EventArgs e) { if (!IsBusy()) { BudgetImporter kpi = new BudgetImporter(this, DateTime.Now); worker = new BackgroundWorker(); kpi.StartAsyncDownloadBudget(worker, false); } }
private void buttonBudgetActionBudgetImport_Click(object sender, EventArgs e) { if (!IsBusy()) { BudgetImporter importer = new BudgetImporter(this, DateTime.Now); worker = new BackgroundWorker(); importer.StartAsyncDownloadBudget(worker, false); } }
private void bwQuickAuto_DoWork(object sender, DoWorkEventArgs e) { ProgressStart(); autoMode = true; var macroAttempt = 0; var macroMaxAttempts = 4; retrymacro: macroAttempt++; FormMacro formMacro = (FormMacro)StartMacro(appConfig.dbTo, macroProgramQuick, bwQuickAuto, macroAttempt); e.Result = formMacro.errorCode; if (formMacro.errorCode == 6) { Log.n("En kritisk feil forhindret makro i å utføre sine oppgaver. Se logg for detaljer.", Color.Red); e.Result = 6; return; } if (tableMacroQuick == null || tableMacroQuick.Rows.Count < 5 || formMacro.errorCode != 0) { System.Threading.Thread.Sleep(3000); if (macroAttempt < macroMaxAttempts && formMacro.errorCode != 2) // Vi har flere forsøk igjen, samt bruker har ikke avbrutt prosessen goto retrymacro; if (formMacro.errorCode != 2) Log.n("Kveldstall: Feil oppstod under kveldsranking automatisering. Feilbeskjed: " + formMacro.errorMessage + " Kode: " + formMacro.errorCode, Color.Red); return; } BudgetImporter budgetImporter = new BudgetImporter(this, DateTime.Now); if (appConfig.dailyBudgetQuickRankingAutoUpdate && appConfig.dailyBudgetIncludeInQuickRanking) { Log.n("Kveldstall: Starter nedlasting av dagens budsjett.."); processing.SetText = "Henter dagens budsjett.."; budgetImporter.FindAndDownloadBudget(bwQuickAuto); } ClearBudgetHash(BudgetCategory.Daglig); MakeBudgetPage(BudgetCategory.Daglig, bwQuickAuto); Log.n("Kveldstall: Konverterer kveldranking til PDF.."); processing.SetText = "Konverterer kveldsranking til PDF.."; string pdfBudget = CreatePDF("", "\"" + settingsPath + "\\budsjettDaglig.html\" ", bwQuickAuto); if (String.IsNullOrEmpty(pdfBudget) || !File.Exists(pdfBudget)) { // Feil under pdf generering Log.n("Kveldstall: Feil oppstod under konvertering av kveldsranking til PDF. Se logg for detaljer.", Color.Red); e.Result = 6; return; } processing.SetText = "Sender kveldstall.."; KgsaEmail email = new KgsaEmail(this); if (!email.Send(pdfBudget, DateTime.Now, "Quick", appConfig.epostEmneQuick, appConfig.epostBodyQuick)) { // Feil under pdf generering Log.n("Kveldstall: Feil oppstod under sending av kveldsranking til PDF. Se logg for detaljer.", Color.Red); e.Result = 8; return; } }