Exemple #1
0
        // GET: Admin/Financeiro/Create
        public IActionResult CreateOrEdit(int?id, TipoFinanceiro tipo, string returnUrl = null)
        {
            var financeiroViewModel = new FinanceiroViewModel();

            if (id != null)
            {
                var financeiro = _context.Financeiro.Include(x => x.Categoria).Include(x => x.Conta).Include(x => x.Pessoa).FirstOrDefault(x => x.FinanceiroId == id);
                financeiroViewModel = Mapper.Map <FinanceiroViewModel>(financeiro);
                tipo = financeiro.Tipo;
            }

            if (tipo == TipoFinanceiro.Extrato)
            {
                return(NotFound());
            }

            var categorias = _context.GetViewCategorias();

            ViewData["ContaId"]       = new SelectList(_context.Contas.OrderBy(x => x.Descricao), "ContaId", "Descricao", financeiroViewModel.ContaId);
            ViewData["tipo"]          = tipo;
            ViewData["TipoCategoria"] = tipo == TipoFinanceiro.Pagamento ? TipoCategoria.Despesas : TipoCategoria.Receitas;
            ViewData["returnUrl"]     = returnUrl;

            return(View(financeiroViewModel));
        }
Exemple #2
0
        public IEnumerable <ContaConsulta> ListarContas(ContaFiltro contaFiltro, TipoFinanceiro tipoFinanceiro, int id = 0)
        {
            if (contaFiltro.CodPessoa == 0 && string.IsNullOrWhiteSpace(contaFiltro.Documento))
            {
                contaFiltro.CodPessoa = 99999;
            }

            if (tipoFinanceiro == TipoFinanceiro.tfReceber)
            {
                return(_repositorioContaConsulta.ObterContasAReceber(contaFiltro, id));
            }
            else
            {
                return(_repositorioContaConsulta.ObterContasAPagar(contaFiltro, id));
            }
        }
Exemple #3
0
        public async Task <IActionResult> CreateOrEdit(int?id, TipoFinanceiro tipo, FinanceiroViewModel financeiroViewModel, string returnUrl = null)
        {
            if (!ModelState.IsValid)
            {
                var categorias = _context.GetViewCategorias();

                ViewData["ContaId"]       = new SelectList(_context.Contas.OrderBy(x => x.Descricao), "ContaId", "Descricao", financeiroViewModel.ContaId);
                ViewData["tipo"]          = tipo;
                ViewData["TipoCategoria"] = tipo == TipoFinanceiro.Pagamento ? TipoCategoria.Despesas : TipoCategoria.Receitas;
                ViewData["returnUrl"]     = returnUrl;


                return(View(financeiroViewModel));
            }

            var financeiro = Mapper.Map <Financeiro>(financeiroViewModel);

            try
            {
                _context.Update(financeiro);
                await _context.SaveChangesAsync();

                TempData["alert-success"] = "Operação realizada com sucesso!";
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!FinanceiroExists(financeiro.FinanceiroId))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            if (!string.IsNullOrEmpty(returnUrl))
            {
                return(Redirect(returnUrl));
            }
            else
            {
                return(RedirectToAction(nameof(Index)));
            }
        }
Exemple #4
0
        public frmContas(TipoFinanceiro tipoFinanceiro)
        {
            _tipoFinanceiro = tipoFinanceiro;

            Iniciar();
        }
Exemple #5
0
        // GET: Admin/Financeiro
        public async Task <IActionResult> Index(
            TipoFinanceiro tipo,
            List <int> pedidos = null,
            List <int?> contas = null,
            List <int> status  = null,
            string filtro      = null,
            string startDate   = null,
            string endDate     = null,
            string returnUrl   = null
            )
        {
            if (!string.IsNullOrEmpty(returnUrl))
            {
                return(Redirect(returnUrl));
            }

            // Financeiro
            var financeiro = _context.Financeiro.Include(f => f.Categoria).Include(x => x.Pessoa).Include(f => f.Conta).AsQueryable();



            // Data
            startDate = startDate ?? DateTime.Now.ToString("dd/MM/yy");
            endDate   = endDate ?? DateTime.Now.ToString("dd/MM/yy");

            string startTime = "00:00:00";
            string endTime   = "23:59:59";

            DateTime dataDe  = Convert.ToDateTime($"{startDate} {startTime}");
            DateTime dataAte = Convert.ToDateTime($"{endDate} {endTime}");



            // Where Descricao
            if (!string.IsNullOrEmpty(filtro))
            {
                financeiro = financeiro.Where(
                    x => x.Descricao.ToUpper().Contains(filtro.ToUpper()) ||
                    x.Pessoa.Nome.ToUpper().Contains(filtro.ToUpper()) ||
                    x.Categoria.NomeAll.ToUpper().Contains(filtro.ToUpper())

                    );
            }


            // Where Status Pgto
            financeiro = status.Count > 0 ? financeiro.Where(x => status.Contains((int)x.TipoStatusPagamento)) : financeiro;

            // Where Conta
            financeiro = contas.Count > 0 ? financeiro.Where(x => contas.Contains(x.ContaId)) : financeiro;

            // Where Data - Apenas se não tiver informado os pedidos
            financeiro = pedidos.Count == 0 ? financeiro.Where(x => Convert.ToDateTime(x.Data) >= dataDe && Convert.ToDateTime(x.Data) <= dataAte) : financeiro;

            // Where Pedidos
            financeiro = pedidos.Count > 0 ? financeiro.Where(x => pedidos.Contains(x.FinanceiroPedidos.FirstOrDefault().PedidoId)) : financeiro;


            // Where Tipo
            if (tipo != TipoFinanceiro.Extrato)
            {
                financeiro = financeiro.Where(x => x.Tipo == tipo);
            }

            // OrderBy
            financeiro = financeiro.OrderByDescending(x => x.FinanceiroId);

            // ToList
            var financeiroList = await financeiro.ToListAsync();

            FinanceiroExtratoViewModel financeiroExtratoViewModel = new FinanceiroExtratoViewModel
            {
                ListaFinanceiros = Mapper.Map <List <FinanceiroViewModel> >(financeiroList).ToList(),
            };


            // ENUM Status
            IEnumerable <SelectListItem> EnumStatus = from TipoStatusPagamento statusPgto in Enum.GetValues(typeof(TipoStatusPagamento))
                                                      select new SelectListItem {
                Text = statusPgto.ToString(), Value = Convert.ToInt32(statusPgto).ToString()
            };


            // View Data
            ViewData["tipo"] = tipo;
            ViewData["btnIncluirFinanceiro"] = true;
            ViewData["startDate"]            = startDate;
            ViewData["endDate"]      = endDate;
            ViewData["filtro"]       = filtro;
            ViewData["ContasSelect"] = new SelectList(_context.Contas.OrderBy(x => x.Descricao), "ContaId", "Descricao", contas);
            ViewData["StatusSelect"] = new SelectList(EnumStatus, "Value", "Text", status);

            ViewData["returnUrl"] = UriHelper.GetDisplayUrl(HttpContext.Request);

            return(View(financeiroExtratoViewModel));
        }