Ejemplo n.º 1
0
        private int SalvarContato(Contato contato, string nomeUsuario)
        {
            if (string.IsNullOrWhiteSpace(contato.ContatoTexto))
            {
                throw new Exception("A Descrição é obrigatória!");
            }

            try
            {
                if (contato.Seq == 0)
                {
                    contato.Cod_Empresa = DadosStaticos.IdEmpresa;
                    _servicoPermissao.Permitir(AcaoUsuario.Incluir, _tabela, nomeUsuario);
                    contato.Usu_Inc = PermissaoUsuario.GravarUsuarioDataHora(nomeUsuario);
                    _repositorioContato.Insert(ref contato);
                }
                else
                {
                    _servicoPermissao.Permitir(AcaoUsuario.Alterar, _tabela, nomeUsuario);
                    contato.Usu_Alt = PermissaoUsuario.GravarUsuarioDataHora(nomeUsuario);
                    _repositorioContato.Update(contato);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(contato.Codigo);
        }
Ejemplo n.º 2
0
        public int Salvar(Cliente cliente, string nomeUsuario)
        {
            if (string.IsNullOrWhiteSpace(cliente.Nome))
            {
                throw new Exception("O nome é obrigatória!");
            }

            if (!Validacao.ValidarCnpj(cliente.CNPJ))
            {
                throw new Exception("CNPJ inválido!");
            }

            if (!Validacao.ValidarCPF(cliente.CPF))
            {
                throw new Exception("CPF inválido!");
            }

            try
            {
                if (cliente.Cod_Cliente == 0)
                {
                    cliente.Cod_Empresa = DadosStaticos.IdEmpresa;
                    _servicoPermissao.Permitir(AcaoUsuario.Incluir, _tabela, nomeUsuario);
                    cliente.Usu_Inc = PermissaoUsuario.GravarUsuarioDataHora(nomeUsuario);
                    _repositorioCliente.Insert(ref cliente);

                    if (cliente.PessoaCredito.Qtde_Credito > 0)
                    {
                        _servicoPessoaCredito.Salvar(cliente.PessoaCredito);
                    }
                }
                else
                {
                    _servicoPermissao.Permitir(AcaoUsuario.Alterar, _tabela, nomeUsuario);
                    cliente.Usu_Alt = PermissaoUsuario.GravarUsuarioDataHora(nomeUsuario);
                    _repositorioCliente.Update(cliente);

                    _servicoPessoaCredito.Salvar(cliente.PessoaCredito);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(cliente.Cod_Cliente);
        }
Ejemplo n.º 3
0
        public int Salvar(Carga carga, string nomeUsuario)
        {
            if (carga.Cod_Cliente == 0)
            {
                throw new Exception("O cliente é obrigatório!");
            }
            if (carga.Cod_For == 0)
            {
                throw new Exception("O fornecedor é obrigatório!");
            }
            if (carga.Num_Pedido == 0)
            {
                throw new Exception("O número do pedido é obrigatório!");
            }
            if (carga.Num_Carga <= 0)
            {
                throw new Exception("O número da carga é obrigatório!");
            }
            if (carga.Valor_Frete <= 0)
            {
                throw new Exception("O valor do frete é obrigatório!");
            }
            if (carga.Qtde <= 0)
            {
                throw new Exception("A quantidade é obrigatório!");
            }
            if (carga.Cod_Contato == 0)
            {
                throw new Exception("O contato é obrigatório!");
            }

            if (_repositorioCarga.GetList(x => x.Cod_Empresa == carga.Cod_Empresa && x.Num_Carga == carga.Num_Carga &&
                                          x.Letra == carga.Letra && x.Id_Carga != carga.Id_Carga).Any())
            {
                throw new Exception("Número da carga ja existe, escolha outro número");
            }

            bool incluindo = (carga.Id_Carga == 0);

            if (carga.Id_Carga > 0)
            {
                if (ParcelaCargaIguais(carga) == false)
                {
                    throw new Exception("Valor da carga difere do valor das parcelas. Verifique as parcelas!");
                }
            }

            CalcularLucro(carga, true);

            try
            {
                if (carga.Id_Carga == 0)
                {
                    _servicoPermissao.Permitir(AcaoUsuario.Incluir, _tabela, nomeUsuario);
                    carga.Usu_Inc = PermissaoUsuario.GravarUsuarioDataHora(nomeUsuario);
                    _repositorioCarga.Insert(ref carga);
                }
                else
                {
                    _servicoPermissao.Permitir(AcaoUsuario.Alterar, _tabela, nomeUsuario);
                    carga.Usu_Alt = PermissaoUsuario.GravarUsuarioDataHora(nomeUsuario);
                    _repositorioCarga.Update(carga);
                }

                if (carga.Situacao == "C") // se for cancelado
                {
                    _servicoConta.ExcluirParcelas(carga.Id_Carga, carga.Cod_Empresa);
                }
                else
                {
                    if (incluindo)
                    {
                        MontarParcelas(carga);
                    }
                    else
                    {
                        VerificarParcelasCargaClienteDiferente(carga, nomeUsuario);
                    }
                }

                SalvarVencimentos(carga);
                SalvarObservacao(carga);

                // TODO: ver saldo
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }

            return(carga.Id_Carga);
        }