コード例 #1
0
ファイル: FormRanking.cs プロジェクト: tborgund/kgsa
        private void BuildToppselgereRanking(bool bg = false)
        {
            string katArg = "Toppselgere";
            bool abort = HarSisteVersjon(katArg, appConfig.strToppselgere);
            try
            {
                if (!bg && !abort) timewatch.Start();
                if (!bg)
                    appConfig.savedPage = katArg;
                if (!abort)
                {
                    Log.n("Oppdaterer [" + katArg + "]..");
                    if (!bg)
                        webRanking.Navigate(htmlLoading);
                    var doc = new List<string>();
                    DateTime dtPick = pickerRankingDate.Value;
                    DateTime dtFra = GetFirstDayOfMonth(dtPick); DateTime dtTil = dtPick;
                    if (appConfig.dbTo.Month != dtPick.Month && appConfig.dbTo.Year != dtPick.Year) // Hent hele måneden hvis vi IKKE er i siste måneden
                        dtTil = GetLastDayOfMonth(dtPick);
                    if (datoPeriodeVelger && !bg)
                    {
                        dtFra = datoPeriodeFra;
                        dtTil = datoPeriodeTil;
                    }

                    var ranking = new RankingToppselgere(this, dtFra, dtTil);

                    GetHtmlStart(doc, true, "Ranking: " + katArg);

                    doc.Add("<h1>" + katArg + " (" + avdeling.Get(appConfig.Avdeling) + ")</h1>");

                    if (appConfig.bestofVisBesteLastOpenday && !datoPeriodeVelger)
                    {
                        doc.Add("<div class='no-break'>");
                        doc.Add("<h3>Beste selgere sist åpningsdag " + dtTil.ToString("dddd d. MMMM", norway) + "</h3>");
                        doc.Add("<span class='Loading'>Beregner..</span>");
                        if (!bg)
                            webRanking.DocumentText = string.Join(null, doc.ToArray());
                        doc.RemoveAt(doc.Count - 1);
                        doc.Add("<table style='width:100%'><tr><td>");
                        doc.AddRange(ranking.GetToppListAllLastOpenDay(dtTil));
                        doc.Add("</td></tr></table>");
                        doc.Add("</div>");
                    }

                    doc.Add("<div class='no-break'>");
                    if (!datoPeriodeVelger || bg)
                        doc.Add("<h3>Beste selgere " + dtPick.ToString("MMMM yyyy") + " (MTD " + dtPick.ToString("dddd d.", norway) + ")</h3>");
                    else
                        doc.Add("<h3>Beste selgere for perioden fra " + dtFra.ToString("dddd d. MMMM yyyy", norway) + " til " + dtTil.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                    doc.Add("<span class='Loading'>Beregner..</span>");
                    if (!bg)
                        webRanking.DocumentText = string.Join(null, doc.ToArray());
                    doc.RemoveAt(doc.Count - 1);
                    doc.Add("<table style='width:100%'><tr><td>");
                    doc.AddRange(ranking.GetToppListAll(dtTil));
                    if (appConfig.bestofHoppoverKasse)
                        doc.Add("<br><span class='information'>* = Viser ikke selgere fra 'Kasse'-avdeling.</span>");
                    doc.Add("</td></tr></table>");
                    doc.Add("</div>");

                    doc.Add(Resources.htmlEnd);

                    if (stopRanking)
                    {
                        stopRanking = false;
                        ClearHash(katArg);
                        Log.n("Ranking stoppet.", Color.Red);
                        webRanking.Navigate(htmlStopped);
                    }
                    else
                    {
                        if (datoPeriodeVelger && !bg)
                        {
                            File.WriteAllLines(htmlPeriode, doc.ToArray(), Encoding.Unicode);
                            webRanking.Navigate(htmlPeriode);
                        }
                        else
                        {
                            File.WriteAllLines(htmlRankingToppselgere, doc.ToArray(), Encoding.Unicode);
                            if (!bg)
                                webRanking.Navigate(htmlRankingToppselgere);
                            if (!bg) Log.n("Ranking [" + katArg + "] tok " + timewatch.Stop() + " sekunder.", Color.Black, true);
                        }
                    }
                }
                else if (!bg)
                    webRanking.Navigate(htmlRankingToppselgere);
            }
            catch (Exception ex)
            {
                Log.Unhandled(ex);
                if (!bg)
                {
                    webRanking.Navigate(htmlError);
                    FormError errorMsg = new FormError("Feil ved generering av ranking for [" + katArg + "]", ex);
                    errorMsg.ShowDialog();
                }
            }
        }
コード例 #2
0
ファイル: FormRanking.cs プロジェクト: tborgund/kgsa
        private void BuildListerRanking(bool bg = false)
        {
            string katArg = "Lister";
            bool abort = HarSisteVersjon(katArg, appConfig.strLister);
            try
            {
                if (!bg && !abort) timewatch.Start();
                if (!bg)
                    appConfig.savedPage = katArg;
                if (!abort)
                {
                    Log.n("Oppdaterer [" + katArg + "]..");
                    if (!bg)
                        webRanking.Navigate(htmlLoading);
                    var doc = new List<string>();
                    DateTime dtPick = pickerRankingDate.Value;
                    DateTime dtFra = GetFirstDayOfMonth(dtPick); DateTime dtTil = dtPick;
                    if (appConfig.dbTo.Month != dtPick.Month && appConfig.dbTo.Year != dtPick.Year) // Hent hele måneden hvis vi IKKE er i siste måneden
                        dtTil = GetLastDayOfMonth(dtPick);
                    if (datoPeriodeVelger && !bg)
                    {
                        dtFra = datoPeriodeFra;
                        dtTil = datoPeriodeTil;
                    }

                    var ranking = new RankingToppselgere(this, dtFra, dtTil);

                    openXml.DeleteDocument(katArg, dtPick);

                    GetHtmlStart(doc, false, "Ranking: " + katArg);

                    doc.Add("<h1>Lister (" + avdeling.Get(appConfig.Avdeling) + ")</h1>");

                    ranking.GetToppListLarge(dtTil, null, true); // Generer lister

                    if (!datoPeriodeVelger || bg)
                        doc.Add("<h2>Alle salg RTG/SA " + dtPick.ToString("MMMM yyyy") + " (MTD " + dtPick.ToString("dddd d.", norway) + ")</h2>");
                    else
                        doc.Add("<h2>Alle salg RTG/SA for perioden fra " + dtFra.ToString("dddd d. MMMM yyyy", norway) + " til " + dtTil.ToString("dddd d. MMMM yyyy", norway) + "</h2>");
                    doc.AddRange(ranking.GetToppListLarge(dtTil, "RTGSA"));

                    if (appConfig.importSetting.StartsWith("Full"))
                    {
                        if (!datoPeriodeVelger || bg)
                            doc.Add("<h2>Alle salg Trygghetsavtale " + dtPick.ToString("MMMM yyyy") + " (MTD " + dtPick.ToString("dddd d.", norway) + ")</h2>");
                        else
                            doc.Add("<h2>Alle salg Trygghetsavtale for perioden fra " + dtFra.ToString("dddd d. MMMM yyyy", norway) + " til " + dtTil.ToString("dddd d. MMMM yyyy", norway) + "</h2>");
                        doc.AddRange(ranking.GetToppListLarge(dtTil, "TA"));

                        if (!datoPeriodeVelger || bg)
                            doc.Add("<h2>Alle salg Finansiering " + dtPick.ToString("MMMM yyyy") + " (MTD " + dtPick.ToString("dddd d.", norway) + ")</h2>");
                        else
                            doc.Add("<h2>Alle salg Finansiering for perioden fra " + dtFra.ToString("dddd d. MMMM yyyy", norway) + " til " + dtTil.ToString("dddd d. MMMM yyyy", norway) + "</h2>");
                        doc.AddRange(ranking.GetToppListLarge(dtTil, "Finans"));

                        if (!datoPeriodeVelger || bg)
                            doc.Add("<h2>Alle salg Strøm " + dtPick.ToString("MMMM yyyy") + " (MTD " + dtPick.ToString("dddd d.", norway) + ")</h2>");
                        else
                            doc.Add("<h2>Alle salg Strøm for perioden fra " + dtFra.ToString("dddd d. MMMM yyyy", norway) + " til " + dtTil.ToString("dddd d. MMMM yyyy", norway) + "</h2>");
                        doc.AddRange(ranking.GetToppListLarge(dtTil, "Strom"));

                        if (appConfig.listerVisAccessories)
                        {
                            if (!datoPeriodeVelger || bg)
                                doc.Add("<h2>Alle salg Tilbehør " + dtPick.ToString("MMMM yyyy") + " (MTD " + dtPick.ToString("dddd d.", norway) + ")</h2>");
                            else
                                doc.Add("<h2>Alle salg Tilbehør for perioden fra " + dtFra.ToString("dddd d. MMMM yyyy", norway) + " til " + dtTil.ToString("dddd d. MMMM yyyy", norway) + "</h2>");
                            doc.AddRange(ranking.GetToppListLarge(dtTil, "Tilbehør"));
                        }

                        if (appConfig.listerVisInntjen)
                        {
                            if (!datoPeriodeVelger || bg)
                                doc.Add("<h2>Alle salg Inntjening " + dtPick.ToString("MMMM yyyy") + " (MTD " + dtPick.ToString("dddd d.", norway) + ")</h2>");
                            else
                                doc.Add("<h2>Alle salg Inntjening for perioden fra " + dtFra.ToString("dddd d. MMMM yyyy", norway) + " til " + dtTil.ToString("dddd d. MMMM yyyy", norway) + "</h2>");
                            doc.AddRange(ranking.GetToppListLarge(dtTil, "Inntjen"));
                        }
                    }

                    doc.Add(Resources.htmlEnd);

                    if (stopRanking)
                    {
                        stopRanking = false;
                        ClearHash(katArg);
                        Log.n("Ranking stoppet.", Color.Red);
                        webRanking.Navigate(htmlStopped);
                    }
                    else
                    {
                        if (datoPeriodeVelger && !bg)
                        {
                            File.WriteAllLines(htmlPeriode, doc.ToArray(), Encoding.Unicode);
                            webRanking.Navigate(htmlPeriode);
                        }
                        else
                        {
                            File.WriteAllLines(htmlRankingLister, doc.ToArray(), Encoding.Unicode);
                            if (!bg)
                                webRanking.Navigate(htmlRankingLister);
                            if (!bg) Log.n("Ranking [" + katArg + "] tok " + timewatch.Stop() + " sekunder.", Color.Black, true);
                        }
                    }
                }
                else if (!bg)
                    webRanking.Navigate(htmlRankingLister);
            }
            catch (Exception ex)
            {
                Log.Unhandled(ex);
                if (!bg)
                {
                    webRanking.Navigate(htmlError);
                    FormError errorMsg = new FormError("Feil ved generering av ranking for [" + katArg + "]", ex);
                    errorMsg.ShowDialog();
                }
            }
        }