Exemple #1
0
        private void Refresh()
        {
            Income.Clear();
            Outcome.Clear();
            UnpaidIncome.Clear();
            UnpaidOutcome.Clear();

            var queryTransactions = ContextManager.Context.dTransactions.Where(
                p => p.Date >= _filterFrom && p.Date <= _filterTo &&
                p.Description != "Внутренний перевод");

            foreach (var transaction in queryTransactions)
            {
                if (transaction.Sum > 0)
                {
                    Income.Add(transaction);
                }
                else
                {
                    Outcome.Add(transaction);
                }
            }

            var querySales = ContextManager.Context.Sales.Where(
                p => p.Date >= _filterFrom && p.Date <= _filterTo && p.Paid == false);

            foreach (var sale in querySales)
            {
                double sum = sale.SaleDetailsCoffee.Sum(detailCoffee => detailCoffee.Price * detailCoffee.Quantity) +
                             sale.SaleDetailsProducts.Sum(detailProduct => detailProduct.Price * detailProduct.Quantity);

                UnpaidIncome.Add(new unpaidOperation
                {
                    Date        = sale.Date,
                    Sum         = sum,
                    Description = "Неоплаченная продажа " + sale.Recipient.Name + " от " + sale.Date + " числа"
                });
            }

            var queryPurchases = ContextManager.Context.CoffeePurchases.Where(
                p => p.Date >= _filterFrom && p.Date <= _filterTo && p.Paid == false);

            foreach (var purchase in queryPurchases)
            {
                double sum = purchase.CoffeePurchaseDetails.Sum(detailCoffee => detailCoffee.Price * detailCoffee.Quantity);
                UnpaidOutcome.Add(new unpaidOperation
                {
                    Date        = purchase.Date,
                    Sum         = -sum,
                    Description = "Неоплаченная закупка кофе от " + purchase.Date + " числа"
                });
            }
        }