Example #1
0
        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;
        }
Example #2
0
 private void hentDagensBudsjettToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (!IsBusy())
     {
         BudgetImporter kpi = new BudgetImporter(this, DateTime.Now);
         worker = new BackgroundWorker();
         kpi.StartAsyncDownloadBudget(worker, false);
     }
 }
Example #3
0
 private void buttonBudgetActionBudgetImport_Click(object sender, EventArgs e)
 {
     if (!IsBusy())
     {
         BudgetImporter importer = new BudgetImporter(this, DateTime.Now);
         worker = new BackgroundWorker();
         importer.StartAsyncDownloadBudget(worker, false);
     }
 }
Example #4
0
        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;
            }
        }