Beispiel #1
0
        public ActionResult Edit(COMPRA_PARCELA parcela)
        {
            if (Session.IsFuncionario())
            {
                if (ModelState.IsValid)
                {
                    _db.Entry(parcela)
                    .State = EntityState.Modified;

                    _db.SaveChanges();

                    return(RedirectToAction("Index", "CompraParcela", new { id = parcela.COMPRA }));
                }
                else
                {
                    ViewBag.FORMA_PAGAMENTO = new SelectList(_db.FORMA_PAGAMENTO, "ID", "DESCRICAO", parcela.FORMA_PAGAMENTO);

                    return(View(parcela));
                }
            }
            else
            {
                return(RedirectToAction("", ""));
            }
        }
Beispiel #2
0
        public async Task <ActionResult> Create(COMPRA compra)
        {
            if (compra.OSSB != null && !_db.OSSB.Any(ossb => ossb.ID == compra.OSSB))
            {
                ModelState.AddModelError("", "Informe uma ossb válida");
            }

            if (compra.FORNECEDOR == 0)
            {
                ModelState.AddModelError("", "Informe um fornecedor!");
            }

            if (compra.DESPESA == 0)
            {
                ModelState.AddModelError("", "Informe uma despesa!");
            }

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

            if (!compra.COMPRA_ITEM.Any())
            {
                ModelState.AddModelError("", "Informe pelo menos um item na lista de items!");
            }

            if (ModelState.IsValid)
            {
                var vencimento = compra.DATA_VENCIMENTO;

                var valor = compra
                            .COMPRA_ITEM
                            .Select(ci => ci.VALOR * ci.QUANTIDADE)
                            .DefaultIfEmpty()
                            .Sum() / compra.PARCELAS;

                for (Int32 it = 0; it < compra.PARCELAS; ++it)
                {
                    var parcela = new COMPRA_PARCELA()
                    {
                        VALOR           = valor,
                        DATA_VENCIMENTO = vencimento.AddMonths(it),
                    };

                    compra.COMPRA_PARCELA.Add(parcela);
                }

                _db.COMPRA.Add(compra);


                _db.SaveChanges();



                return(RedirectToAction("Index", "Compra"));
            }


            ViewBag.PROJETO = new SelectList(_db.PROJETO, "ID", "DESCRICAO", compra.PROJETO);
            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", compra.DESPESA);


            ViewBag.FORNECEDOR = new SelectList(_db.PESSOA
                                                .Where(p => p.SITUACAO == "A")
                                                .Where(p => p.FORNECEDOR == 1), "ID", "RAZAO", compra.FORNECEDOR);

            ViewBag.UNIDADES = _db.UNIDADE.ToDictionary(u => u.ID.ToString(), u => u.SIGLA);

            return(View(compra));
        }