public ActionResult VisualizarEmprestimosPorPeriodo(EmprestimoPesquisa emprestimoPesquisa)
        {
            List <Emprestimo> emprestimos = new List <Emprestimo>();

            try
            {
                if (emprestimoPesquisa.DataFim < emprestimoPesquisa.DataInicio)
                {
                    ModelState.AddModelError("DataFim", "A data final nao pode ser maior que a data inicial.");
                }

                if (ModelState.IsValid)
                {
                    IEmprestimoProcesso processo = EmprestimoProcesso.Instance;
                    emprestimos             = processo.ConsultarEmprestimosPorPeriodo(emprestimoPesquisa.DataInicio, emprestimoPesquisa.DataFim);
                    ViewData["emprestimos"] = emprestimos;
                    ViewData.Model          = emprestimoPesquisa;
                    return(View(emprestimoPesquisa));
                }
                else
                {
                    ViewData["emprestimos"] = emprestimos;
                    return(View(emprestimoPesquisa));
                }
            }
            catch (Exception e)
            {
                ViewData["emprestimos"] = emprestimos;
                return(View(emprestimoPesquisa));
            }
        }
        public ActionResult IncluirPrestacaoConta(FormCollection form)
        {
            IPrestacaoContaProcesso processo       = PrestacaoContaProcesso.Instance;
            PrestacaoConta          prestacaoConta = new PrestacaoConta();

            #region Despesas
            IDespesaProcesso despesaProcesso = DespesaProcesso.Instance;
            Despesa          despesa         = new Despesa();
            despesa.area_id = ClasseAuxiliar.AreaSelecionada.id;
            despesa.data    = ClasseAuxiliar.DataSelecionada;

            List <Despesa> despesas = despesaProcesso.Consultar(despesa, TipoPesquisa.E);
            ViewData["despesas"] = despesas;
            #endregion

            #region Emprestimo
            IEmprestimoProcesso emprestimoProcesso = EmprestimoProcesso.Instance;
            Emprestimo          emp = new Emprestimo();
            emp.area_id         = ClasseAuxiliar.AreaSelecionada.id;
            emp.data_emprestimo = ClasseAuxiliar.DataSelecionada;

            ViewData["emprestimos"] = emprestimoProcesso.Consultar(emp, TipoPesquisa.E);
            #endregion

            #region Peguei com a empresa
            ILancamentoProcesso lancamentoProcesso = LancamentoProcesso.Instance;
            Lancamento          lanc = new Lancamento();
            lanc.area_id           = ClasseAuxiliar.AreaSelecionada.id;
            lanc.data              = ClasseAuxiliar.DataSelecionada;
            lanc.lancamentotipo_id = 5;
            List <Lancamento> lancamentos = lancamentoProcesso.Consultar(lanc, TipoPesquisa.E);
            ViewData["lancamentos"] = lancamentos;
            #endregion

            IParcelaProcesso parcelaProcesso = ParcelaProcesso.Instance;
            List <Parcela>   parcelas        = parcelaProcesso.ConsultarParcelasPagasPorPeriodo(ClasseAuxiliar.DataSelecionada, default(DateTime));

            float totalParcelas    = 0;
            float totalLancamentos = 0;
            float totalEmprestimos = 0;
            float totalDespesas    = 0;
            foreach (var item in lancamentos)
            {
                totalLancamentos += item.valor;
            }
            foreach (var item in parcelas)
            {
                totalParcelas += item.valor_pago.Value;
            }

            List <Emprestimo> emprestimos = emprestimoProcesso.ConsultarEmprestimosPorPeriodo(ClasseAuxiliar.DataSelecionada, ClasseAuxiliar.DataSelecionada);

            foreach (var item in emprestimos)
            {
                totalEmprestimos += item.valor;
            }

            foreach (var item in despesas)
            {
                totalDespesas += item.valor;
            }

            ViewData["totalParcelas"]    = totalParcelas;
            ViewData["totalEmprestimos"] = totalEmprestimos;
            ViewData["totalLancamentos"] = totalLancamentos;
            ViewData["totalDespesas"]    = totalDespesas;
            // ViewData.Model = prestacaoConta;

            try
            {
                prestacaoConta.dataprestacao = ClasseAuxiliar.DataSelecionada;
                prestacaoConta.area_id       = ClasseAuxiliar.AreaSelecionada.id;
                //prestacaoConta.timeCreated = DateTime.Now;
                //prestacaoConta.timeUpdated= DateTime.Now;
                prestacaoConta.totaldespesas = totalDespesas;
                prestacaoConta.usuario_id    = ClasseAuxiliar.UsuarioLogado.id;
                prestacaoConta.valorsaida    = totalEmprestimos;
                prestacaoConta.valorrecebido = totalLancamentos + totalParcelas;
                processo.Incluir(prestacaoConta);
                processo.Confirmar();
                //  return RedirectToAction("Index");
            }
            catch
            {
                // ViewData["Mensagem"] = "O registro não pode ser excluído pois já está sendo utilizado.";
                // ViewData.Model = processo.Consultar(prestacaoConta, SiteMVCTelerik.ModuloBasico.Enums.TipoPesquisa.E)[0]; ;
                // return View();
            }

            return(View());
        }
        public ActionResult VisualizarPrestacaoConta(int id)
        {
            if (ClasseAuxiliar.UsuarioLogado == null || (ClasseAuxiliar.DataSelecionada == default(DateTime) || ClasseAuxiliar.AreaSelecionada == null))
            {
                return(RedirectToAction("Index", "Home"));
            }

            IPrestacaoContaProcesso processo  = PrestacaoContaProcesso.Instance;
            PrestacaoConta          prestacao = new PrestacaoConta();

            prestacao.id = id;
            List <PrestacaoConta> prestacaoContaList = processo.Consultar(prestacao, TipoPesquisa.E);

            ViewData["lancamentos"]     = 0;
            ViewData["despesas"]        = 0;
            ViewData["emprestimos"]     = 0;
            ViewData["dataSelecionada"] = DateTime.Now;
            if (prestacaoContaList.Count > 0)
            {
                ViewData["dataSelecionada"] = prestacaoContaList[0].dataprestacao;
                #region Despesas
                IDespesaProcesso despesaProcesso = DespesaProcesso.Instance;
                Despesa          despesa         = new Despesa();
                //despesa.area_id = ClasseAuxiliar.AreaSelecionada.id;
                despesa.data = prestacaoContaList[0].dataprestacao;

                List <Despesa> despesas = despesaProcesso.Consultar(despesa, TipoPesquisa.E);
                ViewData["despesas"] = despesas;
                #endregion

                #region Emprestimo
                IEmprestimoProcesso emprestimoProcesso = EmprestimoProcesso.Instance;
                Emprestimo          emp = new Emprestimo();
                //emp.area_id = ClasseAuxiliar.AreaSelecionada.id;
                emp.data_emprestimo = prestacaoContaList[0].dataprestacao;

                ViewData["emprestimos"] = emprestimoProcesso.Consultar(emp, TipoPesquisa.E);
                #endregion

                #region Peguei com a empresa
                ILancamentoProcesso lancamentoProcesso = LancamentoProcesso.Instance;
                Lancamento          lanc = new Lancamento();
                //lanc.area_id = ClasseAuxiliar.AreaSelecionada.id;
                lanc.data = ClasseAuxiliar.DataSelecionada;
                lanc.lancamentotipo_id = 5;
                List <Lancamento> lancamentos = lancamentoProcesso.Consultar(lanc, TipoPesquisa.E);
                ViewData["lancamentos"] = lancamentos;
                #endregion

                IParcelaProcesso parcelaProcesso = ParcelaProcesso.Instance;
                List <Parcela>   parcelas        = parcelaProcesso.ConsultarParcelasPagasPorPeriodo(prestacaoContaList[0].dataprestacao, default(DateTime));

                float totalParcelas    = 0;
                float totalLancamentos = 0;
                float totalEmprestimos = 0;
                float totalDespesas    = 0;
                foreach (var item in lancamentos)
                {
                    totalLancamentos += item.valor;
                }
                foreach (var item in parcelas)
                {
                    totalParcelas += item.valor_pago.Value;
                }

                List <Emprestimo> emprestimos = emprestimoProcesso.ConsultarEmprestimosPorPeriodo(prestacaoContaList[0].dataprestacao, prestacaoContaList[0].dataprestacao);

                foreach (var item in emprestimos)
                {
                    totalEmprestimos += item.valor;
                }

                foreach (var item in despesas)
                {
                    totalDespesas += item.valor;
                }

                ViewData["totalParcelas"]    = totalParcelas;
                ViewData["totalEmprestimos"] = totalEmprestimos;
                ViewData["totalLancamentos"] = totalLancamentos;
                ViewData["totalDespesas"]    = totalDespesas;
            }

            return(View());
        }
        public ActionResult IncluirPrestacaoConta()
        {
            if (ClasseAuxiliar.UsuarioLogado == null || (ClasseAuxiliar.DataSelecionada == default(DateTime) || ClasseAuxiliar.AreaSelecionada == null))
            {
                return(RedirectToAction("Index", "Home"));
            }
            PrestacaoConta prestacaoConta = new PrestacaoConta();

            #region Despesas
            IDespesaProcesso despesaProcesso = DespesaProcesso.Instance;
            Despesa          despesa         = new Despesa();
            despesa.area_id = ClasseAuxiliar.AreaSelecionada.id;
            despesa.data    = ClasseAuxiliar.DataSelecionada;

            List <Despesa> despesas = despesaProcesso.Consultar(despesa, TipoPesquisa.E);
            ViewData["despesas"] = despesas;
            #endregion

            #region Emprestimo
            IEmprestimoProcesso emprestimoProcesso = EmprestimoProcesso.Instance;
            Emprestimo          emp = new Emprestimo();
            emp.area_id         = ClasseAuxiliar.AreaSelecionada.id;
            emp.data_emprestimo = ClasseAuxiliar.DataSelecionada;

            ViewData["emprestimos"] = emprestimoProcesso.Consultar(emp, TipoPesquisa.E);
            #endregion

            #region Peguei com a empresa
            ILancamentoProcesso lancamentoProcesso = LancamentoProcesso.Instance;
            Lancamento          lanc = new Lancamento();
            lanc.area_id           = ClasseAuxiliar.AreaSelecionada.id;
            lanc.data              = ClasseAuxiliar.DataSelecionada;
            lanc.lancamentotipo_id = 5;
            List <Lancamento> lancamentos = lancamentoProcesso.Consultar(lanc, TipoPesquisa.E);
            ViewData["lancamentos"] = lancamentos;
            #endregion

            IParcelaProcesso parcelaProcesso = ParcelaProcesso.Instance;
            List <Parcela>   parcelas        = parcelaProcesso.ConsultarParcelasPagasPorPeriodo(ClasseAuxiliar.DataSelecionada, default(DateTime));

            float totalParcelas    = 0;
            float totalLancamentos = 0;
            float totalEmprestimos = 0;
            float totalDespesas    = 0;
            foreach (var item in lancamentos)
            {
                totalLancamentos += item.valor;
            }
            foreach (var item in parcelas)
            {
                totalParcelas += item.valor_pago.Value;
            }

            List <Emprestimo> emprestimos = emprestimoProcesso.ConsultarEmprestimosPorPeriodo(ClasseAuxiliar.DataSelecionada, ClasseAuxiliar.DataSelecionada);

            foreach (var item in emprestimos)
            {
                totalEmprestimos += item.valor;
            }

            foreach (var item in despesas)
            {
                totalDespesas += item.valor;
            }

            ViewData["totalParcelas"]    = totalParcelas;
            ViewData["totalEmprestimos"] = totalEmprestimos;
            ViewData["totalLancamentos"] = totalLancamentos;
            ViewData["totalDespesas"]    = totalDespesas;
            // ViewData.Model = prestacaoConta;
            return(View());
        }