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.");
        }
示例#2
0
        public IEnumerable <Compras> GetFilters([FromQuery] string nota, [FromQuery] string fornecedor, [FromQuery] DateTime dateMin, [FromQuery] DateTime dateMax)
        {
            FornecedoresDAO      DaoFornecedor    = new FornecedoresDAO();
            CondicaoPagamentoDAO DaoCondPagamento = new CondicaoPagamentoDAO();

            var lista         = DaoCompra.BuscarCompra_Filtro(nota, fornecedor, dateMin, dateMax);
            var convertedList = (from rw in lista.AsEnumerable()
                                 select new Compras()
            {
                modelo = Convert.ToString(rw["modelo"]),
                serie = Convert.ToString(rw["serie"]),
                nrNota = Convert.ToString(rw["nrNota"]),
                fornecedor = DaoFornecedor.BuscarPorID(Convert.ToInt64(rw["codFornecedor"])) as Fornecedores,
                condPagamento = DaoCondPagamento.BuscarPorID(Convert.ToInt64(rw["codCondPagamento"])) as CondicaoPagamentos,
                dtEmissao = Convert.ToDateTime(rw["dtEmissao"]),
                dtChegada = Convert.ToDateTime(rw["dtChegada"]),
                cfi = Convert.ToBoolean(rw["cfi"]),
                frete = Convert.ToDouble(Convert.ToDouble(rw["frete"]).ToString("N2")),
                seguro = Convert.ToDouble(Convert.ToDouble(rw["seguro"]).ToString("N2")),
                despesa = Convert.ToDouble(Convert.ToDouble(rw["despesa"]).ToString("N2")),
                situacao = Convert.ToBoolean(rw["situacao"]),
                observacoes = Convert.ToString(rw["observacoes"]),
                dtCadastro = Convert.ToDateTime(Convert.ToDateTime(rw["dtCadastro"]).ToString("dd-MM-yyyy")),
                dtAlteracao = Convert.ToDateTime(rw["dtAlteracao"]),
                totalProduto = Convert.ToDouble(Convert.ToDouble(rw["totalProduto"]).ToString("N2")),
                totalPagar = Convert.ToDouble(Convert.ToDouble(rw["totalPagar"]).ToString("N2")),
                usuario = Convert.ToString(rw["usuario"]),
                listaItem = DaoCompra.BuscarItem(Convert.ToString(rw["modelo"]), Convert.ToString(rw["serie"]), Convert.ToString(rw["nrNota"]), Convert.ToInt64(rw["codFornecedor"])),
                listaContasPagar = DaoCompra.BuscarContasPagar(Convert.ToString(rw["modelo"]), Convert.ToString(rw["serie"]), Convert.ToString(rw["nrNota"]), Convert.ToInt64(rw["codFornecedor"])),
            }).ToList();

            return(convertedList);
        }
示例#3
0
        public IEnumerable <Vendas> GetFilters([FromQuery] string nota, [FromQuery] string cliente, [FromQuery] DateTime dateMin, [FromQuery] DateTime dateMax)
        {
            ClientesDAO          DaoCliente           = new ClientesDAO();
            CondicaoPagamentoDAO DaoCondicaoPagamento = new CondicaoPagamentoDAO();

            var lista         = DaoVenda.BuscarVenda_Filtro(nota, cliente, dateMin, dateMax);
            var convertedList = (from rw in lista.AsEnumerable()
                                 select new Vendas()
            {
                modelo = Convert.ToString(rw["modelo"]),
                serie = Convert.ToString(rw["serie"]),
                nrNota = Convert.ToString(rw["nrNota"]),
                cliente = DaoCliente.BuscarPorID(Convert.ToInt64(rw["codCliente"])) as Clientes,
                condPagamento = DaoCondicaoPagamento.BuscarPorID(Convert.ToInt64(rw["codCondPagamento"])) as CondicaoPagamentos,
                dtEmissao = Convert.ToDateTime(rw["dtEmissao"]),
                desconto = Convert.ToDouble(Convert.ToDouble(rw["desconto"]).ToString("N2")),
                totalReceber = Convert.ToDouble(Convert.ToDouble(rw["totalReceber"]).ToString("N2")),
                observacoes = Convert.ToString(rw["observacoes"]),
                dtCadastro = Convert.ToDateTime(Convert.ToDateTime(rw["dtCadastro"]).ToString("dd-MM-yyyy")),
                dtAlteracao = Convert.ToDateTime(rw["dtAlteracao"]),
                usuario = Convert.ToString(rw["usuario"]),
                listaItem = DaoVenda.BuscarItem(Convert.ToString(rw["modelo"]), Convert.ToString(rw["serie"]), Convert.ToString(rw["nrNota"]), Convert.ToInt64(rw["codCliente"])),
                listaContasReceber = DaoVenda.BuscarContasReceber(Convert.ToString(rw["modelo"]), Convert.ToString(rw["serie"]), Convert.ToString(rw["nrNota"]), Convert.ToInt64(rw["codCliente"])),
            }).ToList();

            return(convertedList);
        }
        public OrdemServicoValidator(OrdemServicoDAO ordemServicoDAO, ProdutoDAO produtoDAO, ServicoDAO servicoDAO, CondicaoPagamentoDAO condicaoPagamentoDAO)
        {
            this.ProdutoDAO           = produtoDAO ?? throw new ArgumentNullException(nameof(produtoDAO));
            this.ServicoDAO           = servicoDAO ?? throw new ArgumentNullException(nameof(servicoDAO));
            this.OrdemServicoDAO      = ordemServicoDAO ?? throw new ArgumentNullException(nameof(ordemServicoDAO));
            this.CondicaoPagamentoDAO = condicaoPagamentoDAO ?? throw new ArgumentNullException(nameof(condicaoPagamentoDAO));

            RuleFor(e => e.Id)
            .Must(ExistOrdemServico).WithMessage("Ordem de serviço não cadastrada.");

            RuleFor(e => e.CondicaoPagamentoId)
            .Must(ExistCondicaoPagamento).WithMessage("Condição de pagamento não cadastrada");

            RuleFor(e => e.DescricaoTecnico)
            .MaximumLength(255).WithMessage("Descrição não deve ter mais de 255 caracteres.");

            RuleFor(e => e.DescricaoObservacaoTecnico)
            .MaximumLength(255).WithMessage("Observações não deve ter mais de 255 caracteres.");

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

            RuleForEach(e => e.Servicos)
            .Must(ExistServico).WithMessage("Serviço não cadastrado.");

            RuleFor(e => e.Servicos)
            .Must(e => e.Count > 0).WithMessage("Informe os serviços.");

            RuleFor(e => e.ParcelasServico)
            .Must(e => e?.Count > 0).WithMessage("Informe as parcelas.");
        }
示例#5
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
        }
示例#6
0
 public object SelecionaCondicao()
 {
     try
     {
         if (gvCondPagamento.CurrentRow != null)
         {
             condPagamento = null;
             var condRow = gvCondPagamento.CurrentRow.DataBoundItem as DataRowView;
             CondicaoPagamentoDAO dao = new CondicaoPagamentoDAO();
             condPagamento = dao.BuscarPorID(condRow["codigo"]) as CondicaoPagamentos;
             return(condPagamento);
         }
         else
         {
             MessageBox.Show("Nenhuma condição de pagamento foi selecionada");
             return(null);
         }
     }
     catch
     {
         MessageBox.Show("Nenhuma condição de pagamento foi selecionada");
         return(null);
     }
 }
        public ClienteValidator(ClienteDAO ClienteDAO, CidadeDAO cidadeDAO, CondicaoPagamentoDAO condicaoPagamentoDAO)
        {
            this.CidadeDAO            = cidadeDAO;
            this.ClienteDAO           = ClienteDAO;
            this.CondicaoPagamentoDAO = condicaoPagamentoDAO;

            RuleFor(e => e.Nome)
            .NotEmpty().WithMessage("O Cliente não pode ser vaziu.")
            .MaximumLength(60).WithMessage("O Cliente não deve possuir mais de 60 caracteres.")
            .MinimumLength(5).WithMessage("O Cliente deve possuir mais de 5 caracteres.");

            RuleFor(e => e.Apelido)
            .MaximumLength(60).WithMessage("O Cliente não deve possuir mais de 60 caracteres.");


            RuleFor(e => e.Bairro)
            .NotEmpty().WithMessage("O Bairro não pode ser vaziu.")
            .MaximumLength(60).WithMessage("O Bairro não deve possuir mais de 60 caracteres.");

            RuleFor(e => e.Cep)
            .NotEmpty().WithMessage("O Cep não pode ser vaziu.")
            .MaximumLength(9).WithMessage("O Cep não deve possuir mais de 9 caracteres.")
            .MinimumLength(8).WithMessage("O Cep deve possuir mais de 8 caracteres.");

            RuleFor(e => e.Complemento)
            .MaximumLength(60).WithMessage("O Complemento não deve possuir mais de 60 caracteres.");

            RuleFor(e => e.Observacao)
            .MaximumLength(255).WithMessage("A Observacoes não deve possuir mais de 255 caracteres.");


            When(e => e.Nacionalidade.ToLower() == "brasileiro", () =>
            {
                RuleFor(e => e.CPFCPNJ)
                .NotEmpty().WithMessage("O CPF/CNPJ não pode ser vaziu.")
                .MaximumLength(18).WithMessage("O CPF/CNPJ não deve possuir mais de 18 caracteres.")
                .MinimumLength(5).WithMessage("O CPF/CNPJ deve possuir mais de 5 caracteres.");
            });

            RuleFor(e => e.Email)
            .NotEmpty().WithMessage("O Email não pode ser vaziu.")
            .MinimumLength(5).WithMessage("O Email deve possuir mais de 5 caracteres.")
            .MaximumLength(60).WithMessage("O Email não deve possuir mais de 60 caracteres.");

            RuleFor(e => e.DataNascimento)
            .Must(e => e < DateTime.Now.AddDays(-1)).WithMessage("Data de nascimento inválida.")
            .NotEmpty().WithMessage("O Data de nascimento não pode ser vaziu.");

            RuleFor(e => e.Endereco)
            .NotEmpty().WithMessage("O Endereço não pode ser vaziu.")
            .MaximumLength(60).WithMessage("O Endereço não deve possuir mais de 60 caracteres.")
            .MinimumLength(5).WithMessage("O Endereço deve possuir mais de 5 caracteres.");

            RuleFor(e => e.Nacionalidade)
            .NotEmpty().WithMessage("A Nacionalidade não pode ser vaziu.")
            .MinimumLength(5).WithMessage("A Nacionalidade deve possuir mais de 5 caracteres.")
            .MaximumLength(60).WithMessage("A Nacionalidade não deve possuir mais de 60 caracteres.");

            RuleFor(e => e.Numero)
            .NotEmpty().WithMessage("O Número não pode ser vaziu.")
            .MinimumLength(1).WithMessage("O Número deve possuir mais de 1 caracteres.")
            .MaximumLength(10).WithMessage("O Número não deve possuir mais de 10 caracteres.");

            RuleFor(e => e.RgInscricaoEstadual)
            .NotEmpty().WithMessage("O RG não pode ser vaziu.")
            .MinimumLength(5).WithMessage("O RG deve possuir mais de 5 caracteres.")
            .MaximumLength(19).WithMessage("O RG não deve possuir mais de 19 caracteres.");

            RuleFor(e => e.Telefone)
            .NotEmpty().WithMessage("O Telefone não pode ser vaziu.")
            .MinimumLength(5).WithMessage("O Telefone deve possuir mais de 5 caracteres.")
            .MaximumLength(30).WithMessage("O Telefone não deve possuir mais de 30 caracteres.");

            RuleFor(e => e.LimiteCredito)
            .Must(e => e >= 0).WithMessage("O Limite Credito deve ser maior que 0.")
            .Must(e => e < 100000000).WithMessage("O Limite Credito deve ser menor que 100000000.");

            RuleFor(e => e.CPFCPNJ)
            .Must(CPFIsAllow).OverridePropertyName("cpfcpnj").WithMessage("Cliente já cadastrado.");

            RuleFor(e => e.CidadeId).Must(ExistCidade).WithMessage("Cidade não cadastrada.");

            RuleFor(e => e.CondicaoPagamentoId).Must(ExistCondicaoPagamento).WithMessage("Condição de Pagamento não cadastrada.");
        }
        public FornecedorValidator(FornecedorDAO fornecedorDAO, CidadeDAO cidadeDAO, CondicaoPagamentoDAO condicaoPagamentoDAO)
        {
            this.CidadeDAO            = cidadeDAO;
            this.FornecedorDAO        = fornecedorDAO;
            this.CondicaoPagamentoDAO = condicaoPagamentoDAO;

            RuleFor(e => e.Nome)
            .NotEmpty().WithMessage("O Fornecedor não pode ser vaziu.")
            .MaximumLength(60).WithMessage("O Fornecedor não deve possuir mais de 60 caracteres.")
            .MinimumLength(5).WithMessage("O Fornecedor deve possuir mais de 5 caracteres.");

            RuleFor(e => e.Contato)
            .NotEmpty().WithMessage("O Contato não pode ser vaziu.")
            .MaximumLength(60).WithMessage("O Contato não deve possuir mais de 60 caracteres.")
            .MinimumLength(5).WithMessage("O Contato deve possuir mais de 5 caracteres.");

            RuleFor(e => e.Apelido)
            .MaximumLength(60).WithMessage("O Fornecedor não deve possuir mais de 60 caracteres.");

            RuleFor(e => e.CPFCPNJ)
            .NotEmpty().WithMessage("O CPF/CNPJ não pode ser vaziu.")
            .MaximumLength(18).WithMessage("O CPF/CNPJ não deve possuir mais de 18 caracteres.")
            .MinimumLength(5).WithMessage("O CPF/CNPJ deve possuir mais de 5 caracteres.");

            RuleFor(e => e.Bairro)
            .NotEmpty().WithMessage("O Bairro não pode ser vaziu.")
            .MaximumLength(60).WithMessage("O Bairro não deve possuir mais de 60 caracteres.");

            RuleFor(e => e.Cep)
            .NotEmpty().WithMessage("O Cep não pode ser vaziu.")
            .MaximumLength(9).WithMessage("O Cep não deve possuir mais de 9 caracteres.")
            .MinimumLength(8).WithMessage("O Cep deve possuir mais de 8 caracteres.");

            RuleFor(e => e.Complemento)
            .MaximumLength(60).WithMessage("O Complemento não deve possuir mais de 60 caracteres.");

            RuleFor(e => e.Observacao)
            .MaximumLength(255).WithMessage("A Observacoes não deve possuir mais de 255 caracteres.");

            RuleFor(e => e.Email)
            .NotEmpty().WithMessage("O Email não pode ser vaziu.")
            .MinimumLength(5).WithMessage("O Email deve possuir mais de 5 caracteres.")
            .MaximumLength(60).WithMessage("O Email não deve possuir mais de 60 caracteres.");

            RuleFor(e => e.Endereco)
            .NotEmpty().WithMessage("O Endereço não pode ser vaziu.")
            .MaximumLength(60).WithMessage("O Endereço não deve possuir mais de 60 caracteres.")
            .MinimumLength(5).WithMessage("O Endereço deve possuir mais de 5 caracteres.");

            RuleFor(e => e.Numero)
            .NotEmpty().WithMessage("O Número não pode ser vaziu.")
            .MinimumLength(1).WithMessage("O Número deve possuir mais de 1 caracteres.")
            .MaximumLength(10).WithMessage("O Número não deve possuir mais de 10 caracteres.");

            RuleFor(e => e.RgInscricaoEstadual)
            .NotEmpty().WithMessage("O RG não pode ser vaziu.")
            .MinimumLength(5).WithMessage("O RG deve possuir mais de 5 caracteres.")
            .MaximumLength(19).WithMessage("O RG não deve possuir mais de 19 caracteres.");

            RuleFor(e => e.Telefone)
            .NotEmpty().WithMessage("O Telefone não pode ser vaziu.")
            .MinimumLength(5).WithMessage("O Telefone deve possuir mais de 5 caracteres.")
            .MaximumLength(30).WithMessage("O Telefone não deve possuir mais de 30 caracteres.");

            RuleFor(e => e.LimiteCredito)
            .Must(e => e >= 0).WithMessage("O Limite Credito deve ser maior que 0.")
            .Must(e => e < 100000000).WithMessage("O Limite Credito deve ser menor que 100000000.");

            RuleFor(e => e.CPFCPNJ).Must(CPFIsAllow).WithMessage("Fornecedor já cadastrado.");

            RuleFor(e => e.CidadeId).Must(ExistCidade).WithMessage("Cidade não cadastrada.");

            RuleFor(e => e.CondicaoPagamentoId).Must(ExistCondicaoPagamento).WithMessage("Condição de Pagamento não cadastrada.");
        }
示例#9
0
 public CtrlCondicaoPagamento() : base(new CondicaoPagamentoDAO())
 {
     DaoCondicao = (CondicaoPagamentoDAO)this.Dao;
 }
示例#10
0
 public CondicaoPagamentoController(CondicaoPagamentoDAO dAO) : base(dAO)
 {
 }
 public CondicaoPagamentoController(CondicaoPagamentoDAO dAO, CondicaoPagamentoService condicaoPagamentoService) : base(dAO)
 {
     this.CondicaoPagamentoService = condicaoPagamentoService;
 }
示例#12
0
 public CondicaoPagamentoRN()
 {
     dao = new CondicaoPagamentoDAO();
 }
示例#13
0
 public CondicaoPagamentoService(CondicaoPagamentoDAO dAO)
 {
     DAO = dAO ?? throw new ArgumentNullException(nameof(dAO));
 }