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(); } } }
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(); } } }