示例#1
0
        protected override FlowDocument GetReport()
        {
            var report = new SimpleReport("8cm");

            report.AddHeader("Samba POS");
            report.AddHeader(Resources.InventoryReport);
            report.AddHeader(string.Format(Resources.As_f, DateTime.Now));

            var lastPeriodicConsumption = ReportContext.GetCurrentPeriodicConsumption();

            var consumptionItems = lastPeriodicConsumption.PeriodicConsumptionItems;

            if (consumptionItems.Any())
            {
                report.AddColumTextAlignment("InventoryTable", TextAlignment.Left, TextAlignment.Left, TextAlignment.Right);
                report.AddColumnLength("InventoryTable", "45*", "30*", "35*");
                report.AddTable("InventoryTable", Resources.InventoryItem, Resources.Unit, Resources.Quantity);

                foreach (var costItem in consumptionItems)
                {
                    report.AddRow("InventoryTable",
                                  costItem.InventoryItem.Name,
                                  costItem.InventoryItem.TransactionUnit ?? costItem.InventoryItem.BaseUnit,
                                  costItem.GetPhysicalInventory().ToString("#,#0.##"));
                }
            }
            else
            {
                report.AddHeader(Resources.ThereAreNoCostTransactionsInThisPeriod);
            }

            return(report.Document);
        }
        public FlowDocument CreateReport(string reportHeader, bool? returnReceivables, bool selectInternalAccounts)
        {
            var report = new SimpleReport("8cm");
            report.AddHeader("Vero");
            report.AddHeader(reportHeader);
            report.AddHeader(string.Format(Resources.As_f, DateTime.Now));

            var accounts = GetBalancedAccounts(selectInternalAccounts);
            if (returnReceivables != null)
                accounts = returnReceivables.GetValueOrDefault(false) ?
                                accounts.Where(x => x.Amount < 0) :
                                accounts.Where(x => x.Amount > 0);

            report.AddColumTextAlignment("Tablo", TextAlignment.Left, TextAlignment.Left, TextAlignment.Right);
            report.AddColumnLength("Tablo", "35*", "35*", "30*");

            if (accounts.Count() > 0)
            {
                report.AddTable("Tablo", Resources.Accounts, "", "");

                var total = 0m;
                foreach (var account in accounts)
                {
                    total += Math.Abs(account.Amount);
                    report.AddRow("Tablo", account.PhoneNumber, account.CustomerName, Math.Abs(account.Amount).ToString(ReportContext.CurrencyFormat));
                }
                report.AddRow("Tablo", Resources.GrandTotal, "", total);
            }
            else
            {
                report.AddHeader(string.Format(Resources.NoTransactionsFoundFor_f, reportHeader));
            }

            return report.Document;
        }
        protected override FlowDocument GetReport()
        {
            var report = new SimpleReport("8cm");
            report.AddHeader("Samba POS");
            report.AddHeader(Resources.InventoryReport);
            report.AddHeader(string.Format(Resources.As_f, DateTime.Now));

            var lastPeriodicConsumption = ReportContext.GetCurrentPeriodicConsumption();

            var consumptionItems = lastPeriodicConsumption.PeriodicConsumptionItems;

            if (consumptionItems.Count() > 0)
            {
                report.AddColumTextAlignment("InventoryTable", TextAlignment.Left, TextAlignment.Left, TextAlignment.Right);
                report.AddColumnLength("InventoryTable", "45*", "30*", "35*");
                report.AddTable("InventoryTable", Resources.InventoryItem, Resources.Unit, Resources.Quantity);

                foreach (var costItem in consumptionItems)
                {
                    report.AddRow("InventoryTable",
                        costItem.InventoryItem.Name,
                        costItem.InventoryItem.TransactionUnit??costItem.InventoryItem.BaseUnit,
                        costItem.GetPhysicalInventory().ToString("#,#0.##"));
                }
            }
            else report.AddHeader(Resources.ThereAreNoCostTransactionsInThisPeriod);

            return report.Document;
        }
        protected override FlowDocument GetReport()
        {
            var report = new SimpleReport("8cm");

            AddDefaultReportHeader(report, ReportContext.CurrentWorkPeriod, Resources.InventoryPurchaseReport);

            var transactionGroups = ReportContext.Transactions.SelectMany(x => x.TransactionItems)
                                    .GroupBy(x => new { x.InventoryItem.GroupCode })
                                    .Select(x => new { ItemName = x.Key.GroupCode, Total = x.Sum(y => (y.Price * y.Quantity)) });

            if (transactionGroups.Count() > 0)
            {
                report.AddColumTextAlignment("GrupToplam", TextAlignment.Left, TextAlignment.Right);
                report.AddColumnLength("GrupToplam", "60*", "40*");
                report.AddTable("GrupToplam", Resources.InventoryGroup, Resources.Total);

                if (transactionGroups.Count() > 1)
                {
                    foreach (var transactionItem in transactionGroups)
                    {
                        report.AddRow("GrupToplam",
                                      !string.IsNullOrEmpty(transactionItem.ItemName) ? transactionItem.ItemName : Resources.UndefinedWithBrackets,
                                      transactionItem.Total.ToString(ReportContext.CurrencyFormat));
                    }
                }

                report.AddRow("GrupToplam",
                              Resources.Total, transactionGroups.Sum(x => x.Total).ToString(ReportContext.CurrencyFormat));
            }

            var transactionItems = ReportContext.Transactions.SelectMany(x => x.TransactionItems)
                                   .GroupBy(x => new { x.InventoryItem.Name, x.Unit })
                                   .Select(x => new { ItemName = x.Key.Name, Quantity = x.Sum(y => y.Quantity), x.Key.Unit, Total = x.Sum(y => y.Price * y.Quantity) });

            if (transactionItems.Count() > 0)
            {
                report.AddColumTextAlignment("Alımlar", TextAlignment.Left, TextAlignment.Right, TextAlignment.Left, TextAlignment.Right);
                report.AddColumnLength("Alımlar", "40*", "20*", "15*", "25*");
                report.AddTable("Alımlar", Resources.InventoryItem, Resources.Quantity, Resources.Unit, Resources.AveragePrice_ab);

                foreach (var transactionItem in transactionItems)
                {
                    report.AddRow("Alımlar",
                                  transactionItem.ItemName,
                                  transactionItem.Quantity.ToString("#,#0.##"),
                                  transactionItem.Unit,
                                  (transactionItem.Total / transactionItem.Quantity).ToString(ReportContext.CurrencyFormat));
                }
            }
            else
            {
                report.AddHeader("");
                report.AddHeader(Resources.NoPurchaseTransactionInCurrentDateRange);
            }
            return(report.Document);
        }
示例#5
0
        protected override FlowDocument GetReport()
        {
            var report = new SimpleReport("8cm");

            AddDefaultReportHeader(report, ReportContext.CurrentWorkPeriod, Resources.InventoryPurchaseReport);

            var transactionGroups = ReportContext.Transactions.SelectMany(x => x.TransactionItems)
                .GroupBy(x => new { x.InventoryItem.GroupCode })
                .Select(x => new { ItemName = x.Key.GroupCode, Total = x.Sum(y => (y.Price * y.Quantity)) });

            if (transactionGroups.Count() > 0)
            {
                report.AddColumTextAlignment("GrupToplam", TextAlignment.Left, TextAlignment.Right);
                report.AddColumnLength("GrupToplam", "60*", "40*");
                report.AddTable("GrupToplam", Resources.InventoryGroup, Resources.Total);

                if (transactionGroups.Count() > 1)
                {
                    foreach (var transactionItem in transactionGroups)
                    {
                        report.AddRow("GrupToplam",
                            !string.IsNullOrEmpty(transactionItem.ItemName) ? transactionItem.ItemName : Resources.UndefinedWithBrackets,
                            transactionItem.Total.ToString(ReportContext.CurrencyFormat));
                    }
                }

                report.AddRow("GrupToplam",
                    Resources.Total, transactionGroups.Sum(x => x.Total).ToString(ReportContext.CurrencyFormat));
            }

            var transactionItems = ReportContext.Transactions.SelectMany(x => x.TransactionItems)
                .GroupBy(x => new { x.InventoryItem.Name, x.Unit })
                .Select(x => new { ItemName = x.Key.Name, Quantity = x.Sum(y => y.Quantity), x.Key.Unit, Total = x.Sum(y => y.Price * y.Quantity) });

            if (transactionItems.Count() > 0)
            {
                report.AddColumTextAlignment("Alımlar", TextAlignment.Left, TextAlignment.Right, TextAlignment.Left, TextAlignment.Right);
                report.AddColumnLength("Alımlar", "40*", "20*", "15*", "25*");
                report.AddTable("Alımlar", Resources.InventoryItem, Resources.Quantity, Resources.Unit, Resources.AveragePrice_ab);

                foreach (var transactionItem in transactionItems)
                {
                    report.AddRow("Alımlar",
                        transactionItem.ItemName,
                        transactionItem.Quantity.ToString("#,#0.##"),
                        transactionItem.Unit,
                        (transactionItem.Total / transactionItem.Quantity).ToString(ReportContext.CurrencyFormat));
                }
            }
            else
            {
                report.AddHeader("");
                report.AddHeader(Resources.NoPurchaseTransactionInCurrentDateRange);
            }
            return report.Document;
        }
示例#6
0
        protected override FlowDocument GetReport()
        {
            var currentPeriod = ReportContext.CurrentWorkPeriod;
            var report = new SimpleReport("8cm");
            AddDefaultReportHeader(report, currentPeriod, Resources.CsvBuilder);
            report.Header.TextAlignment = TextAlignment.Left;
            report.AddHeader("");
            report.AddHeader(Resources.ClickLinksToExportData);
            report.AddHeader("");
            report.AddLink(Resources.ExportSalesData);
            HandleLink(Resources.ExportSalesData);

            return report.Document;
        }
        protected override FlowDocument GetReport()
        {
            var currentPeriod = ReportContext.CurrentWorkPeriod;
            var report        = new SimpleReport("8cm");

            AddDefaultReportHeader(report, currentPeriod, Resources.CsvBuilder);
            report.Header.TextAlignment = TextAlignment.Left;
            report.AddHeader("");
            report.AddHeader(Resources.ClickLinksToExportData);
            report.AddHeader("");
            report.AddLink(Resources.ExportSalesData);
            HandleLink(Resources.ExportSalesData);

            return(report.Document);
        }
示例#8
0
        protected override FlowDocument GetReport()
        {
            var report = new SimpleReport("8cm");
            AddDefaultReportHeader(report, ReportContext.CurrentWorkPeriod, Resources.CostReport);

            var costItems = ReportContext.PeriodicConsumptions.SelectMany(x => x.CostItems)
                .GroupBy(x => new { ItemName = x.Name, PortionName = x.Portion.Name })
                .Select(x => new { x.Key.ItemName, x.Key.PortionName, TotalQuantity = x.Sum(y => y.Quantity), TotalCost = x.Sum(y => y.Cost * y.Quantity) });

            if (costItems.Count() > 0)
            {
                report.AddColumTextAlignment("Maliyet", TextAlignment.Left, TextAlignment.Left, TextAlignment.Right, TextAlignment.Right);
                report.AddColumnLength("Maliyet", "38*", "20*", "17*", "25*");
                report.AddTable("Maliyet", Resources.MenuItem, Resources.Portion, Resources.Quantity, Resources.AverageCost);

                foreach (var costItem in costItems)
                {
                    report.AddRow("Maliyet",
                        costItem.ItemName,
                        costItem.PortionName,
                        costItem.TotalQuantity.ToString("#,#0.##"),
                        (costItem.TotalCost / costItem.TotalQuantity).ToString(ReportContext.CurrencyFormat));
                }

                report.AddRow("Maliyet", Resources.Total, "", "", costItems.Sum(x => x.TotalCost).ToString(ReportContext.CurrencyFormat));
            }
            else report.AddHeader(Resources.ThereAreNoCostTransactionsInThisPeriod);

            return report.Document;
        }
        protected override FlowDocument GetReport()
        {
            var report = new SimpleReport("8cm");

            AddDefaultReportHeader(report, ReportContext.CurrentWorkPeriod, Resources.CostReport);

            var costItems = ReportContext.PeriodicConsumptions.SelectMany(x => x.WarehouseConsumptions).SelectMany(x => x.CostItems)
                            .GroupBy(x => new { ItemName = x.Name, x.PortionName })
                            .Select(x => new { x.Key.ItemName, x.Key.PortionName, TotalQuantity = x.Sum(y => y.Quantity), TotalCost = x.Sum(y => y.Cost * y.Quantity) }).ToList();

            if (costItems.Any())
            {
                report.AddColumTextAlignment("Maliyet", TextAlignment.Left, TextAlignment.Left, TextAlignment.Right, TextAlignment.Right);
                report.AddColumnLength("Maliyet", "38*", "20*", "17*", "25*");
                report.AddTable("Maliyet", Resources.MenuItem, Resources.Portion, Resources.Quantity, Resources.AverageCost);

                foreach (var costItem in costItems)
                {
                    report.AddRow("Maliyet",
                                  costItem.ItemName,
                                  costItem.PortionName,
                                  costItem.TotalQuantity.ToString("#,#0.##"),
                                  (costItem.TotalCost / costItem.TotalQuantity).ToString(ReportContext.CurrencyFormat));
                }

                report.AddRow("Maliyet", Resources.Total, "", "", costItems.Sum(x => x.TotalCost).ToString(ReportContext.CurrencyFormat));
            }
            else
            {
                report.AddHeader(Resources.ThereAreNoCostTransactionsInThisPeriod);
            }

            return(report.Document);
        }
示例#10
0
        public void AddDefaultReportHeader(SimpleReport report, WorkPeriod workPeriod, string caption)
        {
            var userInfo = _settingService.ProgramSettings.UserInfo;

            report.AddHeader(!string.IsNullOrEmpty(userInfo) ? userInfo : "MagentixPOS");
            report.AddHeader(caption);
            if (workPeriod.EndDate > workPeriod.StartDate)
            {
                report.AddHeader(workPeriod.StartDate.ToString("dd MMMM yyyy HH:mm") +
                                 " - " + workPeriod.EndDate.ToString("dd MMMM yyyy HH:mm"));
            }
            else
            {
                report.AddHeader(workPeriod.StartDate.ToString("dd MMMM yyyy HH:mm") +
                                 " - " + DateTime.Now.ToString("dd MMMM yyyy HH:mm"));
            }
        }
        public FlowDocument CreateReport(string reportHeader, bool?returnReceivables, bool selectInternalAccounts)
        {
            var report = new SimpleReport("8cm");

            report.AddHeader("Samba POS");
            report.AddHeader(reportHeader);
            report.AddHeader(string.Format(Resources.As_f, DateTime.Now));

            var accounts = GetBalancedAccounts(selectInternalAccounts).ToList();

            if (returnReceivables != null)
            {
                accounts = returnReceivables.GetValueOrDefault(false) ?
                           accounts.Where(x => x.Amount < 0).ToList() :
                           accounts.Where(x => x.Amount > 0).ToList();
            }

            report.AddColumTextAlignment("Tablo", TextAlignment.Left, TextAlignment.Left, TextAlignment.Right);
            report.AddColumnLength("Tablo", "35*", "35*", "30*");


            if (accounts.Any())
            {
                report.AddTable("Tablo", Resources.Accounts, "", "");

                var total = 0m;
                foreach (var account in accounts)
                {
                    total += Math.Abs(account.Amount);
                    report.AddRow("Tablo", account.PhoneNumber, account.AccountName, Math.Abs(account.Amount).ToString(ReportContext.CurrencyFormat));
                }
                report.AddRow("Tablo", Resources.GrandTotal, "", total.ToString(ReportContext.CurrencyFormat));
            }
            else
            {
                report.AddHeader(string.Format(Resources.NoTransactionsFoundFor_f, reportHeader));
            }

            return(report.Document);
        }
        protected override FlowDocument GetReport()
        {
            var report = new SimpleReport("8cm");

            report.AddHeader("Magentix POS");
            report.AddHeader(Resources.InventoryReport);
            report.AddHeader(string.Format(Resources.As_f, DateTime.Now));

            var lastPeriodicConsumption = ReportContext.GetCurrentPeriodicConsumption();

            foreach (var warehouseConsumption in lastPeriodicConsumption.WarehouseConsumptions.OrderBy(GetWarehouseOrder))
            {
                if (warehouseConsumption.PeriodicConsumptionItems.Any())
                {
                    var warehouse =
                        _cacheService.GetWarehouses().SingleOrDefault(x => x.Id == warehouseConsumption.WarehouseId) ??
                        Warehouse.Undefined;

                    var inventoryTableSlug = "InventoryTable_" + warehouseConsumption.WarehouseId;

                    report.AddColumTextAlignment(inventoryTableSlug, TextAlignment.Left, TextAlignment.Left, TextAlignment.Right);
                    report.AddColumnLength(inventoryTableSlug, "5*", "*", "*");
                    report.AddTable(inventoryTableSlug, warehouse.Name, "", "");

                    foreach (var periodicConsumptionItem in warehouseConsumption.PeriodicConsumptionItems)
                    {
                        report.AddRow(inventoryTableSlug,
                                      periodicConsumptionItem.InventoryItemName,
                                      periodicConsumptionItem.UnitName,
                                      periodicConsumptionItem.GetPhysicalInventory().ToString(LocalSettings.ReportQuantityFormat));
                    }
                }
            }

            return(report.Document);
        }
示例#13
0
 public void AddDefaultReportHeader(SimpleReport report, WorkPeriod workPeriod, string caption)
 {
     var userInfo = _settingService.ProgramSettings.UserInfo;
     report.AddHeader(!string.IsNullOrEmpty(userInfo) ? userInfo : "SambaPOS");
     report.AddHeader(caption);
     if (workPeriod.EndDate > workPeriod.StartDate)
         report.AddHeader(workPeriod.StartDate.ToString("dd MMMM yyyy HH:mm") +
             " - " + workPeriod.EndDate.ToString("dd MMMM yyyy HH:mm"));
     else
     {
         report.AddHeader(workPeriod.StartDate.ToString("dd MMMM yyyy HH:mm") +
         " - " + DateTime.Now.ToString("dd MMMM yyyy HH:mm"));
     }
 }
示例#14
0
        protected override FlowDocument GetReport()
        {
            var report = new SimpleReport("8cm");
            AddDefaultReportHeader(report, ReportContext.CurrentWorkPeriod, Resources.CashReport);

            if (ReportContext.CurrentWorkPeriod.Id == 0)
            {
                report.AddHeader(" ");
                report.AddHeader(Resources.DateRangeIsNotActiveWorkPeriod);
                report.AddHeader(Resources.ReportDoesNotContainsCashState);
            }

            var cashExpenseTotal = ReportContext.CashTransactions
                .Where(x => x.PaymentType == (int)PaymentType.Cash && x.TransactionType == (int)TransactionType.Expense)
                .Sum(x => x.Amount);
            var creditCardExpenseTotal = ReportContext.CashTransactions
                .Where(x => x.PaymentType == (int)PaymentType.CreditCard && x.TransactionType == (int)TransactionType.Expense)
                .Sum(x => x.Amount);
            var ticketExpenseTotal = ReportContext.CashTransactions
               .Where(x => x.PaymentType == (int)PaymentType.Ticket && x.TransactionType == (int)TransactionType.Expense)
               .Sum(x => x.Amount);

            var cashIncomeTotal = ReportContext.CashTransactions
                .Where(x => x.PaymentType == (int)PaymentType.Cash && x.TransactionType == (int)TransactionType.Income)
                .Sum(x => x.Amount);
            var ticketIncomeTotal = ReportContext.CashTransactions
                .Where(x => x.PaymentType == (int)PaymentType.Ticket && x.TransactionType == (int)TransactionType.Income)
                .Sum(x => x.Amount);
            var creditCardIncomeTotal = ReportContext.CashTransactions
                .Where(x => x.PaymentType == (int)PaymentType.CreditCard && x.TransactionType == (int)TransactionType.Income)
                .Sum(x => x.Amount);


            var expenseTransactions =
                 ReportContext.CashTransactions.Where(x => x.TransactionType == (int)TransactionType.Expense);

            if (expenseTransactions.Count() > 0)
            {
                report.AddColumTextAlignment("Gider", TextAlignment.Left, TextAlignment.Left, TextAlignment.Right);
                report.AddColumnLength("Gider", "15*", "Auto", "25*");
                report.AddTable("Gider", Resources.Expenses, "", "");

                report.AddBoldRow("Gider", Resources.CashTransactions.ToUpper(), "", "");
                foreach (var cashTransaction in expenseTransactions)
                {
                    report.AddRow("Gider", GetPaymentString(cashTransaction.PaymentType),
                        Fct(cashTransaction), Fs(cashTransaction.Amount));
                }

                report.AddBoldRow("Gider", Resources.Totals.ToUpper(), "", "");
                report.AddRow("Gider", GetPaymentString(0), Resources.TotalExpense, Fs(cashExpenseTotal));
                report.AddRow("Gider", GetPaymentString(1), Resources.TotalExpense, Fs(creditCardExpenseTotal));
                report.AddRow("Gider", GetPaymentString(2), Resources.TotalExpense, Fs(ticketExpenseTotal));
                report.AddRow("Gider", Resources.GrandTotal.ToUpper(), "", Fs(cashExpenseTotal + creditCardExpenseTotal + ticketExpenseTotal));

            }


            var ac = ReportContext.GetOperationalAmountCalculator();

            report.AddColumTextAlignment("Gelir", TextAlignment.Left, TextAlignment.Left, TextAlignment.Right);
            report.AddColumnLength("Gelir", "15*", "Auto", "25*");
            report.AddTable("Gelir", Resources.Incomes, "", "");

            if (ReportContext.CurrentWorkPeriod.Id > 0) //devreden rakamları aktif çalışma dönemlerinden biri seçildiyse çalışır
            {
                var total = ReportContext.CurrentWorkPeriod.CashAmount
                            + ReportContext.CurrentWorkPeriod.CreditCardAmount
                            + ReportContext.CurrentWorkPeriod.TicketAmount;
                if (total > 0)
                {
                    report.AddBoldRow("Gelir", Resources.StartAmount.ToUpper(), "", "");
                    if (ReportContext.CurrentWorkPeriod.CashAmount > 0)
                        report.AddRow("Gelir", GetPaymentString(0) + " " + Resources.StartAmount, "", Fs(ReportContext.CurrentWorkPeriod.CashAmount));
                    if (ReportContext.CurrentWorkPeriod.CreditCardAmount > 0)
                        report.AddRow("Gelir", GetPaymentString(1) + " " + Resources.StartAmount, "", Fs(ReportContext.CurrentWorkPeriod.CreditCardAmount));
                    if (ReportContext.CurrentWorkPeriod.TicketAmount > 0)
                        report.AddRow("Gelir", GetPaymentString(2) + " " + Resources.StartAmount, "", Fs(ReportContext.CurrentWorkPeriod.TicketAmount));
                    report.AddRow("Gelir", Resources.Total.ToUpper(), "", Fs(total));
                }
            }


            var incomeTransactions =
                ReportContext.CashTransactions.Where(x => x.TransactionType == (int)TransactionType.Income);

            if (incomeTransactions.Count() > 0)
            {
                report.AddBoldRow("Gelir", Resources.SalesIncome.ToUpper(), "", "");
                if (ac.CashTotal > 0)
                    report.AddRow("Gelir", GetPaymentString(0) + " " + Resources.SalesIncome, "", Fs(ac.CashTotal));
                if (ac.CreditCardTotal > 0)
                    report.AddRow("Gelir", GetPaymentString(1) + " " + Resources.SalesIncome, "", Fs(ac.CreditCardTotal));
                if (ac.TicketTotal > 0)
                    report.AddRow("Gelir", GetPaymentString(2) + " " + Resources.SalesIncome, "", Fs(ac.TicketTotal));

                report.AddRow("Gelir", Resources.Total.ToUpper(), "", Fs(ac.CashTotal
                                                               + ac.CreditCardTotal
                                                               + ac.TicketTotal));


                report.AddBoldRow("Gelir", Resources.CashTransactions.ToUpper(), "", "");
                var it = 0m;
                foreach (var cashTransaction in incomeTransactions)
                {
                    it += cashTransaction.Amount;
                    report.AddRow("Gelir", GetPaymentString(cashTransaction.PaymentType),
                        Fct(cashTransaction),
                        Fs(cashTransaction.Amount));
                }

                report.AddRow("Gelir", Resources.Total.ToUpper(), "", Fs(it));
            }

            var totalCashIncome = cashIncomeTotal + ac.CashTotal + ReportContext.CurrentWorkPeriod.CashAmount;
            var totalCreditCardIncome = creditCardIncomeTotal + ac.CreditCardTotal + ReportContext.CurrentWorkPeriod.CreditCardAmount;
            var totalTicketIncome = ticketIncomeTotal + ac.TicketTotal + ReportContext.CurrentWorkPeriod.TicketAmount;

            report.AddBoldRow("Gelir", Resources.Income.ToUpper() + " " + Resources.Totals.ToUpper(), "", "");
            report.AddRow("Gelir", GetPaymentString(0), Resources.TotalIncome, Fs(totalCashIncome));
            report.AddRow("Gelir", GetPaymentString(1), Resources.TotalIncome, Fs(totalCreditCardIncome));
            report.AddRow("Gelir", GetPaymentString(2), Resources.TotalIncome, Fs(totalTicketIncome));
            report.AddRow("Gelir", Resources.GrandTotal.ToUpper(), "", Fs(totalCashIncome + totalCreditCardIncome + totalTicketIncome));

            //--------------------

            report.AddColumTextAlignment("Toplam", TextAlignment.Left, TextAlignment.Right);
            report.AddColumnLength("Toplam", "Auto", "25*");
            report.AddTable("Toplam", Resources.CashStatus, "");
            report.AddRow("Toplam", Resources.Cash, Fs(totalCashIncome - cashExpenseTotal));
            report.AddRow("Toplam", Resources.CreditCard, Fs(totalCreditCardIncome - creditCardExpenseTotal));
            report.AddRow("Toplam", Resources.Voucher, Fs(totalTicketIncome - ticketExpenseTotal));
            report.AddRow("Toplam", Resources.GrandTotal.ToUpper(),
                Fs((totalCashIncome - cashExpenseTotal) +
                (totalCreditCardIncome - creditCardExpenseTotal) +
                (totalTicketIncome - ticketExpenseTotal)));
            return report.Document;
        }
 public void AddDefaultReportHeader(SimpleReport report, WorkPeriod workPeriod, string caption)
 {
     report.AddHeader("Samba POS");
     report.AddHeader(caption);
     if (workPeriod.EndDate > workPeriod.StartDate)
         report.AddHeader(workPeriod.StartDate.ToString("dd MMMM yyyy HH:mm") +
             " - " + workPeriod.EndDate.ToString("dd MMMM yyyy HH:mm"));
     else
     {
         report.AddHeader(workPeriod.StartDate.ToString("dd MMMM yyyy HH:mm") +
         " - " + DateTime.Now.ToString("dd MMMM yyyy HH:mm"));
     }
 }
示例#16
0
        protected override FlowDocument GetReport()
        {
            var report = new SimpleReport("8cm");

            AddDefaultReportHeader(report, ReportContext.CurrentWorkPeriod, Resources.CashReport);

            if (ReportContext.CurrentWorkPeriod.Id == 0)
            {
                report.AddHeader(" ");
                report.AddHeader(Resources.DateRangeIsNotActiveWorkPeriod);
                report.AddHeader(Resources.ReportDoesNotContainsCashState);
            }

            var cashExpenseTotal = ReportContext.CashTransactions
                                   .Where(x => x.PaymentType == (int)PaymentType.Cash && x.TransactionType == (int)TransactionType.Expense)
                                   .Sum(x => x.Amount);
            var creditCardExpenseTotal = ReportContext.CashTransactions
                                         .Where(x => x.PaymentType == (int)PaymentType.CreditCard && x.TransactionType == (int)TransactionType.Expense)
                                         .Sum(x => x.Amount);
            var ticketExpenseTotal = ReportContext.CashTransactions
                                     .Where(x => x.PaymentType == (int)PaymentType.Ticket && x.TransactionType == (int)TransactionType.Expense)
                                     .Sum(x => x.Amount);

            var cashIncomeTotal = ReportContext.CashTransactions
                                  .Where(x => x.PaymentType == (int)PaymentType.Cash && x.TransactionType == (int)TransactionType.Income)
                                  .Sum(x => x.Amount);
            var ticketIncomeTotal = ReportContext.CashTransactions
                                    .Where(x => x.PaymentType == (int)PaymentType.Ticket && x.TransactionType == (int)TransactionType.Income)
                                    .Sum(x => x.Amount);
            var creditCardIncomeTotal = ReportContext.CashTransactions
                                        .Where(x => x.PaymentType == (int)PaymentType.CreditCard && x.TransactionType == (int)TransactionType.Income)
                                        .Sum(x => x.Amount);


            var expenseTransactions =
                ReportContext.CashTransactions.Where(x => x.TransactionType == (int)TransactionType.Expense);

            if (expenseTransactions.Count() > 0)
            {
                report.AddColumTextAlignment("Gider", TextAlignment.Left, TextAlignment.Left, TextAlignment.Right);
                report.AddColumnLength("Gider", "15*", "Auto", "25*");
                report.AddTable("Gider", Resources.Expenses, "", "");

                report.AddBoldRow("Gider", Resources.CashTransactions.ToUpper(), "", "");
                foreach (var cashTransaction in expenseTransactions)
                {
                    report.AddRow("Gider", GetPaymentString(cashTransaction.PaymentType),
                                  Fct(cashTransaction), Fs(cashTransaction.Amount));
                }

                report.AddBoldRow("Gider", Resources.Totals.ToUpper(), "", "");
                report.AddRow("Gider", GetPaymentString(0), Resources.TotalExpense, Fs(cashExpenseTotal));
                report.AddRow("Gider", GetPaymentString(1), Resources.TotalExpense, Fs(creditCardExpenseTotal));
                report.AddRow("Gider", GetPaymentString(2), Resources.TotalExpense, Fs(ticketExpenseTotal));
                report.AddRow("Gider", Resources.GrandTotal.ToUpper(), "", Fs(cashExpenseTotal + creditCardExpenseTotal + ticketExpenseTotal));
            }


            var ac = ReportContext.GetOperationalAmountCalculator();

            report.AddColumTextAlignment("Gelir", TextAlignment.Left, TextAlignment.Left, TextAlignment.Right);
            report.AddColumnLength("Gelir", "15*", "Auto", "25*");
            report.AddTable("Gelir", Resources.Incomes, "", "");

            if (ReportContext.CurrentWorkPeriod.Id > 0) //devreden rakamları aktif çalışma dönemlerinden biri seçildiyse çalışır
            {
                var total = ReportContext.CurrentWorkPeriod.CashAmount
                            + ReportContext.CurrentWorkPeriod.CreditCardAmount
                            + ReportContext.CurrentWorkPeriod.TicketAmount;
                if (total > 0)
                {
                    report.AddBoldRow("Gelir", Resources.StartAmount.ToUpper(), "", "");
                    if (ReportContext.CurrentWorkPeriod.CashAmount > 0)
                    {
                        report.AddRow("Gelir", GetPaymentString(0) + " " + Resources.StartAmount, "", Fs(ReportContext.CurrentWorkPeriod.CashAmount));
                    }
                    if (ReportContext.CurrentWorkPeriod.CreditCardAmount > 0)
                    {
                        report.AddRow("Gelir", GetPaymentString(1) + " " + Resources.StartAmount, "", Fs(ReportContext.CurrentWorkPeriod.CreditCardAmount));
                    }
                    if (ReportContext.CurrentWorkPeriod.TicketAmount > 0)
                    {
                        report.AddRow("Gelir", GetPaymentString(2) + " " + Resources.StartAmount, "", Fs(ReportContext.CurrentWorkPeriod.TicketAmount));
                    }
                    report.AddRow("Gelir", Resources.Total.ToUpper(), "", Fs(total));
                }
            }


            var incomeTransactions =
                ReportContext.CashTransactions.Where(x => x.TransactionType == (int)TransactionType.Income);

            if (incomeTransactions.Count() > 0)
            {
                report.AddBoldRow("Gelir", Resources.SalesIncome.ToUpper(), "", "");
                if (ac.CashTotal > 0)
                {
                    report.AddRow("Gelir", GetPaymentString(0) + " " + Resources.SalesIncome, "", Fs(ac.CashTotal));
                }
                if (ac.CreditCardTotal > 0)
                {
                    report.AddRow("Gelir", GetPaymentString(1) + " " + Resources.SalesIncome, "", Fs(ac.CreditCardTotal));
                }
                if (ac.TicketTotal > 0)
                {
                    report.AddRow("Gelir", GetPaymentString(2) + " " + Resources.SalesIncome, "", Fs(ac.TicketTotal));
                }

                report.AddRow("Gelir", Resources.Total.ToUpper(), "", Fs(ac.CashTotal
                                                                         + ac.CreditCardTotal
                                                                         + ac.TicketTotal));


                report.AddBoldRow("Gelir", Resources.CashTransactions.ToUpper(), "", "");
                var it = 0m;
                foreach (var cashTransaction in incomeTransactions)
                {
                    it += cashTransaction.Amount;
                    report.AddRow("Gelir", GetPaymentString(cashTransaction.PaymentType),
                                  Fct(cashTransaction),
                                  Fs(cashTransaction.Amount));
                }

                report.AddRow("Gelir", Resources.Total.ToUpper(), "", Fs(it));
            }

            var totalCashIncome       = cashIncomeTotal + ac.CashTotal + ReportContext.CurrentWorkPeriod.CashAmount;
            var totalCreditCardIncome = creditCardIncomeTotal + ac.CreditCardTotal + ReportContext.CurrentWorkPeriod.CreditCardAmount;
            var totalTicketIncome     = ticketIncomeTotal + ac.TicketTotal + ReportContext.CurrentWorkPeriod.TicketAmount;

            report.AddBoldRow("Gelir", Resources.Income.ToUpper() + " " + Resources.Totals.ToUpper(), "", "");
            report.AddRow("Gelir", GetPaymentString(0), Resources.TotalIncome, Fs(totalCashIncome));
            report.AddRow("Gelir", GetPaymentString(1), Resources.TotalIncome, Fs(totalCreditCardIncome));
            report.AddRow("Gelir", GetPaymentString(2), Resources.TotalIncome, Fs(totalTicketIncome));
            report.AddRow("Gelir", Resources.GrandTotal.ToUpper(), "", Fs(totalCashIncome + totalCreditCardIncome + totalTicketIncome));

            //--------------------

            report.AddColumTextAlignment("Toplam", TextAlignment.Left, TextAlignment.Right);
            report.AddColumnLength("Toplam", "Auto", "25*");
            report.AddTable("Toplam", Resources.CashStatus, "");
            report.AddRow("Toplam", Resources.Cash, Fs(totalCashIncome - cashExpenseTotal));
            report.AddRow("Toplam", Resources.CreditCard, Fs(totalCreditCardIncome - creditCardExpenseTotal));
            report.AddRow("Toplam", Resources.Voucher, Fs(totalTicketIncome - ticketExpenseTotal));
            report.AddRow("Toplam", Resources.GrandTotal.ToUpper(),
                          Fs((totalCashIncome - cashExpenseTotal) +
                             (totalCreditCardIncome - creditCardExpenseTotal) +
                             (totalTicketIncome - ticketExpenseTotal)));
            return(report.Document);
        }
示例#17
0
        public void AddDefaultReportHeader(SimpleReport report, WorkPeriod workPeriod, string caption)
        {
            report.AddHeader("Vero");
            report.AddHeader(caption);
            if (workPeriod.EndDate > workPeriod.StartDate)
                report.AddHeader(workPeriod.StartDate.ToString("dd MMMM yyyy HH:mm") +
                    " - " + workPeriod.EndDate.ToString("dd MMMM yyyy HH:mm"));
            else
            {
                report.AddHeader(workPeriod.StartDate.ToString("dd MMMM yyyy HH:mm") +
                " - " + DateTime.Now.ToString("dd MMMM yyyy HH:mm"));
            }

            if (!string.IsNullOrEmpty(workPeriod.Description))
                report.AddHeader(workPeriod.Description);
        }