예제 #1
0
        public async Task <IViewComponentResult> InvokeAsync(bool payed, int?signal, DateTime?dueStartDate, DateTime?dueEndDate, string searchTerm, string model, string title, string cssCard)
        {
            var revenue = await _vrevenueServices.QueryAsync();


            revenue = revenue.Where(a => a.DueDate.HasValue == true);

            if (signal.HasValue)
            {
                revenue = revenue.Where(a => a.Signal == signal.Value);
            }

            if (dueStartDate.HasValue)
            {
                revenue = revenue.Where(a => a.DueDate.Value.Date >= dueStartDate.Value.Date);
            }

            if (dueEndDate.HasValue)
            {
                revenue = revenue.Where(a => a.DueDate.Value.Date <= dueEndDate.Value.Date);
            }

            if (!string.IsNullOrEmpty(searchTerm))
            {
                revenue = revenue.Where(a => a.Name.Contains(searchTerm));
            }


            CardFinancialModel data = ReturnDataModel(payed, model, title, cssCard, revenue);

            return(View(data));
        }
예제 #2
0
        public async Task <IViewComponentResult> InvokeAsync(bool payed, DateTime?dueStartDate, DateTime?dueEndDate, string searchTerm, string model, string title, string cssCard, decimal?initial)
        {
            var cashFlow = await _vCashFlowServices.QueryAsync(a => a.DuePayment.HasValue == false);


            if (dueStartDate.HasValue)
            {
                cashFlow = cashFlow.Where(a => a.DueDate.Value.Date >= dueStartDate.Value.Date);
            }

            if (dueEndDate.HasValue)
            {
                cashFlow = cashFlow.Where(a => a.DueDate.Value.Date <= dueEndDate.Value.Date);
            }

            if (!string.IsNullOrEmpty(searchTerm))
            {
                cashFlow = cashFlow.Where(a => a.Name.Contains(searchTerm) || a.Person.FirstName.Contains(searchTerm) || a.Person.LastName.Contains(searchTerm));
            }


            CardFinancialModel data = ReturnDataModel(model, title, cssCard, cashFlow, initial);

            return(View(data));
        }
예제 #3
0
        public async Task <IViewComponentResult> InvokeAsync(int time, string model, string title, string cssCard)
        {
            var revenue = await _vrevenueServices.QueryAsync(a => a.DuePayment.HasValue == false);

            CardFinancialModel data = ReturnDataModel(time, model, title, cssCard, revenue);

            return(View(data));
        }
예제 #4
0
        public async Task <IViewComponentResult> InvokeAsync(int time, int?AccountBankId, DateTime?refDate, string model, string title, string cssCard)
        {
            var banktrans = await _bankTransServices.QueryAsync(a => a.DueDate.HasValue == true);

            if (AccountBankId.HasValue)
            {
                banktrans = banktrans.Where(a => a.AccountBankId == AccountBankId.Value);
            }

            CardFinancialModel data = ReturnDataModel(time, model, refDate, title, cssCard, banktrans);

            return(View(data));
        }
예제 #5
0
        public async Task <IViewComponentResult> InvokeAsync(bool payed,
                                                             DateTime?dueStartDate, DateTime?
                                                             dueEndDate, string searchTerm,
                                                             string model,
                                                             string title,
                                                             string cssCard)
        {
            var expense = await _vexpenseServices.QueryAsync();

            if (payed)
            {
                expense = expense.Where(a => a.DuePayment.HasValue == true);


                if (dueStartDate.HasValue)
                {
                    expense = expense.Where(a => a.DuePayment.Value.Date >= dueStartDate.Value.Date);
                }

                if (dueEndDate.HasValue)
                {
                    expense = expense.Where(a => a.DuePayment.Value.Date <= dueEndDate.Value.Date);
                }
            }
            else
            {
                expense = expense.Where(a => a.DueDate.HasValue == true && a.DuePayment.HasValue == false);

                if (dueStartDate.HasValue)
                {
                    expense = expense.Where(a => a.DueDate.Value.Date >= dueStartDate.Value.Date);
                }

                if (dueEndDate.HasValue)
                {
                    expense = expense.Where(a => a.DueDate.Value.Date <= dueEndDate.Value.Date);
                }
            }



            if (!string.IsNullOrEmpty(searchTerm))
            {
                expense = expense.Where(a => a.Name.Contains(searchTerm) || a.Person.FirstName.Contains(searchTerm) || a.Person.LastName.Contains(searchTerm));
            }


            CardFinancialModel data = ReturnDataModel(payed, model, title, cssCard, expense);

            return(View(data));
        }
예제 #6
0
        public async Task <IViewComponentResult> InvokeAsync(bool payed, DateTime?dueStartDate, DateTime?dueEndDate, string searchTerm, string model, string title, string cssCard)
        {
            var revenue = await _vrevenueServices.QueryAsync();

            //var revenues =   _vrevenueServices.Query().Include(a => a.CategoryFinancial);
            //IQueryable<VRevenue> revenue = _query;



            if (payed)
            {
                revenue = revenue.Where(a => a.DuePayment.HasValue == true);

                if (dueStartDate.HasValue)
                {
                    revenue = revenue.Where(a => a.DuePayment.Value.Date >= dueStartDate.Value.Date);
                }

                if (dueEndDate.HasValue)
                {
                    revenue = revenue.Where(a => a.DuePayment.Value.Date <= dueEndDate.Value.Date);
                }
            }
            else
            {
                revenue = revenue.Where(a => a.DueDate.HasValue == true && a.DuePayment.HasValue == false);


                if (dueStartDate.HasValue)
                {
                    revenue = revenue.Where(a => a.DueDate.Value.Date >= dueStartDate.Value.Date);
                }

                if (dueEndDate.HasValue)
                {
                    revenue = revenue.Where(a => a.DueDate.Value.Date <= dueEndDate.Value.Date);
                }
            }


            if (!string.IsNullOrEmpty(searchTerm))
            {
                revenue = revenue.Where(a => a.Name.Contains(searchTerm) || a.Person.FirstName.Contains(searchTerm) || a.Person.LastName.Contains(searchTerm));
            }


            CardFinancialModel data = ReturnDataModel(payed, model, title, cssCard, revenue);

            return(View(data));
        }
예제 #7
0
        private static CardFinancialModel ReturnDataModel(bool payed, string model, string title, string cssCard, IQueryable <VRevenueTrans> revenue)
        {
            var data = new CardFinancialModel
            {
                Qty          = revenue.Count(),
                RevenueTrans = revenue.Include(a => a.CategoryFinancial),
                Amount       = revenue.Sum(a => a.Total),
                payed        = payed,
                HtmlModel    = model,
                title        = title,
                cssCard      = cssCard
            };


            return(data);
        }
예제 #8
0
        private static CardFinancialModel ReturnDataModel(bool payed, string model, string title, string cssCard, IQueryable <VExpense> expense)
        {
            var data = new CardFinancialModel
            {
                Qty       = expense.Count(),
                payed     = payed,
                HtmlModel = model,
                Expenses  = expense.Include(a => a.CategoryFinancial),
                Amount    = payed ? expense.Sum(a => a.Credit) : expense.Sum(a => a.AmountFinal),
                title     = title,
                cssCard   = cssCard
            };


            return(data);
        }
예제 #9
0
        private static CardFinancialModel ReturnDataModel(int time, string model, string title, string cssCard, IQueryable <VRevenue> revenue)
        {
            var now = System.DateTime.Now.Date;

            var data = new CardFinancialModel
            {
                Qty       = revenue.Count(),
                time      = time,
                HtmlModel = model,
                Revenues  = revenue.Include(a => a.CategoryFinancial),
                title     = title,
                cssCard   = cssCard
            };


            switch (time)
            {
            case 0:
                data.Amount = revenue.Where(a => a.DueDate.Value.Date < now).Sum(a => a.AmountFinal);
                break;

            case 1:
                data.Amount = revenue.Where(a => a.DueDate.Value.Date == now).Sum(a => a.AmountFinal);
                break;

            case 2:
                data.Amount = revenue.Where(a => a.DueDate.Value.Date > now).Sum(a => a.AmountFinal);
                break;

            case 3:
                data.Amount = revenue.Where(a => a.DueDate.HasValue).Sum(a => a.AmountFinal);
                break;

            case 4:
                data.Amount = revenue.Where(a => a.DueDate.HasValue == false).Sum(a => a.AmountFinal);
                break;

            default:
                data.Amount = revenue.Sum(a => a.AmountFinal);
                break;
            }

            return(data);
        }
예제 #10
0
        private static CardFinancialModel ReturnDataModel(string model, string title, string cssCard, IQueryable <BankTrans> bankTrans)
        {
            decimal creditAll   = bankTrans.Where(a => a.Signal == 1).Select(a => a.Total).DefaultIfEmpty(0).Sum();
            decimal debitAll    = bankTrans.Where(a => a.Signal == 2).Select(a => a.Total).DefaultIfEmpty(0).Sum();
            decimal AmountTotal = creditAll - debitAll;
            var     data        = new CardFinancialModel
            {
                Qty       = bankTrans.Count(),
                HtmlModel = model,
                BankTrans = bankTrans.Include(a => a.CategoryFinancial),
                title     = title,
                cssCard   = cssCard,
                Amount    = AmountTotal
            };



            return(data);
        }
예제 #11
0
        private static CardFinancialModel ReturnDataModel(int time, string model, DateTime?_now, string title, string cssCard, IQueryable <BankTrans> bankTrans)
        {
            DateTime now = _now.HasValue ? _now.Value.Date : System.DateTime.Now.Date;

            var data = new CardFinancialModel
            {
                Qty       = bankTrans.Count(),
                time      = time,
                HtmlModel = model,
                BankTrans = bankTrans.Include(a => a.CategoryFinancial),
                title     = title,
                cssCard   = cssCard
            };



            switch (time)
            {
            case 0:
                decimal creditBeforeDate = bankTrans.Where(a => a.DueDate.Value.Date < now && a.Signal == 1).Select(a => a.Total).DefaultIfEmpty(0).Sum();
                decimal debitBeforeDate  = bankTrans.Where(a => a.DueDate.Value.Date < now && a.Signal == 2).Select(a => a.Total).DefaultIfEmpty(0).Sum();
                decimal AmountBefore     = creditBeforeDate - debitBeforeDate;
                data.Amount = AmountBefore;
                break;

            case 1:
                decimal creditAll   = bankTrans.Where(a => a.Signal == 1).Select(a => a.Total).DefaultIfEmpty(0).Sum();
                decimal debitAll    = bankTrans.Where(a => a.Signal == 2).Select(a => a.Total).DefaultIfEmpty(0).Sum();
                decimal AmountTotal = creditAll - debitAll;
                data.Amount = AmountTotal;
                break;

            default:
                decimal creditAlls   = bankTrans.Where(a => a.Signal == 1).Select(a => a.Total).DefaultIfEmpty(0).Sum();
                decimal debitAlls    = bankTrans.Where(a => a.Signal == 2).Select(a => a.Total).DefaultIfEmpty(0).Sum();
                decimal AmountTotals = creditAlls - debitAlls;
                data.Amount = AmountTotals;
                break;
            }

            return(data);
        }
예제 #12
0
        private static CardFinancialModel ReturnDataModel(string model, string title, string cssCard, IQueryable <VCashFlow> cashFlow, decimal?initial)
        {
            decimal creditAll   = cashFlow.Where(a => a.Tp == "R").Select(a => a.Total).DefaultIfEmpty(0).Sum();
            decimal debitAll    = cashFlow.Where(a => a.Tp == "E").Select(a => a.Total).DefaultIfEmpty(0).Sum();
            decimal AmountTotal = creditAll - debitAll;


            var data = new CardFinancialModel
            {
                Qty       = cashFlow.Count(),
                HtmlModel = model,
                CashFlows = cashFlow.Include(a => a.CategoryFinancial),
                Amount    = AmountTotal,
                initial   = initial,
                title     = title,
                cssCard   = cssCard
            };


            return(data);
        }
예제 #13
0
        public async Task <IViewComponentResult> InvokeAsync(bool payed, int?signal, DateTime?dueStartDate, DateTime?dueEndDate, string searchTerm, int?AccountBankId, string model, string title, string cssCard)
        {
            var banktrans = await _bankTransServices.QueryAsync();

            if (!payed)
            {
                banktrans = banktrans.Where(a => a.DueDate.HasValue == false);
            }

            if (signal.HasValue)
            {
                banktrans = banktrans.Where(a => a.Signal == signal.Value);
            }

            if (AccountBankId.HasValue)
            {
                banktrans = banktrans.Where(a => a.AccountBankId == AccountBankId.Value);
            }

            if (dueStartDate.HasValue)
            {
                banktrans = banktrans.Where(a => a.DueDate.Value.Date >= dueStartDate.Value.Date);
            }

            if (dueEndDate.HasValue)
            {
                banktrans = banktrans.Where(a => a.DueDate.Value.Date <= dueEndDate.Value.Date);
            }

            if (!string.IsNullOrEmpty(searchTerm))
            {
                banktrans = banktrans.Where(a => a.Description.Contains(searchTerm) || a.MidleDesc.Contains(searchTerm));
            }



            CardFinancialModel data = ReturnDataModel(model, title, cssCard, banktrans);

            return(View(data));
        }