예제 #1
0
        public async Task <ActionResult> Create(PAGAMENTO pagamento)
        {
            if (pagamento.PESSOA == 0)
            {
                ModelState.AddModelError("", "Terceiro não informado!");
            }

            if (ModelState.IsValid)
            {
                var proj = await _db.OSSB.Where(os => os.ID == pagamento.OSSB).Select(os => os.PROJETO).FirstOrDefaultAsync();

                pagamento.PROJETO     = proj;
                pagamento.CRITICIDADE = 1;

                _db.PAGAMENTO.Add(pagamento);

                _db.SaveChanges();

                return(RedirectToAction("Index", new { id = pagamento.OSSB }));
            }

            ViewBag.PESSOA = new SelectList(await _db
                                            .PESSOA
                                            .Where(p => p.SITUACAO == "A" && p.TERCEIRO == 1)
                                            .OrderBy(p => p.RAZAO)
                                            .ThenBy(p => p.NOME)
                                            .ToArrayAsync(), "ID", "NOME_COMPLETO", pagamento.PESSOA);

            ViewBag.SERVICO = new SelectList(await _db.OSSB_SERVICO.Where(s => s.OSSB == pagamento.OSSB).ToArrayAsync(), "ID", "DESCRICAO", pagamento.PESSOA);



            return(View(pagamento));
        }
예제 #2
0
        public async Task <ActionResult> Edit(PAGAMENTO pagamento)
        {
            if (pagamento.DESPESA == 0)
            {
                ModelState.AddModelError("", "Informe uma despesa!");
            }

            if (pagamento.PESSOA == 0)
            {
                ModelState.AddModelError("", "Informe uma pessoa!");
            }

            if (pagamento.DATA_PAGAMENTO != null && pagamento.DATA_PAGAMENTO < DateTime.Today.AddDays(-1))
            {
                ModelState.AddModelError("", "A data de pagamento não pode ser inferior a data atual.");
            }


            if (ModelState.IsValid)
            {
                var entry = _db.Entry(pagamento);

                _db.PAGAMENTO.Attach(pagamento);

                entry.Property(pp => pp.OSSB).IsModified        = true;
                entry.Property(pp => pp.DESCRICAO).IsModified   = true;
                entry.Property(pp => pp.PESSOA).IsModified      = true;
                entry.Property(pp => pp.PROJETO).IsModified     = true;
                entry.Property(pp => pp.DESPESA).IsModified     = true;
                entry.Property(pp => pp.CRITICIDADE).IsModified = true;

                entry.Property(pp => pp.DATA_VENCIMENTO).IsModified = true;
                entry.Property(pp => pp.DATA_PAGAMENTO).IsModified  = true;
                entry.Property(pp => pp.VALOR).IsModified           = true;
                entry.Property(pp => pp.PROTESTO).IsModified        = true;
                entry.Property(pp => pp.PROVISIONADO).IsModified    = true;
                entry.Property(pp => pp.FORMA_PAGAMENTO).IsModified = true;
                entry.Property(pp => pp.CONTA_BANCARIA).IsModified  = true;

                await _db.SaveChangesAsync();


                return(Redirect(Session["PreviousPage"].ToString()));
            }

            ViewBag.DESPESA = new SelectList(await _db.DESPESA.Include(dp => dp.DESPESA_CLASSE).OrderBy(dp => dp.DESPESA_CLASSE.DESCRICAO).ThenBy(dp => dp.DESCRICAO).ToArrayAsync(), "ID", "DESCRICAO", "CLASSE_DESCRICAO", pagamento.DESPESA);

            ViewBag.PESSOA = new SelectList(await _db
                                            .PESSOA
                                            .OrderBy(p => p.RAZAO)
                                            .ThenBy(p => p.NOME)
                                            .Select(p => new { ID = p.ID, NOME_COMPLETO = p.RAZAO + " (" + p.NOME + ")" })
                                            .ToArrayAsync(), "ID", "NOME_COMPLETO", pagamento.PESSOA);

            ViewBag.CONTA_BANCARIA = new SelectList(await _db.CONTA_BANCARIA.Include(cb => cb.BANCO1).ToArrayAsync(), "ID", "DESCRICAO", pagamento.CONTA_BANCARIA);

            return(View(pagamento));
        }
예제 #3
0
        public async Task <ActionResult> Edit(PAGAMENTO pagamento)
        {
            if (pagamento.PESSOA == 0)
            {
                ModelState.AddModelError("", "Terceiro não informado!");
            }

            if (await _db.PAGAMENTO.Where(p => p.ID == pagamento.ID).Select(p => p.DATA_PAGAMENTO).FirstOrDefaultAsync() != null)
            {
                ModelState.AddModelError("", "Terceiro já pago!");
            }

            if (ModelState.IsValid)
            {
                var entry = _db.Entry(pagamento);

                _db.PAGAMENTO.Attach(pagamento);

                entry.Property(pp => pp.PESSOA).IsModified          = true;
                entry.Property(pp => pp.SERVICO).IsModified         = true;
                entry.Property(pp => pp.DATA_VENCIMENTO).IsModified = true;
                entry.Property(pp => pp.VALOR).IsModified           = true;

                await _db.SaveChangesAsync();

                return(RedirectToAction("Index", new { id = pagamento.OSSB }));
            }

            ViewBag.PESSOA = new SelectList(await _db
                                            .PESSOA
                                            .Where(p => p.SITUACAO == "A" && p.TERCEIRO == 1)
                                            .OrderBy(p => p.RAZAO)
                                            .ThenBy(p => p.NOME)
                                            .ToArrayAsync(), "ID", "NOME_COMPLETO", pagamento.PESSOA);

            ViewBag.SERVICO = new SelectList(await _db.OSSB_SERVICO.Where(s => s.OSSB == pagamento.OSSB).ToArrayAsync(), "ID", "DESCRICAO", pagamento.SERVICO);

            return(View(pagamento));
        }
예제 #4
0
        public async Task <ActionResult> Create(PAGAMENTO pagamento)
        {
            if (pagamento.DESPESA == 0)
            {
                ModelState.AddModelError("", "Informe uma despesa!");
            }

            if (pagamento.PESSOA == 0)
            {
                ModelState.AddModelError("", "Informe uma pessoa!");
            }

            if (pagamento.PROJETO == null || pagamento.PROJETO == 0)
            {
                ModelState.AddModelError("", "Informe um projeto!");
            }

            if (pagamento.DATA_PAGAMENTO != null && pagamento.DATA_PAGAMENTO < DateTime.Today.AddDays(-1))
            {
                ModelState.AddModelError("", "A data de pagamento não pode ser inferior a data atual.");
            }

            if (ModelState.IsValid)
            {
                _db.PAGAMENTO.Add(pagamento);

                for (Int32 it = 0; it < pagamento.COPIAS; ++it)
                {
                    _db.PAGAMENTO.Add(new PAGAMENTO()
                    {
                        CRITICIDADE     = pagamento.CRITICIDADE,
                        DATA_PAGAMENTO  = pagamento.DATA_PAGAMENTO?.AddMonths(it + 1),
                        DATA_VENCIMENTO = pagamento.DATA_VENCIMENTO?.AddMonths(it + 1),
                        VALOR           = pagamento.VALOR,
                        DESPESA         = pagamento.DESPESA,
                        PESSOA          = pagamento.PESSOA,
                        DESCRICAO       = pagamento.DESCRICAO,
                        PROJETO         = pagamento.PROJETO,
                        PROVISIONADO    = pagamento.PROVISIONADO,
                        PROTESTO        = pagamento.PROTESTO,
                        FORMA_PAGAMENTO = pagamento.FORMA_PAGAMENTO,
                        OSSB            = pagamento.OSSB,
                        SERVICO         = pagamento.SERVICO,
                        ANEXO           = pagamento.ANEXO,
                    });
                }

                await _db.SaveChangesAsync();

                return(Redirect(Session["PreviousPage"].ToString()));
            }


            ViewBag.DESPESA = new SelectList(await _db.DESPESA.Include(dp => dp.DESPESA_CLASSE).OrderBy(dp => dp.DESPESA_CLASSE.DESCRICAO).ThenBy(dp => dp.DESCRICAO).ToArrayAsync(), "ID", "DESCRICAO", "CLASSE_DESCRICAO", pagamento.DESPESA);

            ViewBag.PESSOA = new SelectList(await _db
                                            .PESSOA
                                            .OrderBy(p => p.NOME)
                                            .ToArrayAsync(), "ID", "NOME_COMPLETO");

            ViewBag.PROJETO = new SelectList(await _db.PROJETO.ToArrayAsync(),
                                             "ID", "DESCRICAO", pagamento.PROJETO);

            ViewBag.CONTA_BANCARIA = new SelectList(await _db.CONTA_BANCARIA.Include(cb => cb.BANCO1).ToArrayAsync(), "ID", "DESCRICAO", pagamento.CONTA_BANCARIA);


            return(View(pagamento));
        }