Example #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));
        }
        public string Atualizar(FinanceiroViewModel financeiroViewModel, List <FinanceiroParcelaViewModel> parcelaViewModel)
        {
            var financeiro = Mapper.Map <FinanceiroViewModel, Financeiro>(financeiroViewModel);
            var result     = ValidarParcelas(ref financeiro, ref parcelaViewModel);

            if (result != "")
            {
                return(result);
            }

            var duplicado = _financeiroService.Find(e => (e.Titulo == financeiro.Titulo) &&
                                                    (e.FinanceiroId != financeiro.FinanceiroId) &&
                                                    (e.Delete == false)).Any();

            if (duplicado)
            {
                return("Atenção, já existe um título com esses dados cadastrado");
            }
            else
            {
                BeginTransaction();
                _financeiroService.Atualizar(financeiro);
                Commit();
                return("");
            }
        }
Example #3
0
        public ActionResult Edit(FinanceiroViewModel financeiroViewModel, List <FinanceiroParcelaViewModel> financeiroParcelaViewModel)
        {
            //  if (ModelState.IsValid)
            //   {
            var result = _financeiroAppService.Atualizar(financeiroViewModel, financeiroParcelaViewModel);

            if (result != "")
            {
                TempData["Mensagem"] = result;
            }
            else
            {
                return(RedirectToAction("Index"));
            }

            //  }
            #region ddlStatus
            List <SelectListItem> ddlOperacao = new List <SelectListItem>();
            ddlOperacao.Add(new SelectListItem()
            {
                Text = "A Pagar", Value = "0"
            });
            ddlOperacao.Add(new SelectListItem()
            {
                Text = "A Receber", Value = "1"
            });
            TempData["ddlOperacao"] = ddlOperacao;

            financeiroViewModel.OperacaoStatus = ddlOperacao.Where(e => e.Value.Trim().Equals(financeiroViewModel.Operacao.ToString())).First().Text;
            #endregion

            financeiroViewModel.Parcelas = financeiroParcelaViewModel;

            return(View(financeiroViewModel));
        }
Example #4
0
        // GET: Financeiro/Create
        public ActionResult Create()
        {
            #region DDL Status
            List <SelectListItem> ddlOperacao = new List <SelectListItem>();
            ddlOperacao.Add(new SelectListItem()
            {
                Text = "A Pagar", Value = "0"
            });
            ddlOperacao.Add(new SelectListItem()
            {
                Text = "A Receber", Value = "1"
            });
            TempData["ddlOperacao"] = ddlOperacao;

            List <SelectListItem> ddlStatus = new List <SelectListItem>();
            ddlStatus.Add(new SelectListItem()
            {
                Text = "Pendente", Value = "0"
            });
            ddlStatus.Add(new SelectListItem()
            {
                Text = "Quitado", Value = "1"
            });
            TempData["ddlStatus"] = ddlStatus;
            #endregion

            var financeiroViewModel = new FinanceiroViewModel();
            return(View(financeiroViewModel));
        }
Example #5
0
        public ActionResult Create(FinanceiroViewModel financeiroViewModel, List <FinanceiroParcelaViewModel> financeiroParcelaViewModel)
        {
            if (financeiroViewModel.Valor <= 0)
            {
                TempData["Mensagem"] = "O valor do título tem que ser maior que zero";
            }
            financeiroViewModel.Status = "0";
            if (ModelState.IsValid)
            {
                var result = _financeiroAppService.Adicionar(financeiroViewModel, financeiroParcelaViewModel);

                if (result != "")
                {
                    TempData["Mensagem"] = result;
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
            #region DDL Status
            List <SelectListItem> ddlOperacao = new List <SelectListItem>();
            ddlOperacao.Add(new SelectListItem()
            {
                Text = "A Pagar", Value = "0"
            });
            ddlOperacao.Add(new SelectListItem()
            {
                Text = "A Receber", Value = "1"
            });
            TempData["ddlOperacao"] = ddlOperacao;

            List <SelectListItem> ddlStatus = new List <SelectListItem>();
            ddlStatus.Add(new SelectListItem()
            {
                Text = "Pendente", Value = "0"
            });
            ddlStatus.Add(new SelectListItem()
            {
                Text = "Quitado", Value = "1"
            });
            TempData["ddlStatus"] = ddlStatus;

            financeiroViewModel.OperacaoStatus = ddlOperacao.Where(e => e.Value.Trim().Equals(financeiroViewModel.Operacao.ToString())).First().Text;
            financeiroViewModel.StatusNome     = ddlStatus.Where(e => e.Value.Trim().Equals(financeiroViewModel.Status.ToString())).First().Text;
            #endregion

            financeiroViewModel.Parcelas = financeiroParcelaViewModel;

            return(View(financeiroViewModel));
        }
        public async Task <IActionResult> Index()
        {
            var listAlunos = await _context.Aluno.Include(d => d.Cursos).ToListAsync();

            var listFuncionarios = await _context.Funcionario.ToListAsync();

            FinanceiroViewModel model = new FinanceiroViewModel();

            model.Alunos       = listAlunos;
            model.Funcionarios = listFuncionarios;


            return(View(model));
        }
Example #7
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)));
            }
        }
        public async Task <FileResult> Download()
        {
            using (var doc = new PdfSharpCore.Pdf.PdfDocument())
            {
                var page = doc.AddPage();
                page.Size        = PdfSharpCore.PageSize.A4;
                page.Orientation = PdfSharpCore.PageOrientation.Portrait;
                var graphics               = PdfSharpCore.Drawing.XGraphics.FromPdfPage(page);
                var corFonte               = PdfSharpCore.Drawing.XBrushes.Black;
                var textFormatter          = new PdfSharpCore.Drawing.Layout.XTextFormatter(graphics);
                var fonteOrganizacao       = new PdfSharpCore.Drawing.XFont("Ariel", 10);
                var fonteDescricao         = new PdfSharpCore.Drawing.XFont("Ariel", 8, PdfSharpCore.Drawing.XFontStyle.BoldItalic);
                var tituloDetalhes         = new PdfSharpCore.Drawing.XFont("Ariel", 8, PdfSharpCore.Drawing.XFontStyle.Bold);
                var fonteDetalhesDescricao = new PdfSharpCore.Drawing.XFont("Ariel", 7);
                var qtdPaginas             = doc.PageCount;

                //imagem logotipo
                var logo = @"C:\Users\dionn\Desktop\Ferman19.05.2020\PROJETO_FUP_Brasil\wwwroot\img\logo.jpg";
                textFormatter.DrawString(qtdPaginas.ToString(), new PdfSharpCore.Drawing.XFont("Arial", 10), corFonte, new PdfSharpCore.Drawing.XRect(575, 825, page.Width, page.Height));
                XImage imagem = XImage.FromFile(logo);
                graphics.DrawImage(imagem, 20, 5, 100, 50);


                //Titulo Maior
                var descricaoFinanceira = new PdfSharpCore.Drawing.Layout.XTextFormatter(graphics);
                descricaoFinanceira.Alignment = PdfSharpCore.Drawing.Layout.XParagraphAlignment.Center;
                descricaoFinanceira.DrawString("Detalhamento Financeiro", tituloDetalhes, corFonte, new PdfSharpCore.Drawing.XRect(0, 120, page.Width, page.Height));

                //titulo das Colunas
                var alturaTituloFinanceiroY = 140;
                var detalhes = new PdfSharpCore.Drawing.Layout.XTextFormatter(graphics);

                detalhes.DrawString("Saida", fonteDescricao, PdfSharpCore.Drawing.XBrushes.Red, new PdfSharpCore.Drawing.XRect(20, alturaTituloFinanceiroY, page.Width, page.Height));
                detalhes.DrawString("Entrada", fonteDescricao, PdfSharpCore.Drawing.XBrushes.Green, new PdfSharpCore.Drawing.XRect(220, alturaTituloFinanceiroY, page.Width, page.Height));
                detalhes.DrawString("Total Liquido", fonteDescricao, PdfSharpCore.Drawing.XBrushes.DodgerBlue, new PdfSharpCore.Drawing.XRect(340, alturaTituloFinanceiroY, page.Width, page.Height));


                //gerar dados do relátorio

                FinanceiroViewModel model = new FinanceiroViewModel();
                var alturaItens           = 160;
                var alturaItens2          = 160;
                var conteudoAluno         = await _context.Aluno.Include(d => d.Cursos).ToListAsync();

                var conteudoFuncionario = await _context.Funcionario.ToListAsync();

                model.Funcionarios = conteudoFuncionario;
                model.Alunos       = conteudoAluno;
                decimal somaDespesas = 0;
                decimal somaLucros   = 0;
                decimal totalLiquido = 0;


                foreach (var item in model.Funcionarios)
                {
                    textFormatter.DrawString("Saida: " + item.SalarioFuncionario, fonteDescricao, corFonte, new PdfSharpCore.Drawing.XRect(20, alturaItens, page.Width, page.Height));
                    somaDespesas += item.SalarioFuncionario;
                    alturaItens  += 20;
                }


                foreach (var item in model.Alunos)
                {
                    textFormatter.DrawString("Entrada: " + item.Cursos.ValorCurso, fonteDescricao, corFonte, new PdfSharpCore.Drawing.XRect(220, alturaItens2, page.Width, page.Height));
                    somaLucros   += item.Cursos.ValorCurso;
                    alturaItens2 += 20;
                }
                totalLiquido = somaLucros - somaDespesas;
                textFormatter.DrawString("Total Saida: " + somaDespesas, fonteDescricao, corFonte, new PdfSharpCore.Drawing.XRect(20, alturaItens, page.Width, page.Height));
                textFormatter.DrawString("Total Entrada: " + somaLucros, fonteDescricao, corFonte, new PdfSharpCore.Drawing.XRect(220, alturaItens2, page.Width, page.Height));
                textFormatter.DrawString("Total Liquido: " + totalLiquido, fonteDescricao, corFonte, new PdfSharpCore.Drawing.XRect(340, alturaItens2, page.Width, page.Height));



                //cabeçalho inicio statico
                textFormatter.DrawString("Instituição: ", fonteDescricao, corFonte, new PdfSharpCore.Drawing.XRect(20, 95, page.Width, page.Height));
                textFormatter.DrawString("Faculdade Universitaria de Programação", fonteDescricao, corFonte, new PdfSharpCore.Drawing.XRect(80, 95, page.Width, page.Height));
                //cabeçalho das colunas



                using (MemoryStream stream = new MemoryStream())
                {
                    var contantType = "application/pdf";
                    doc.Save(stream, false);
                    var nomeArquivo = "relatorioFinancerio.pdf";
                    return(File(stream.ToArray(), contantType, nomeArquivo));
                }
            }
        }
 public FinanceiroView()
 {
     FinanceiroViewModel = new FinanceiroViewModel();
     DataContext         = FinanceiroViewModel;
     InitializeComponent();
 }