コード例 #1
0
        /// <summary>
        /// Este metodo consulta a la base de datos las transacciones segun el arbol de ruta especificado
        /// </summary>
        private void ReloadTransactions()
        {
            Transactions.Clear();
            Deposits = 0m;
            Egress   = 0m;
            Balance  = 0m;
            UpdateParameters();            //Con el objetivo de utilizar datos actualizados

            //Este es el primer filtro, con esto evito estar repitiendo codigo por todas partes
            if (categoriesSelected.Count == 0)
            {
                Deposits = generalDeposit;
                Egress   = generalEgress;
                Balance  = generalBalance;
            }
            else if (firtsTransactionDate.HasValue)
            {
                List <CashboxTransaction> temporalList = new List <CashboxTransaction>();
                DateTime since = firtsTransactionDate.Value;
                DateTime until = lastTransactionDate.Value;

                if (DefinedPeriod)
                {
                    if (SinceDateSelected.HasValue && UntilDateSelected.HasValue)
                    {
                        since = SinceDateSelected.Value;
                        until = UntilDateSelected.Value;
                    }
                    else if (SinceDateSelected.HasValue && !UntilDateSelected.HasValue)
                    {
                        since = SinceDateSelected.Value;
                    }
                    else if (!SinceDateSelected.HasValue && UntilDateSelected.HasValue)
                    {
                        until = UntilDateSelected.Value;
                    }
                }

                temporalList = BDComun.RecoverTransaction(categoriesSelected, since, until);

                foreach (CashboxTransaction t in temporalList)
                {
                    if (t.Amount > 0)
                    {
                        Deposits += t.Amount;
                    }
                    else
                    {
                        Egress += Math.Abs(t.Amount);
                    }

                    Balance += t.Amount;

                    Transactions.Add(t);
                }
            }

            UpdateReports();
        }