Example #1
0
        public string ToHtml()
        {
            var report  = EmbadedResources.GetEmbeddedResource("Mashkanta.Reports.Report.html");
            var table1  = EmbadedResources.GetEmbeddedResource("Mashkanta.Reports.Table1.html");
            var courses = Courses.ToHtml();
            var summery = Summery.ToHtml();

            table1 = table1.Replace("@@TITLE@@", Course.GetCourseTitle(Course.CourseType.None));
            table1 = table1.Replace("@@RATIO@@", Ratio.ToString("N2"));
            table1 = table1.Replace("@@MIN_PAYMENT@@", MinMonthReturn.ToString("N2"));
            table1 = table1.Replace("@@MAX_PAYMENT@@", MaxMonthReturn.ToString("N2"));
            table1 = table1.Replace("@@TOTAL_PAYMENT@@", TotalReturn.ToString("N2"));
            table1 = table1.Replace("@@INTEREST@@", TotalInterestAndPriceIndex.ToString("N2"));

            var tableAll = table1 + TotalPayments.ToHtml(Course.CourseType.None);

            report = report.Replace("@@COURSES@@", courses);
            report = report.Replace("@@SUMMERY@@", summery);
            report = report.Replace("@@TABLE_ALL@@", tableAll);
            report = report.Replace("@@PaymentDoughnutChart@@", new PaymentDoughnut(this, "PaymentDoughnutChart").ToHtml());

            var tableCources = string.Empty;

            foreach (var c in Courses)
            {
                tableCources += c.Result.ToHtml(c.Type);
            }

            report = report.Replace("@@TABLE_COURSE@@", tableCources);

            return(report);
        }
Example #2
0
        public string ToHtml(CourseType courseType)
        {
            var table1 = EmbadedResources.GetEmbeddedResource("Mashkanta.Reports.Table1.html");

            table1 = table1.Replace("@@TITLE@@", Course.GetCourseTitle(courseType));
            table1 = table1.Replace("@@RATIO@@", Ratio.ToString("N2"));
            table1 = table1.Replace("@@MIN_PAYMENT@@", MinMonthReturn.ToString("N2"));
            table1 = table1.Replace("@@MAX_PAYMENT@@", MaxMonthReturn.ToString("N2"));
            table1 = table1.Replace("@@TOTAL_PAYMENT@@", TotalReturn.ToString("N2"));
            table1 = table1.Replace("@@INTEREST@@", TotalInterestAndPriceIndex.ToString("N2"));

            var result = $"{table1}\r\n{Payments.ToHtml(courseType)}\r\n<hr />";

            return(result);
        }
        public void GetAttendanceStatisticsReport(DateTime fromDate, DateTime toDate)
        {
            SqlConn conn = new SqlConn();
            List <TransactionCashRegister> transactionsCashRegister = conn.selectTransactionCashRegister("transactions_cashiermashine",
                                                                                                         " date BETWEEN '" + fromDate.ToString("dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture) + " 0:00:00' AND '"
                                                                                                         + toDate.ToString("dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture) + " 23:59:59'");
            List <TransactionAttractions> trasactionsAttractions = conn.selectTransactionAttractions("transactions_attractions",
                                                                                                     " date BETWEEN '" + fromDate.ToString("dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture) + " 0:00:00' AND '"
                                                                                                     + toDate.ToString("dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture) + " 23:59:59'");
            List <Card> cards            = conn.selectCards("cards");
            List <Card> oldCards         = new List <Card>();
            List <Card> newCards         = new List <Card>();
            List <Card> returnedOldCards = new List <Card>();
            List <Card> returnedNewCards = new List <Card>();

            foreach (Card card in cards)
            {
                if (transactionsCashRegister.FindAll(x => x.cardId == card.cardId).Count > 0 ||
                    trasactionsAttractions.FindAll(x => x.cardId == card.cardId).Count > 0)
                {
                    if ((DateTime)card.cardRegDate <= fromDate.Date)
                    {
                        oldCards.Add(card);
                    }
                    else if ((DateTime)card.cardRegDate >= fromDate.Date && (DateTime)card.cardRegDate <= ((toDate).Date.AddDays(1)))
                    {
                        newCards.Add(card);
                    }
                }
            }
            decimal addedPointsNewCards = 0, spendedPointsNewCards = 0, returnedPointsNewCards = 0, addedMoneyForNewCard = 0, returnedMoneyForNewCards = 0;

            foreach (Card newCard in newCards)
            {
                foreach (TransactionCashRegister transactionCashRegister in transactionsCashRegister)
                {
                    if ((int)transactionCashRegister.cardId == (int)newCard.cardId)
                    {
                        if ((int)transactionCashRegister.operation == 5 || (int)transactionCashRegister.operation == 18 || (int)transactionCashRegister.operation == 19)
                        {
                            addedPointsNewCards += (decimal)transactionCashRegister.summ;
                        }
                        if ((int)transactionCashRegister.operation == 22)
                        {
                            addedMoneyForNewCard += (decimal)transactionCashRegister.summ;
                        }
                        if ((int)transactionCashRegister.operation == 2)
                        {
                            returnedNewCards.Add(newCard);
                            returnedPointsNewCards += (decimal)transactionCashRegister.summ;
                        }
                        if ((int)transactionCashRegister.operation == 20)
                        {
                            returnedNewCards.Add(newCard);
                            returnedMoneyForNewCards += (decimal)transactionCashRegister.summ;
                        }
                    }
                }
                foreach (TransactionAttractions trasactionAttractions in trasactionsAttractions)
                {
                    if ((int)trasactionAttractions.cardId == (int)newCard.cardId)
                    {
                        spendedPointsNewCards += (decimal)trasactionAttractions.summ;
                    }
                }
            }
            this.registretedCards = new RegistretedCards(
                newCards.Count,
                addedPointsNewCards + addedMoneyForNewCard,
                addedPointsNewCards,
                addedMoneyForNewCard,
                spendedPointsNewCards);
            decimal addedPointsOldCards = 0, spendedPointsOldCards = 0, returnedPointsOldCards = 0, addedMoneyForOldCard = 0, returnedMoneyForOldCards = 0;

            foreach (Card oldCard in oldCards)
            {
                foreach (TransactionCashRegister transactionCashRegister in transactionsCashRegister)
                {
                    if ((int)transactionCashRegister.cardId == (int)oldCard.cardId)
                    {
                        if ((int)transactionCashRegister.operation == 5)
                        {
                            addedPointsOldCards += (decimal)transactionCashRegister.summ;
                        }
                        if ((int)transactionCashRegister.operation == 22)
                        {
                            addedMoneyForOldCard += (decimal)transactionCashRegister.summ;
                        }
                        if ((int)transactionCashRegister.operation == 2)
                        {
                            returnedOldCards.Add(oldCard);
                            returnedPointsOldCards += (decimal)transactionCashRegister.summ;
                        }
                        if ((int)transactionCashRegister.operation == 20)
                        {
                            returnedOldCards.Add(oldCard);
                            returnedMoneyForOldCards += (decimal)transactionCashRegister.summ;
                        }
                    }
                }

                foreach (TransactionAttractions trasactionAttractions in trasactionsAttractions)
                {
                    if ((int)trasactionAttractions.cardId == (int)oldCard.cardId)
                    {
                        spendedPointsOldCards += (decimal)trasactionAttractions.summ;
                    }
                }
            }
            this.usedCards = new UsedCards(
                oldCards.Count,
                addedPointsOldCards + addedMoneyForOldCard,
                addedPointsOldCards,
                addedMoneyForOldCard,
                spendedPointsOldCards);
            this.totalIncome = new TotalIncome(
                oldCards.Count + newCards.Count,
                addedPointsOldCards + addedMoneyForOldCard + addedPointsNewCards + addedMoneyForNewCard,
                addedPointsOldCards + addedPointsNewCards,
                addedMoneyForOldCard + addedMoneyForNewCard,
                spendedPointsOldCards + spendedPointsNewCards);
            addedPointsNewCards = 0; spendedPointsNewCards = 0;
            if (returnedNewCards.Count != 0)
            {
                foreach (Card returnedNewCard in returnedNewCards)
                {
                    foreach (TransactionCashRegister transactionCashRegister in transactionsCashRegister)
                    {
                        if ((int)transactionCashRegister.cardId == (int)returnedNewCard.cardId)
                        {
                            if ((int)transactionCashRegister.operation == 5)
                            {
                                addedPointsNewCards += (decimal)transactionCashRegister.summ;
                            }
                        }
                    }
                    foreach (TransactionAttractions trasactionAttractions in trasactionsAttractions)
                    {
                        if ((int)trasactionAttractions.cardId == (int)returnedNewCard.cardId)
                        {
                            spendedPointsNewCards += (decimal)trasactionAttractions.summ;
                        }
                    }
                }
            }
            this.returnedNewCards = new ReturnedNewCards(
                returnedNewCards.Count,
                returnedPointsNewCards + returnedMoneyForNewCards,
                returnedPointsNewCards,
                returnedMoneyForNewCards,
                spendedPointsNewCards);
            addedPointsOldCards = 0; spendedPointsOldCards = 0;
            if (returnedOldCards.Count != 0)
            {
                foreach (Card returnedOldCard in returnedOldCards)
                {
                    foreach (TransactionCashRegister transactionCashRegister in transactionsCashRegister)
                    {
                        if ((int)transactionCashRegister.cardId == (int)returnedOldCard.cardId)
                        {
                            if ((int)transactionCashRegister.operation == 5)
                            {
                                addedPointsOldCards += (decimal)transactionCashRegister.summ;
                            }
                        }
                    }
                    foreach (TransactionAttractions trasactionAttractions in trasactionsAttractions)
                    {
                        if ((int)trasactionAttractions.cardId == (int)returnedOldCard.cardId)
                        {
                            spendedPointsOldCards += (decimal)trasactionAttractions.summ;
                        }
                    }
                }
            }
            this.returnedOldCards = new ReturnedOldCards(
                returnedOldCards.Count,
                returnedPointsOldCards + returnedMoneyForOldCards,
                returnedPointsOldCards,
                returnedMoneyForOldCards,
                spendedPointsOldCards);
            this.totalReturn = new TotalReturn(
                returnedOldCards.Count + returnedNewCards.Count,
                returnedPointsOldCards + returnedMoneyForOldCards + returnedPointsNewCards + returnedMoneyForNewCards,
                returnedPointsOldCards + returnedPointsNewCards,
                returnedMoneyForOldCards + returnedMoneyForNewCards,
                spendedPointsOldCards + spendedPointsNewCards);
        }