Ejemplo n.º 1
0
        public Form1()
        {
            InitializeComponent();
            dataConnector = new DataConnector();

            dataConnector.OpenConnection("all");
            // Recupera os relatórios em formato Crystal Reports ( Categoria C )
            ReportingDocumentDAO        reportingDocumentDAO = new ReportingDocumentDAO(dataConnector.SqlServerConnection);
            List <ReportingDocumentDTO> reportList           = reportingDocumentDAO.GetReports("Category = 'C'");
            // Recupera dados do firebird
            ProdutoDAO               productDAO        = new ProdutoDAO(dataConnector.FirebirdConnection);
            List <ProdutoDTO>        productList       = productDAO.GetAll();
            CidadeDAO                cidadeDAO         = new CidadeDAO(dataConnector.FirebirdConnection);
            List <CidadeDTO>         cityList          = cidadeDAO.GetAll();
            FormaPagamentoDAO        formaPagamentoDAO = new FormaPagamentoDAO(dataConnector.FirebirdConnection);
            List <FormaPagamentoDTO> paymentMethodList = formaPagamentoDAO.GetAll();

            dataConnector.CloseConnection();

            cmbReport.Items.AddRange(reportList.ToArray());
            cmbReport.SelectedIndex = 0;

            cmbProduct.Items.AddRange(productList.ToArray());
            cmbProduct.SelectedIndex = 0;

            cmbCity.Items.AddRange(cityList.ToArray());
            cmbCity.SelectedIndex = 0;

            cmbPaymentMethod.Items.AddRange(paymentMethodList.ToArray());
            cmbPaymentMethod.SelectedIndex = 0;
        }
Ejemplo n.º 2
0
        private void BtnSalvar_Click(object sender, EventArgs e)
        {
            FormaPagamentoDAO daoFormaPagamento = new FormaPagamentoDAO();
            FornecedoresDAO   daoFornecedor     = new FornecedoresDAO();

            if (ValidaConta())
            {
                ContaPagar.formaPagamento = daoFormaPagamento.BuscarPorID(Convert.ToInt32(txtCodFormaPagamento.Text)) as FormaPagamentos;
                ContaPagar.fornecedor     = daoFornecedor.BuscarPorID(Convert.ToInt32(txtCodFornecedor.Text)) as Fornecedores;
                ContaPagar.modelo         = txtModelo.Text;
                ContaPagar.serie          = txtSerie.Text;
                ContaPagar.nrNota         = txtNrNota.Text;
                ContaPagar.nrParcela      = Convert.ToInt32("0" + txtNrParcela.Text);
                ContaPagar.dtVencimento   = txtDtVencimento.Value;
                ContaPagar.dtEmissao      = txtDtEmissao.Value;
                ContaPagar.vlrParcela     = 1;
                ContaPagar.observacoes    = txtObeservacoes.Text;
                ContaPagar.dtCadastro     = DateTime.Now;
                ContaPagar.dtAlteracao    = DateTime.Now;
                ContaPagar.usuario        = UsuarioLogado.Usuario;
                ContaPagar.pago           = chkPaga.Checked;

                CtrlContaPagar.Inserir(ContaPagar);
            }
        }
Ejemplo n.º 3
0
        public ActionResult Index()
        {
            var formaPagamentoDAO = new FormaPagamentoDAO();

            ModelState.Clear();
            return(View(formaPagamentoDAO.SelecionarFormaPagamento()));
        }
Ejemplo n.º 4
0
        } //OK

        private void CarregaFormaPagamento()
        {
            FormaPagamentoDAO fDAO = new FormaPagamentoDAO();

            cboFormaPagamento.DataSource    = fDAO.BuscaPorCampo("ativo", "1");
            cboFormaPagamento.ValueMember   = "ID";
            cboFormaPagamento.DisplayMember = "Descrição";
        } //OK
Ejemplo n.º 5
0
        public bool Gravar(FormaPagamento instancia)
        {
            FormaPagamentoDAO formDAO = new FormaPagamentoDAO();

            if (instancia.Id == 0)
            {
                return(formDAO.Inserir(instancia));
            }

            return(formDAO.Alterar(instancia));
        }
Ejemplo n.º 6
0
        public PagarContaPagarValidator(ContaPagarDAO contaPagarDAO, FornecedorDAO fornecedorDAO, FormaPagamentoDAO formaPagamentoDAO)
        {
            this.ContaPagarDAO     = contaPagarDAO;
            this.FornecedorDAO     = fornecedorDAO;
            this.FormaPagamentoDAO = formaPagamentoDAO;

            RuleFor(e => e.Modelo)
            .NotEmpty().WithMessage("Informe o modelo.")
            .MaximumLength(2).WithMessage("Modelo só pode ter 2 caracteres.");

            RuleFor(e => e.Serie)
            .NotEmpty().WithMessage("Informe a série.")
            .MaximumLength(2).WithMessage("Série só pode ter 2 caracteres.");

            RuleFor(e => e.Numero)
            .NotEmpty().WithMessage("Informe o número.")
            .MaximumLength(20).WithMessage("Número só pode ter 2 caracteres.");

            RuleFor(e => e.FornecedorId)
            .NotEmpty().WithMessage("Informe o fornecedor.")
            .Must(ExistFornecedor).WithMessage("Fornecedor não cadastrado.");

            RuleFor(e => e.Parcela)
            .GreaterThan(0).WithMessage("Parcela deve ser superior a 0.")
            .NotEmpty().WithMessage("Informe a parcela.");

            RuleFor(e => e.Desconto)
            .Must(e => e >= 0 || e == null).WithMessage("Desconto não pode ser negativo.");

            RuleFor(e => e.Multa)
            .Must(e => e >= 0 || e == null).WithMessage("Multa não pode ser negativo.");

            RuleFor(e => e.Juro)
            .Must(e => e >= 0 || e == null).WithMessage("Juro não pode ser negativo.");

            RuleFor(e => e.FormaPagamentoId)
            .NotEmpty().WithMessage("Informe a forma de pagamento.")
            .Must(ExistFormaPagamento).WithMessage("Forma de pagamento não cadastrado.");


            RuleFor(e => e.DataVencimento)
            .NotEmpty().WithMessage("Informe a data de vencimento.")
            .Must(CheckDataVencimento).WithMessage("Data de vencimento inválida.");


            RuleFor(e => e.DataPagamento)
            .NotEmpty().WithMessage("Informe a data de Pagamento.")
            .Must((e, a) => CheckDataVencimento(e, a.Value)).WithMessage("Data de Pagamento inválida.")
            .Must(e => e <= DateTime.UtcNow).WithMessage("Data de pagamento futura.");

            RuleFor(e => e.Descricao)
            .MaximumLength(255).WithMessage("Descrição deve ter menos de 255 caracteres.");
        }
Ejemplo n.º 7
0
        public CondicaoPagamentoValidator(CondicaoPagamentoDAO condicaoPagamentoDAO, FormaPagamentoDAO formaPagamentoDAO, CondicaoPagamentoParcelaDAO condicaoPagamentoParcelaDAO)
        {
            this.CondicaoPagamentoParcelaDAO = condicaoPagamentoParcelaDAO;
            this.CondicaoPagamentoDAO        = condicaoPagamentoDAO;
            this.FormaPagamentoDAO           = formaPagamentoDAO;

            RuleFor(e => e.Nome)
            .NotEmpty().WithMessage("Nome da Condição de Pagamento não pode ser vazio.")
            .MaximumLength(50).WithMessage("O campo Nome não deve possuir mais de 50 caracteres.");


            RuleFor(e => e.Nome).Must(NameIsAllow).WithMessage("Condição de Pagamento já cadastrada.");
            RuleFor(e => e.Multa)
            .Must(e => e >= 0).WithMessage("Valor da multa não pode ser negativo")
            .Must(e => e <= 100).WithMessage("Valor da multa não pode ser maior que 100%");

            RuleFor(e => e.Juro)
            .Must(e => e >= 0).WithMessage("Valor do juro não pode ser negativo")
            .Must(e => e <= 100).WithMessage("Valor do juro não pode ser maior que 100%");

            RuleFor(e => e.Desconto)
            .Must(e => e >= 0).WithMessage("Valor do desconto não pode ser negativo")
            .Must(e => e <= 100).WithMessage("Valor do desconto não pode ser maior que 100%");

            RuleFor(e => e.Id).Must(ExistsCondicaoPagamento).When(e => e.Id > 0).WithMessage("Forma de Pagamento não cadastrada.");

            RuleFor(e => e.Parcela)
            .Must(e => e.All(a => a.Percentual > 0 && a.Percentual <= 100))
            .WithMessage("Valor percentual da parcela é inválido.")
            .Must(e => e.Sum(a => a.Percentual) == 100)
            .WithMessage((e) => $"Percentual total de parcelas não corresponde a 100% ({e.Parcela.Sum(a => a.Percentual)}).")
            .Must(e =>
            {
                var dia = 0;
                return(e.All(e =>
                {
                    var valid = e.NumeroDias >= dia;
                    dia = e.NumeroDias;
                    return valid;
                }));
            }).WithMessage("Os dias devem ser sequenciais.")
            .Must(ee =>
            {
                return(ee.Where(a => a.Id > 0).All(a => ExistsParcela(a.Id)));
            }).WithMessage("Parcela não cadastrada.")
            .Must(ee =>
            {
                return(ee.All(a => ExistsFormaPagamento(a, a.FormaPagamentoId)));
            }).WithMessage("Forma de Pagamento não cadastrada.")
            .Must(ee => ee.Select(a => a.NumeroDias).Distinct().Count() == ee.Count()).WithMessage("Número de dias repetidos.");

            //dias repetidos
        }
        public ContaPagarValidator(ContaPagarDAO contaPagarDAO, FornecedorDAO fornecedorDAO, FormaPagamentoDAO formaPagamentoDAO)
        {
            this.ContaPagarDAO     = contaPagarDAO;
            this.FornecedorDAO     = fornecedorDAO;
            this.FormaPagamentoDAO = formaPagamentoDAO;

            RuleFor(e => e.Modelo)
            .NotEmpty().WithMessage("Informe o modelo.")
            .MaximumLength(2).WithMessage("Modelo só pode ter 2 caracteres.");

            RuleFor(e => e.Serie)
            .NotEmpty().WithMessage("Informe a série.")
            .MaximumLength(2).WithMessage("Série só pode ter 2 caracteres.");

            RuleFor(e => e.Numero)
            .NotEmpty().WithMessage("Informe o número.")
            .MaximumLength(20).WithMessage("Número só pode ter 2 caracteres.");

            RuleFor(e => e.FornecedorId)
            .NotEmpty().WithMessage("Informe o fornecedor.")
            .Must(ExistFornecedor).WithMessage("Fornecedor não cadastrado.");

            RuleFor(e => e.Parcela)
            .GreaterThan(0).WithMessage("Parcela deve ser superior a 0.")
            .NotEmpty().WithMessage("Informe a parcela.");

            RuleFor(e => e.Valor)
            .Must(e => e >= 0).WithMessage("Valor não pode ser negativo.");

            RuleFor(e => e.Desconto)
            .Must((parcela, desconto) => parcela.Valor >= desconto || desconto is null).WithMessage("Desconto não pode ser maior que o valor.")
            .Must(e => e >= 0 || e == null).WithMessage("Desconto não pode ser negativo.");

            RuleFor(e => e.Multa)
            .Must(e => e >= 0 || e == null).WithMessage("Multa não pode ser negativo.");

            RuleFor(e => e.Juro)
            .Must(e => e >= 0 || e == null).WithMessage("Juro não pode ser negativo.");

            RuleFor(e => e.FormaPagamentoId)
            .NotEmpty().WithMessage("Informe a forma de pagamento.")
            .Must(ExistFormaPagamento).WithMessage("Forma de pagamento não cadastrado.");

            RuleFor(e => e.DataEmissao)
            .NotEmpty().WithMessage("Informe a data de emissão.");

            RuleFor(e => e.DataVencimento)
            .NotEmpty().WithMessage("Informe a data de vencimento.")
            .Must((contaPagar, vencimento) => contaPagar.DataVencimento >= contaPagar.DataEmissao).WithMessage("Data de vencimento inválida.");

            RuleFor(e => e.Descricao)
            .MaximumLength(255).WithMessage("Descrição deve ter menos de 255 caracteres.");
        }
Ejemplo n.º 9
0
        public FormaPagamentoValidator(FormaPagamentoDAO formaPagamentoDAO)
        {
            this.FormaPagamentoDAO = formaPagamentoDAO;

            RuleFor(e => e.Nome)
            .NotEmpty().WithMessage("Nome da Forma de Pagamento não pode ser vazio.")
            .MaximumLength(50).WithMessage("O campo Nome não deve possuir mais de 50 caracteres.");


            RuleFor(e => e.Nome).Must(NameIsAllow).WithMessage("Forma de Pagamento já cadastrada.");

            RuleFor(e => e.Id).Must(ExistsFormaPagamento).When(e => e.Id > 0).WithMessage("Forma de Pagamento não cadastrada.");
        }
Ejemplo n.º 10
0
 public ActionResult Delete(int id, FormaPagamento servico)
 {
     try
     {
         var formaPagamentoDAO = new FormaPagamentoDAO();
         formaPagamentoDAO.DeleteFormaPagamento(id);
         this.AddFlashMessage("Registro removido com sucesso!");
         return(RedirectToAction("Index"));
     }
     catch
     {
         return(View());
     }
 }
Ejemplo n.º 11
0
 public JsonResult JsSelect(string q, int?page, int?pageSize)
 {
     try
     {
         var formaPagamentoDAO      = new FormaPagamentoDAO();
         IQueryable <dynamic> lista = formaPagamentoDAO.SelecionarFormaPagamento().Select(u => new { IdFormaPagamento = u.IdFormaPagamento, dsFormaPagamento = u.dsFormaPagamento }).AsQueryable();
         return(Json(new JsonSelect <object>(lista, page, 10), JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         Response.StatusCode = 500;
         return(Json(ex.Message, JsonRequestBehavior.AllowGet));
     }
 }
Ejemplo n.º 12
0
        private IQueryable <dynamic> Find(int?Id, string Text)
        {
            var formaPagamentoDAO = new FormaPagamentoDAO();
            var list   = formaPagamentoDAO.SelectFormaPagamento(Id, Text);
            var select = list.Select(u => new
            {
                Id             = u.Id,
                Text           = u.Text,
                dtCadastro     = u.dtCadastro,
                dtUltAlteracao = u.dtUltAlteracao
            }).OrderBy(u => u.Text).ToList();

            return(select.AsQueryable());
        }
Ejemplo n.º 13
0
        public JsonResult JsInsert(FormaPagamento formaPagamento)
        {
            var formaPagamentoDAO = new FormaPagamentoDAO();

            formaPagamentoDAO.InsertFormaPagamento(formaPagamento);
            var result = new
            {
                type    = "success",
                field   = "",
                message = "Registro adicionado com sucesso!",
                model   = formaPagamento
            };

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 14
0
        public IUFormaPagamento(int id, Form lista, int idestabelecimento)
        {
            InitializeComponent();
            oDAO                   = new FormaPagamentoDAO();
            obj                    = new FormaPagamento();
            this.lista             = lista;
            this.idestabelecimento = idestabelecimento;

            if (id != 0)
            {
                obj = oDAO.GetById(id);

                txtIdServico.Text = obj.Idforma.ToString();
                txtDescricao.Text = obj.Descricao;
                txtTaxa.Text      = obj.Taxa.ToString();
                btnLimpar.Enabled = false;
            }
        }
Ejemplo n.º 15
0
        public DataTable Consultar(string descricao)
        {
            DataTable resultadoBusca = new DataTable();

            resultadoBusca.Columns.Add("Id", typeof(int));
            resultadoBusca.Columns.Add("Descrição", typeof(string));

            FormaPagamentoDAO formDAO = new FormaPagamentoDAO();

            foreach (FormaPagamento obj in (formDAO.Consultar(descricao)))
            {
                DataRow linha = resultadoBusca.NewRow();

                linha["Id"]        = obj.Id;
                linha["Descrição"] = obj.Descricao;

                resultadoBusca.Rows.Add(linha);
            }
            return(resultadoBusca);
        }
Ejemplo n.º 16
0
        private void btnBuscar_Click(object sender, EventArgs e)
        {
            FormaPagamentoDAO oDAO  = new FormaPagamentoDAO();
            String            campo = cboCriterio.SelectedItem.ToString();
            String            busca = txtPesquisa.Text;

            if (campo != null && !busca.Equals(""))
            {
                if (campo == "Código")
                {
                    campo = "idforma";
                }

                if (campo == "Descrição")
                {
                    campo = "descricao";
                }

                dgvDados.DataSource = oDAO.BuscaPorCampo(campo.ToLower(), busca);
            }
        }
Ejemplo n.º 17
0
        public ActionResult Edit(int id, FormaPagamento formaPagamento)
        {
            if (string.IsNullOrWhiteSpace(formaPagamento.dsFormaPagamento))
            {
                ModelState.AddModelError("", "Nome do Forma Pagamento Nao pode ser em braco");
            }
            try
            {
                if (ModelState.IsValid)
                {
                    var formaPagamentoDAO = new FormaPagamentoDAO();

                    formaPagamentoDAO.UpdateFormaPagamento(formaPagamento);
                    this.AddFlashMessage("Registro Alterado com sucesso!");
                    return(RedirectToAction("Index"));
                }
                return(View());
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 18
0
        public IEnumerable <EquipMotos.MODEL.ContasReceber> Get()
        {
            ClientesDAO       DaoCliente        = new ClientesDAO();
            FormaPagamentoDAO DaoFormaPagamento = new FormaPagamentoDAO();

            var lista         = ContasReceberDAO.ListarTodos();
            var convertedList = (from rw in lista.AsEnumerable()
                                 select new EquipMotos.MODEL.ContasReceber()
            {
                nrNota = Convert.ToString(rw["nrNota"]),
                modelo = Convert.ToString(rw["modelo"]),
                serie = Convert.ToString(rw["serie"]),
                cliente = DaoCliente.BuscarPorID(rw["codCliente"]) as EquipMotos.MODEL.Clientes,
                nrParcela = Convert.ToInt32(rw["nrParcela"]),
                vlrParcela = Convert.ToDouble(Convert.ToDouble(rw["valorParcela"]).ToString("N2")),
                formaPagamento = DaoFormaPagamento.BuscarPorID(rw["codFormaPagamento"]) as EquipMotos.MODEL.FormaPagamentos,
                dtEmissao = Convert.ToDateTime(rw["dtEmissao"]),
                dtVencimento = Convert.ToDateTime(Convert.ToDateTime(rw["dtVencimento"]).ToString("dd-MM-yyyy")),
                recebido = Convert.ToBoolean(rw["recebido"])
            }).ToList();

            return(convertedList);
        }
Ejemplo n.º 19
0
        public IEnumerable <EquipMotos.MODEL.ContasReceber> GetFilters([FromQuery] string nota, [FromQuery] string cliente, [FromQuery] string formaPagamento, [FromQuery] DateTime dateMin, [FromQuery] DateTime dateMax)
        {
            ClientesDAO       DaoCliente        = new ClientesDAO();
            FormaPagamentoDAO DaoFormaPagamento = new FormaPagamentoDAO();

            var lista         = ContasReceberDAO.BuscarConta_Filtro(nota, cliente, formaPagamento, dateMin, dateMax);
            var convertedList = (from rw in lista.AsEnumerable()
                                 select new EquipMotos.MODEL.ContasReceber()
            {
                nrNota = Convert.ToString(rw["nrNota"]),
                modelo = Convert.ToString(rw["modelo"]),
                serie = Convert.ToString(rw["serie"]),
                cliente = DaoCliente.BuscarPorID(rw["codClientes"]) as EquipMotos.MODEL.Clientes,
                nrParcela = Convert.ToInt32(rw["nrParcela"]),
                vlrParcela = Convert.ToDouble(Convert.ToDouble(rw["valorParcela"]).ToString("N2")),
                formaPagamento = DaoFormaPagamento.BuscarPorID(rw["codFormaPagamento"]) as EquipMotos.MODEL.FormaPagamentos,
                dtEmissao = Convert.ToDateTime(rw["dtEmissao"]),
                dtVencimento = Convert.ToDateTime(Convert.ToDateTime(rw["dtVencimento"]).ToString("dd-MM-yyyy")),
                pago = Convert.ToBoolean(rw["pago"])
            }).ToList();

            return(convertedList);
        }
Ejemplo n.º 20
0
        public List <FormaPagamento> GetListaFormasPagamento()
        {
            FormaPagamentoDAO formDAO = new FormaPagamentoDAO();

            return(formDAO.GetLista());
        }
Ejemplo n.º 21
0
        public ActionResult Delete(int id)
        {
            var formaPagamentoDAO = new FormaPagamentoDAO();

            return(View(formaPagamentoDAO.GetFormaPagamento(id)));
        }
 public FormaPagamentoController(FormaPagamentoDAO dAO) : base(dAO)
 {
 }
        public VendaValidator(ProdutoDAO produtoDAO, CondicaoPagamentoDAO condicaoPagamentoDAO, FormaPagamentoDAO formaPagamentoDAO, ClienteDAO clienteDAO)
        {
            this.ProdutoDAO           = produtoDAO;
            this.CondicaoPagamentoDAO = condicaoPagamentoDAO;
            this.FormaPagamentoDAO    = formaPagamentoDAO;
            this.ClienteDAO           = clienteDAO;


            RuleFor(e => e.Modelo)
            .NotEmpty().WithMessage("Informe o modelo.")
            .MaximumLength(2).WithMessage("Modelo só pode ter 2 caracteres.");

            RuleFor(e => e.Serie)
            .NotEmpty().WithMessage("Informe a série.")
            .MaximumLength(2).WithMessage("Série só pode ter 2 caracteres.");

            RuleFor(e => e.ClienteId)
            .Must(ExistCliente).WithMessage("Cliente não cadastrado.");

            RuleForEach(e => e.Produtos)
            .Must(ExistProduto).WithMessage(e => "Produto não cadastrado.");

            RuleFor(e => e.CondicaoPagamentoId)
            .Must(ExistCondicaoPagamento).WithMessage("Condição de Pagamento não cadastrada.");
        }
Ejemplo n.º 24
0
        public bool Excluir(int forma_id)
        {
            FormaPagamentoDAO formDAO = new FormaPagamentoDAO();

            return(formDAO.Excluir(forma_id));
        }
        public CompraValidator(CompraDAO compraDAO, FornecedorDAO fornecedorDAO, ProdutoDAO produtoDAO,
                               FormaPagamentoDAO formaPagamentoDAO, ContaPagarDAO contaPagarDAO)
        {
            this.CompraDAO         = compraDAO;
            this.ProdutoDAO        = produtoDAO;
            this.FornecedorDAO     = fornecedorDAO;
            this.ContaPagarDAO     = contaPagarDAO;
            this.FormaPagamentoDAO = formaPagamentoDAO;


            RuleFor(e => e.Modelo)
            .NotEmpty().WithMessage("Informe o modelo.")
            .MaximumLength(2).WithMessage("Modelo só pode ter 2 caracteres.");

            RuleFor(e => e.Serie)
            .NotEmpty().WithMessage("Informe a série.")
            .MaximumLength(2).WithMessage("Série só pode ter 2 caracteres.");

            RuleFor(e => e.Numero)
            .NotEmpty().WithMessage("Informe o número.")
            .MaximumLength(6).WithMessage("Número só pode ter 6 caracteres.")
            .Must(VerifyId).WithMessage("Compra já cadastrada.");

            RuleFor(e => e.FornecedorId)
            .NotEmpty().WithMessage("Informe o fornecedor.")
            .Must(ExistFornecedor).WithMessage("Fornecedor não cadastrado.");

            RuleFor(e => e.DataEmissao)
            .NotEmpty().WithMessage("Infome a Data de Emissão.");

            RuleFor(e => e.DataChegada)
            .NotEmpty().WithMessage("Informe a Data de Chegada.")
            .Must((e, a) => e.DataChegada >= e.DataEmissao).WithMessage("Data de Chegada não poder ser posterior a data de Emissão");

            RuleFor(e => e.Frete)
            .Must(e => e >= 0 || e == null).WithMessage("Frete inválido.");

            RuleFor(e => e.Seguro)
            .Must(e => e >= 0 || e == null).WithMessage("Seguro inválido.");

            RuleFor(e => e.OutrasDespesas)
            .Must(e => e >= 0 || e == null).WithMessage("Outras Despesas inválido.");

            RuleFor(e => e.CondicaoPagamentoId)
            .NotEmpty().WithMessage("Infome a condição de pagamento.");

            RuleFor(e => e.Observacoes)
            .MaximumLength(255).WithMessage("Observação não pode ter mais de 255 caracteres.");

            RuleFor(e => e.Produtos)
            .Must(e => e.Count > 0).WithMessage("Adicine produtos a compra.")
            .Must(e => e.Select(a => a.ProdutoId).Distinct().Count() == e.Count()).WithMessage("Existem produtos repetidos na compra.");

            RuleForEach(e => e.Produtos)
            .Must(e => ExistProduto(e.ProdutoId)).WithMessage("Produto não cadastrado.")
            .Must(e => e.Quantidade > 0).WithMessage("Quantidade inválida.")
            .Must(e => e.ValorUnitario > 0).WithMessage("Valor inválido.")
            .Must(e => e.Desconto >= 0 || e.Desconto == null).WithMessage("Desconto inválido.")
            .Must(e => e.IPI > 0 || e.IPI == null).WithMessage("IPI inválido.");

            RuleFor(e => e.Parcelas)
            .NotEmpty().WithMessage("Adicione parcelas a compra.")
            .Must(VerifyValues).WithMessage("Soma das parcelas não confere com o valor da compra.");

            RuleForEach(e => e.Parcelas)
            .NotEmpty().WithMessage("Informe as parcelas.")
            .Must(e => e.Parcela >= 0).WithMessage("Parcelas inválida.")
            .Must(e => ExistFormaPagamento(e.FormaPagamentoId)).WithMessage("Forma de pagamento não cadastrada.")
            .Must(e => e.DataVencimento != null).WithMessage("Data de Vencimento inválida.")
            .Must((c, p) => !ExistParcela(c, p)).WithMessage((c, p) => $"Parcela {p.Parcela} já cadastrada.");
        }
Ejemplo n.º 26
0
 public CtrlFormaPagamentos() : base(new FormaPagamentoDAO())
 {
     this.DaoFormaPagamento = (FormaPagamentoDAO)this.Dao;
 }