Esempio n. 1
0
        public override List <OvTreeItem> GetReport()
        {
            var articles = DataHelpers.GetMongoDataSync("Article") as IEnumerable <Article>;
            var result   = new List <OvTreeItem>();

            var withm  = articles.Where(a => a.Designiation.Contains("m"));
            var withp  = articles.Where(a => a.Designiation.Contains("p"));
            var child  = new List <OvTreeItem>();
            var childP = new List <OvTreeItem>();
            var node   = new OvTreeItem();



            foreach (var item in withp)
            {
                childP.Add(new OvTreeItem()
                {
                    CL1 = item.Designiation, CL2 = item.PrixVente + ""
                });
            }

            foreach (var item in withm)
            {
                child.Add(new OvTreeItem()
                {
                    CL1 = item.Designiation, CL2 = item.PrixVente + ""
                });
            }



            child.Add(new OvTreeItem()
            {
                CL1      = "P",
                Children = childP
            });

            result.Add(new OvTreeItem()
            {
                CL1      = "M",
                Children = child
            });


            return(result);
        }
        public override List <OvTreeItem> GetReport()
        {
            var factures = DS.db.GetAll <Facture>(a => a.DocStatus == 1 && a.DateCreation >= sessionPos.DateSession && a.DateCreation < sessionPos.DateSession.AddDays(1)) as IEnumerable <Facture>;

            var result = new List <OvTreeItem>();

            var globalResult = new OvTreeItem();

            globalResult.CL1 = "Résumée";

            var globalResult_montant = new OvTreeItem();

            globalResult_montant.CL1 = "Total des ventes";
            var montantVente = factures.Sum(z => z.MontantGlobalTTC);

            globalResult_montant.CL2 = $"{montantVente.ToString("N")} DA";



            var globalResult_ouvertur = new OvTreeItem();

            globalResult_ouvertur.CL1 = "Montant d'ouverture";
            var montantOuverture = sessionPos.MontantInit;

            globalResult_ouvertur.CL2 = $"{montantOuverture.ToString("N")} DA";


            var globalResult_cloture = new OvTreeItem();

            globalResult_cloture.CL1 = "Montant de clôture déclaré";
            var montantCloture = sessionPos.MontantCloture;

            globalResult_cloture.CL2 = $"{montantCloture.ToString("N")} DA";


            var globalResult_clotureS = new OvTreeItem();

            globalResult_clotureS.CL1 = "Montant de clôture supposé";
            var montantClotureS = montantVente + montantOuverture;

            globalResult_clotureS.CL2 = $"{montantClotureS.ToString("N")} DA";


            var globalResult_benefice = new OvTreeItem();

            globalResult_benefice.CL1 = "Bénéfice Supposé";
            var montantBenefice = montantClotureS - montantOuverture;

            globalResult_benefice.CL2 = $"{montantBenefice.ToString("N")} DA";


            var globalResult_beneficeS = new OvTreeItem();

            globalResult_beneficeS.CL1 = "Bénéfice calculé manuel";
            var montantBeneficeS = montantCloture - montantOuverture;

            globalResult_beneficeS.CL2 = $"{montantBeneficeS.ToString("N")} DA";

            var globalResult_transactions = new OvTreeItem();
            var trans = factures.Count();

            globalResult_transactions.CL1 = "Tickets";
            globalResult_transactions.CL2 = $"{trans} ventes";



            var globalResult_repas = new OvTreeItem();
            var items = factures.Sum(z => z.ArticleFacture.Count());

            globalResult_repas.CL1 = "Repas / boissons";
            globalResult_repas.CL2 = $"{items}";


            globalResult.Children.Add(globalResult_ouvertur);
            globalResult.Children.Add(globalResult_montant);
            globalResult.Children.Add(globalResult_cloture);
            globalResult.Children.Add(globalResult_clotureS);
            globalResult.Children.Add(globalResult_benefice);
            globalResult.Children.Add(globalResult_beneficeS);

            globalResult.Children.Add(globalResult_transactions);
            globalResult.Children.Add(globalResult_repas);

            result.Add(globalResult);



            var Details = new OvTreeItem();

            Details.CL1 = "Détails";

            var repas = DS.db.GetAll <Article>(a => true) as IEnumerable <Article>;
            var lines = factures.SelectMany(z => z.ArticleFacture);

            var names = lines.Select(e => e.lArticle);

            foreach (var r in repas)
            {
                if (names.Contains(r.Id))
                {
                    var Details_item = new OvTreeItem();
                    Details_item.CL1 = r.Name;
                    Details_item.CL2 = $"{lines.Where(z => z.lArticle == r.Id).Sum(e => e.Qts)} ventes";
                    Details.Children.Add(Details_item);
                }
            }
            result.Add(Details);

            return(result);
        }