Beispiel #1
0
        private void BuildVinnRankingSelger(string selgerArg)
        {
            Log.n("Henter vinnprodukt transaksjoner for selger..");
            try
            {
                webRanking.Navigate(htmlLoading);
                var doc = new List<string>();
                DateTime dtPick = pickerRankingDate.Value;
                DateTime dtFra = GetFirstDayOfMonth(dtPick); DateTime dtTil = dtPick;

                var ranking = new RankingVinn(this, dtFra, dtTil, dtPick);

                GetHtmlStart(doc, false, "Ranking: Vinnprodukter Selger");

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

                doc.Add("<h2>Transaksjoner for selger: " + salesCodes.GetNavn(selgerArg) + "</h2>");
                doc.AddRange(ranking.GetTableHtmlSelger(selgerArg));

                doc.Add(Resources.htmlEnd);

                if (stopRanking)
                {
                    stopRanking = false;
                    Log.n("Ranking stoppet.", Color.Red);
                    webRanking.Navigate(htmlStopped);
                }
                else
                {
                    File.WriteAllLines(htmlRankingVinnSelger, doc.ToArray(), Encoding.Unicode);
                    webRanking.Navigate(htmlRankingVinnSelger);
                }
            }
            catch (Exception ex)
            {
                Log.Unhandled(ex);

                webRanking.Navigate(htmlError);
                FormError errorMsg = new FormError("Feil ved generering av vinnprodukt transaksjoner for kunde.", ex);
                errorMsg.ShowDialog();

            }
        }
Beispiel #2
0
        private void BuildVinnRanking(bool bg = false)
        {
            string katArg = "Vinnprodukter";
            bool abort = HarSisteVersjon(katArg, appConfig.strVinnprodukter);
            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 (datoPeriodeVelger && !bg)
                    {
                        dtFra = datoPeriodeFra;
                        dtTil = datoPeriodeTil;
                    }

                    var ranking = new RankingVinn(this, dtFra, dtTil, dtPick);

                    openXml.DeleteDocument(katArg, dtPick);

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

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

                    if (ranking.tableVinn != null)
                    {
                        if (ranking.tableVinn.Rows.Count > 0)
                        {
                            if (!appConfig.vinnEnkelModus)
                            {
                                if (!datoPeriodeVelger || bg)
                                {
                                    if (appConfig.vinnDatoFraTil)
                                        if (appConfig.vinnTo > appConfig.dbTo)
                                            doc.Add("<h3>Lyd & Bilde, Tele og Data selgere fra " + appConfig.vinnFrom.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                        else
                                            doc.Add("<h3>Lyd & Bilde, Tele og Data selgere fra " + appConfig.vinnFrom.ToString("dddd d. MMMM yyyy", norway) + " til " + appConfig.vinnTo.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                    else
                                        doc.Add("<h3>Lyd & Bilde, Tele og Data selgere " + dtPick.ToString("MMMM yyyy") + " (MTD " + dtPick.ToString("dddd d.", norway) + ")</h3>");
                                }
                                else
                                    doc.Add("<h3>Lyd & Bilde, Tele og Data selgere for perioden fra " + dtFra.ToString("dddd d. MMMM yyyy", norway) + " til " + dtTil.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                doc.AddRange(ranking.GetTableHtml(BudgetCategory.Cross));

                                if (!datoPeriodeVelger || bg)
                                {
                                    if (appConfig.vinnDatoFraTil)
                                        if (appConfig.vinnTo > appConfig.dbTo)
                                            doc.Add("<h3>Alle MDA og SDA selgere fra " + appConfig.vinnFrom.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                        else
                                            doc.Add("<h3>Alle MDA og SDA selgere fra " + appConfig.vinnFrom.ToString("dddd d. MMMM yyyy", norway) + " til " + appConfig.vinnTo.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                    else
                                        doc.Add("<h3>MDA og SDA selgere " + dtPick.ToString("MMMM yyyy") + " (MTD " + dtPick.ToString("dddd d.", norway) + ")</h3>");
                                }
                                else
                                    doc.Add("<h3>MDA og SDA selgere for perioden fra " + dtFra.ToString("dddd d. MMMM yyyy", norway) + " til " + dtTil.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                doc.AddRange(ranking.GetTableHtml(BudgetCategory.MDASDA));

                                if (!datoPeriodeVelger || bg)
                                {
                                    if (appConfig.vinnDatoFraTil)
                                        if (appConfig.vinnTo > appConfig.dbTo)
                                            doc.Add("<h3>Kasse selgere fra " + appConfig.vinnFrom.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                        else
                                            doc.Add("<h3>Kasse selgere fra " + appConfig.vinnFrom.ToString("dddd d. MMMM yyyy", norway) + " til " + appConfig.vinnTo.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                    else
                                        doc.Add("<h3>Kasse selgere " + dtPick.ToString("MMMM yyyy") + " (MTD " + dtPick.ToString("dddd d.", norway) + ")</h3>");
                                }
                                else
                                    doc.Add("<h3>Kasse selgere for perioden fra " + dtFra.ToString("dddd d. MMMM yyyy", norway) + " til " + dtTil.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                doc.AddRange(ranking.GetTableHtml(BudgetCategory.Kasse));

                                if (appConfig.vinnVisAftersales)
                                {
                                    if (!datoPeriodeVelger || bg)
                                    {
                                        if (appConfig.vinnDatoFraTil)
                                            if (appConfig.vinnTo > appConfig.dbTo)
                                                doc.Add("<h3>Aftersales selgere fra " + appConfig.vinnFrom.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                            else
                                                doc.Add("<h3>Aftersales selgere fra " + appConfig.vinnFrom.ToString("dddd d. MMMM yyyy", norway) + " til " + appConfig.vinnTo.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                        else
                                            doc.Add("<h3>Aftersales selgere " + dtPick.ToString("MMMM yyyy") + " (MTD " + dtPick.ToString("dddd d.", norway) + ")</h3>");
                                    }
                                    else
                                        doc.Add("<h3>Aftersales selgere for perioden fra " + dtFra.ToString("dddd d. MMMM yyyy", norway) + " til " + dtTil.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                    doc.AddRange(ranking.GetTableHtml(BudgetCategory.Aftersales));
                                }
                            }
                            else
                            {
                                if (!datoPeriodeVelger || bg)
                                {
                                    if (appConfig.vinnDatoFraTil)
                                        if (appConfig.vinnTo > appConfig.dbTo)
                                            doc.Add("<h3>Alle selgere fra " + appConfig.vinnFrom.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                        else
                                            doc.Add("<h3>Alle selgere fra " + appConfig.vinnFrom.ToString("dddd d. MMMM yyyy", norway) + " til " + appConfig.vinnTo.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                    else
                                        doc.Add("<h3>Alle selgere " + dtPick.ToString("MMMM yyyy") + " (MTD " + dtPick.ToString("dddd d.", norway) + ")</h3>");
                                }
                                else
                                    doc.Add("<h3>Alle selgere for perioden fra " + dtFra.ToString("dddd d. MMMM yyyy", norway) + " til " + dtTil.ToString("dddd d. MMMM yyyy", norway) + "</h3>");
                                doc.AddRange(ranking.GetTableHtml(BudgetCategory.None));
                            }
                        }
                        else
                            doc.Add("<br><span class='Subtitle' style='color:red !important;'>Fant ingen transaksjoner eller valgt periode har ennå ikke startet.</span><br>");
                    }

                    if (appConfig.vinnVisVarekoder)
                        doc.AddRange(ranking.GetTableVarekoderHtml());

                    if (appConfig.vinnVisVarekoderExtra)
                        doc.AddRange(ranking.GetTableVarekoderEkstraHtml());

                    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(htmlRankingVinn, doc.ToArray(), Encoding.Unicode);
                            if (!bg)
                                webRanking.Navigate(htmlRankingVinn);
                            if (!bg) Log.n("Ranking [" + katArg + "] tok " + timewatch.Stop() + " sekunder.", Color.Black, true);
                        }
                    }
                }
                else if (!bg)
                    webRanking.Navigate(htmlRankingVinn);
            }
            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();
                }
            }
        }