public ServicoExterno BuscarCNPJ(long cnpj)
        {
            string query = "SELECT SERVEXT_CNPJ, SERVEXT_TIPO, SERVEXT_NOME, SERVEXT_TELEFONE, SERVEXT_EMAIL, SERVEXT_ENDERECO, SERVEXT_CONVENIADO " +
                           "FROM TB_SERVICOS_EXTERNOS WHERE SERVEXT_CNPJ = " + cnpj;

            try
            {
                DataTable dt = _banco.BuscarRegistro(query);
                ServicoExternoConveniado servicoExternoConveniado = null;
                ServicoExterno           servicoExterno           = null;
                DataRow[] dataRows = dt.Select("SERVEXT_CNPJ = " + cnpj);
                foreach (DataRow dr in dataRows)
                {
                    long cNPJ = long.Parse(dr["SERVEXT_CNPJ"].ToString());
                    TipoServicoExterno tipo = (TipoServicoExterno)Enum.Parse(typeof(TipoServicoExterno), dr["SERVEXT_TIPO"].ToString());
                    long telefone           = long.Parse(dr["SERVEXT_TELEFONE"].ToString());
                    bool conveniado         = bool.Parse(dr["SERVEXT_CONVENIADO"].ToString());


                    servicoExterno = new ServicoExterno(cNPJ, tipo, dr["SERVEXT_NOME"].ToString(), telefone, dr["SERVEXT_EMAIL"].ToString()
                                                        , dr["SERVEXT_ENDERECO"].ToString()
                                                        , conveniado, servicoExternoConveniado);
                }
                return(servicoExterno);
            }
            catch (Exception)
            {
                throw new ConcorrenciaBancoException("Erro de concorrência de banco!");
            }
        }
        public List <ServicoExterno> BuscarTodos(DateTime dtinicio, DateTime dtfim)
        {
            List <ServicoExterno> servicoExternos = new List <ServicoExterno>();
            string query = "SELECT SERVEXT_CNPJ, SERVEXT_TIPO, SERVEXT_NOME, SERVEXT_TELEFONE, SERVEXT_EMAIL, SERVEXT_ENDERECO, SERVEXT_CONVENIADO " +
                           "FROM TB_SERVICOS_EXTERNOS WHERE SERVEXT_CONVENIADO = 0 AND" +
                           "((YEAR([SERVEXT_DATAREGISTRO]) >= '" + dtinicio.Year + "' AND YEAR([SERVEXT_DATAREGISTRO]) <= '" + dtfim.Year + "')" +
                           "AND MONTH([SERVEXT_DATAREGISTRO]) >= '" + dtinicio.Month + "' AND MONTH([SERVEXT_DATAREGISTRO]) <= '" + dtfim.Month + "')";

            try
            {
                DataTable dt = _banco.BuscarRegistro(query);
                ServicoExternoConveniado servicoExternoConveniado = null;
                ServicoExterno           servicoExterno           = null;
                DataRow[] dataRows = dt.Select();
                foreach (DataRow dr in dataRows)
                {
                    long cNPJ = long.Parse(dr["SERVEXT_CNPJ"].ToString());
                    TipoServicoExterno tipo = (TipoServicoExterno)Enum.Parse(typeof(TipoServicoExterno), dr["SERVEXT_TIPO"].ToString());
                    long telefone           = long.Parse(dr["SERVEXT_TELEFONE"].ToString());
                    bool conveniado         = bool.Parse(dr["SERVEXT_CONVENIADO"].ToString());


                    servicoExterno = new ServicoExterno(cNPJ, tipo, dr["SERVEXT_NOME"].ToString(), telefone, dr["SERVEXT_EMAIL"].ToString()
                                                        , dr["SERVEXT_ENDERECO"].ToString()
                                                        , conveniado, servicoExternoConveniado);
                    servicoExternos.Add(servicoExterno);
                }
                return(servicoExternos);
            }
            catch (Exception)
            {
                throw new ConcorrenciaBancoException("Erro de concorrência de banco!");
            }
        }
        public List <ServicoExterno> PesquisarConveniados(string busca)
        {
            List <ServicoExterno> servicoExternos = new List <ServicoExterno>();
            string query;

            if (busca == "")
            {
                return(servicoExternos);
            }

            if (DetectaChar(busca) > 0)
            {
                query = "SELECT S.SERVEXT_CNPJ, S.SERVEXT_TIPO, S.SERVEXT_NOME, S.SERVEXT_TELEFONE, S.SERVEXT_EMAIL, S.SERVEXT_ENDERECO, S.SERVEXT_CONVENIADO," +
                        " C.SERVEXTCONV_VALOR, C.SERVEXTCONV_DTINICIO, C.SERVEXTCONV_DTVENC FROM TB_SERVICOS_EXTERNOS as S JOIN TB_SERVICOS_EXTERNOS_CONVENIADOS C" +
                        " ON S.SERVEXT_CNPJ = C.SERVEXTCONV_SERVEXT_CNPJ WHERE (SERVEXT_TIPO LIKE '%" + busca + "%'" +
                        " OR SERVEXT_NOME LIKE '%" + busca + "%' OR SERVEXT_EMAIL LIKE '%" + busca + "%'" +
                        " OR SERVEXT_ENDERECO LIKE '%" + busca + "%')";
            }
            else
            {
                query = "SELECT S.SERVEXT_CNPJ, S.SERVEXT_TIPO, S.SERVEXT_NOME, S.SERVEXT_TELEFONE, S.SERVEXT_EMAIL, S.SERVEXT_ENDERECO, S.SERVEXT_CONVENIADO," +
                        " C.SERVEXTCONV_VALOR, C.SERVEXTCONV_DTINICIO, C.SERVEXTCONV_DTVENC FROM TB_SERVICOS_EXTERNOS as S JOIN TB_SERVICOS_EXTERNOS_CONVENIADOS C" +
                        " ON S.SERVEXT_CNPJ = C.SERVEXTCONV_SERVEXT_CNPJ WHERE (CONVERT(varchar,SERVEXT_CNPJ) LIKE '%" + busca + "%'" +
                        " OR SERVEXT_TIPO LIKE '%" + busca + "%' OR SERVEXT_NOME LIKE '%" + busca + "%' OR SERVEXT_EMAIL LIKE '%" + busca + "%'" +
                        " OR SERVEXT_ENDERECO LIKE '%" + busca + "%')";
            }

            try
            {
                DataTable dt = _banco.BuscarRegistro(query);
                ServicoExternoConveniado servicoExternoConveniado = null;
                ServicoExterno           servicoExterno           = null;
                DataRow[] dataRows = dt.Select();
                foreach (DataRow dr in dataRows)
                {
                    long cNPJ = long.Parse(dr["SERVEXT_CNPJ"].ToString());
                    TipoServicoExterno tipo = (TipoServicoExterno)Enum.Parse(typeof(TipoServicoExterno), dr["SERVEXT_TIPO"].ToString());
                    long telefone           = long.Parse(dr["SERVEXT_TELEFONE"].ToString());
                    bool conveniado         = bool.Parse(dr["SERVEXT_CONVENIADO"].ToString());

                    if (conveniado)
                    {
                        double   valor        = double.Parse(dr["SERVEXTCONV_VALOR"].ToString());
                        DateTime dtInicio     = DateTime.Parse(dr["SERVEXTCONV_DTINICIO"].ToString());
                        DateTime dtVencimento = DateTime.Parse(dr["SERVEXTCONV_DTVENC"].ToString());
                        servicoExternoConveniado = new ServicoExternoConveniado(valor, dtInicio, dtVencimento);
                    }
                    servicoExterno = new ServicoExterno(cNPJ, tipo, dr["SERVEXT_NOME"].ToString(), telefone, dr["SERVEXT_EMAIL"].ToString()
                                                        , dr["SERVEXT_ENDERECO"].ToString()
                                                        , conveniado, servicoExternoConveniado);
                    servicoExternos.Add(servicoExterno);
                }
                return(servicoExternos);
            }
            catch (Exception)
            {
                throw new ConcorrenciaBancoException("Erro de concorrência de banco!");
            }
        }
 public ServicoExterno(long cNPJ, TipoServicoExterno tipo, string nome, long telefone, string email, string endereco, bool conveniado, ServicoExternoConveniado servicoExternoConveniado)
 {
     CNPJ       = cNPJ;
     Tipo       = tipo;
     Nome       = nome;
     Telefone   = telefone;
     Email      = email;
     Endereco   = endereco;
     Conveniado = conveniado;
     ServicoExternoConveniado = servicoExternoConveniado;
 }
Ejemplo n.º 5
0
        public bool Alterar(ServicoExterno servicoExterno, long cnpj, TipoServicoExterno tipo)
        {
            try
            {
                ServicoExterno obj = _servicoExternoDAL.BuscarCNPJConveniado(cnpj);
                if (obj != null)
                {
                    if (servicoExterno.CNPJ != cnpj || servicoExterno.Tipo != tipo)
                    {
                        VerificarVinculo(tipo, cnpj);
                    }
                    return(_servicoExternoDAL.AlterarConveniado(servicoExterno, cnpj));
                }
                else
                {
                    obj = _servicoExternoDAL.BuscarCNPJ(cnpj);

                    if (obj != null)
                    {
                        if (servicoExterno.ServicoExternoConveniado != null)
                        {
                            if (servicoExterno.CNPJ != cnpj || servicoExterno.Tipo != tipo)
                            {
                                VerificarVinculo(tipo, cnpj);
                            }

                            return(_servicoExternoDAL.AlterarConveniado(servicoExterno, cnpj));
                        }
                        else
                        {
                            if (servicoExterno.CNPJ != cnpj || servicoExterno.Tipo != tipo)
                            {
                                VerificarVinculo(tipo, cnpj);
                            }

                            return(_servicoExternoDAL.Alterar(servicoExterno, cnpj));
                        }
                    }
                    else
                    {
                        throw new NaoEncontradoException("Veículo não encontrado.");
                    }
                }
            }
            catch (TransacaoException e)
            {
                throw new TransacaoException(e.Message);
            }
            catch (ConcorrenciaBancoException e)
            {
                throw new ConcorrenciaBancoException(e.Message);
            }
        }
        public List <ServicoExterno> Pesquisar(string busca)
        {
            List <ServicoExterno> servicoExternos = new List <ServicoExterno>();
            string query;

            if (busca == "")
            {
                return(servicoExternos);
            }

            if (DetectaChar(busca) > 0)
            {
                query = "SELECT SERVEXT_CNPJ, SERVEXT_TIPO, SERVEXT_NOME, SERVEXT_TELEFONE, SERVEXT_EMAIL, SERVEXT_ENDERECO, SERVEXT_CONVENIADO" +
                        " FROM TB_SERVICOS_EXTERNOS WHERE SERVEXT_CONVENIADO = 0 AND(SERVEXT_TIPO LIKE '%" + busca + "%'" +
                        " OR SERVEXT_NOME LIKE '%" + busca + "%' OR SERVEXT_EMAIL LIKE '%" + busca + "%'" +
                        " OR SERVEXT_ENDERECO LIKE '%" + busca + "%')";
            }
            else
            {
                query = "SELECT SERVEXT_CNPJ, SERVEXT_TIPO, SERVEXT_NOME, SERVEXT_TELEFONE, SERVEXT_EMAIL, SERVEXT_ENDERECO, SERVEXT_CONVENIADO" +
                        " FROM TB_SERVICOS_EXTERNOS WHERE SERVEXT_CONVENIADO = 0 AND (CONVERT(varchar,SERVEXT_CNPJ) LIKE '%" + busca + "%'" +
                        " OR SERVEXT_TIPO LIKE '%" + busca + "%' OR SERVEXT_NOME LIKE '%" + busca + "%' OR SERVEXT_EMAIL LIKE '%" + busca + "%'" +
                        " OR SERVEXT_ENDERECO LIKE '%" + busca + "%')";
            }

            try
            {
                DataTable dt = _banco.BuscarRegistro(query);
                ServicoExternoConveniado servicoExternoConveniado = null;
                ServicoExterno           servicoExterno           = null;
                DataRow[] dataRows = dt.Select();
                foreach (DataRow dr in dataRows)
                {
                    long cNPJ = long.Parse(dr["SERVEXT_CNPJ"].ToString());
                    TipoServicoExterno tipo = (TipoServicoExterno)Enum.Parse(typeof(TipoServicoExterno), dr["SERVEXT_TIPO"].ToString());
                    long telefone           = long.Parse(dr["SERVEXT_TELEFONE"].ToString());
                    bool conveniado         = bool.Parse(dr["SERVEXT_CONVENIADO"].ToString());


                    servicoExterno = new ServicoExterno(cNPJ, tipo, dr["SERVEXT_NOME"].ToString(), telefone, dr["SERVEXT_EMAIL"].ToString()
                                                        , dr["SERVEXT_ENDERECO"].ToString()
                                                        , conveniado, servicoExternoConveniado);
                    servicoExternos.Add(servicoExterno);
                }
                return(servicoExternos);
            }
            catch (Exception)
            {
                throw new ConcorrenciaBancoException("Erro de concorrência de banco!");
            }
        }
Ejemplo n.º 7
0
        private void VerificarVinculo(TipoServicoExterno tipo, long cnpj)
        {
            if (tipo == TipoServicoExterno.Oficina)
            {
                List <Manutencao> manutencoes = _manutencaoDAL.BuscarTodos(cnpj);
                foreach (Manutencao manutencao in manutencoes)
                {
                    if (manutencao != null)
                    {
                        throw new IntegridadeException("CNPJ da Oficina ou Tipo de Serviço Externo não podem ser alterados, pois ainda está vinculado à outros serviços.");
                    }
                }
            }
            else if (tipo == TipoServicoExterno.Posto)
            {
                List <Abastecimento> abastecimentos = _abastecimentoDAL.BuscarTodos(cnpj);
                foreach (Abastecimento abastecimento in abastecimentos)
                {
                    if (abastecimento != null)
                    {
                        throw new IntegridadeException("CNPJ do Posto ou Tipo de Serviço Externo não podem ser alterados, pois ainda está vinculado à outros serviços.");
                    }
                }
            }

            else if (tipo == TipoServicoExterno.GaragemEstacionamento)
            {
                List <EntradaSaida> entradasSaidas = _entradaSaidaDAL.BuscarTodos(cnpj);
                foreach (EntradaSaida entradaSaida in entradasSaidas)
                {
                    if (entradaSaida != null)
                    {
                        throw new IntegridadeException("CNPJ da Garagem / Estacionamento ou Tipo de Serviço Externo não podem ser alterados, pois ainda está vinculado à outros serviços.");
                    }
                }
            }

            else if (tipo == TipoServicoExterno.Seguradora)
            {
                List <Seguro> seguros = _seguroDAL.BuscarTodos(cnpj);
                foreach (Seguro seguro in seguros)
                {
                    if (seguro != null)
                    {
                        throw new IntegridadeException("CNPJ da Seguradora ou Tipo de Serviço Externo não podem ser alterados, pois ainda está vinculado à outros serviços.");
                    }
                }
            }
        }
        public List <ServicoExterno> BuscarTodosConveniados(DateTime dtinicio, DateTime dtfim)
        {
            List <ServicoExterno> servicoExternos = new List <ServicoExterno>();
            string query = "SELECT S.SERVEXT_CNPJ, S.SERVEXT_TIPO, S.SERVEXT_NOME, S.SERVEXT_TELEFONE, S.SERVEXT_EMAIL, S.SERVEXT_ENDERECO, S.SERVEXT_CONVENIADO " +
                           ", C.SERVEXTCONV_VALOR, C.SERVEXTCONV_DTINICIO, C.SERVEXTCONV_DTVENC " +
                           "FROM TB_SERVICOS_EXTERNOS as S JOIN TB_SERVICOS_EXTERNOS_CONVENIADOS C " +
                           "ON S.SERVEXT_CNPJ = C.SERVEXTCONV_SERVEXT_CNPJ " +
                           "WHERE ((YEAR(S.[SERVEXT_DATAREGISTRO]) >= '" + dtinicio.Year + "' AND YEAR(S.[SERVEXT_DATAREGISTRO]) <= '" + dtfim.Year + "')" +
                           "AND MONTH(S.[SERVEXT_DATAREGISTRO]) >= '" + dtinicio.Month + "' AND MONTH(S.[SERVEXT_DATAREGISTRO]) <= '" + dtfim.Month + "')" +
                           "ORDER BY S.SERVEXT_TIPO";

            try
            {
                DataTable dt = _banco.BuscarRegistro(query);
                ServicoExternoConveniado servicoExternoConveniado = null;
                ServicoExterno           servicoExterno           = null;
                DataRow[] dataRows = dt.Select();
                foreach (DataRow dr in dataRows)
                {
                    long cNPJ = long.Parse(dr["SERVEXT_CNPJ"].ToString());
                    TipoServicoExterno tipo = (TipoServicoExterno)Enum.Parse(typeof(TipoServicoExterno), dr["SERVEXT_TIPO"].ToString());
                    long telefone           = long.Parse(dr["SERVEXT_TELEFONE"].ToString());
                    bool conveniado         = bool.Parse(dr["SERVEXT_CONVENIADO"].ToString());

                    if (conveniado)
                    {
                        double   valor        = double.Parse(dr["SERVEXTCONV_VALOR"].ToString());
                        DateTime dtInicio     = DateTime.Parse(dr["SERVEXTCONV_DTINICIO"].ToString());
                        DateTime dtVencimento = DateTime.Parse(dr["SERVEXTCONV_DTVENC"].ToString());
                        servicoExternoConveniado = new ServicoExternoConveniado(valor, dtInicio, dtVencimento);
                    }
                    servicoExterno = new ServicoExterno(cNPJ, tipo, dr["SERVEXT_NOME"].ToString(), telefone, dr["SERVEXT_EMAIL"].ToString()
                                                        , dr["SERVEXT_ENDERECO"].ToString()
                                                        , conveniado, servicoExternoConveniado);
                    servicoExternos.Add(servicoExterno);
                }
                return(servicoExternos);
            }
            catch (Exception)
            {
                throw new ConcorrenciaBancoException("Erro de concorrência de banco!");
            }
        }
        public ServicoExterno BuscarCNPJConveniado(long cnpj)
        {
            string query = "SELECT S.SERVEXT_CNPJ, S.SERVEXT_TIPO, S.SERVEXT_NOME, S.SERVEXT_TELEFONE, S.SERVEXT_EMAIL, S.SERVEXT_ENDERECO, S.SERVEXT_CONVENIADO " +
                           ", C.SERVEXTCONV_VALOR, C.SERVEXTCONV_DTINICIO, C.SERVEXTCONV_DTVENC " +
                           "FROM TB_SERVICOS_EXTERNOS as S JOIN TB_SERVICOS_EXTERNOS_CONVENIADOS C " +
                           "ON S.SERVEXT_CNPJ = C.SERVEXTCONV_SERVEXT_CNPJ WHERE S.SERVEXT_CNPJ = " + cnpj;

            try
            {
                DataTable dt = _banco.BuscarRegistro(query);
                ServicoExternoConveniado servicoExternoConveniado = null;
                ServicoExterno           servicoExterno           = null;
                DataRow[] dataRows = dt.Select("SERVEXT_CNPJ = " + cnpj);
                foreach (DataRow dr in dataRows)
                {
                    long cNPJ = long.Parse(dr["SERVEXT_CNPJ"].ToString());
                    TipoServicoExterno tipo = (TipoServicoExterno)Enum.Parse(typeof(TipoServicoExterno), dr["SERVEXT_TIPO"].ToString());
                    long telefone           = long.Parse(dr["SERVEXT_TELEFONE"].ToString());
                    bool conveniado         = bool.Parse(dr["SERVEXT_CONVENIADO"].ToString());

                    if (conveniado)
                    {
                        double   valor        = double.Parse(dr["SERVEXTCONV_VALOR"].ToString());
                        DateTime dtInicio     = DateTime.Parse(dr["SERVEXTCONV_DTINICIO"].ToString());
                        DateTime dtVencimento = DateTime.Parse(dr["SERVEXTCONV_DTVENC"].ToString());
                        servicoExternoConveniado = new ServicoExternoConveniado(valor, dtInicio, dtVencimento);
                    }
                    servicoExterno = new ServicoExterno(cNPJ, tipo, dr["SERVEXT_NOME"].ToString(), telefone, dr["SERVEXT_EMAIL"].ToString()
                                                        , dr["SERVEXT_ENDERECO"].ToString()
                                                        , conveniado, servicoExternoConveniado);
                }
                return(servicoExterno);
            }
            catch (Exception)
            {
                throw new ConcorrenciaBancoException("Erro de concorrência de banco!");
            }
        }
Ejemplo n.º 10
0
 public bool Alterar(ServicoExterno servicoExterno, long cnpj, TipoServicoExterno tipo)
 {
     try
     {
         return(_servicoExternoService.Alterar(servicoExterno, cnpj, tipo));
     }
     catch (NaoEncontradoException e)
     {
         throw new NaoEncontradoException(e.Message);
     }
     catch (ConcorrenciaBancoException e)
     {
         throw new ConcorrenciaBancoException(e.Message);
     }
     catch (TransacaoException e)
     {
         throw new TransacaoException(e.Message);
     }
     catch (IntegridadeException e)
     {
         throw new IntegridadeException(e.Message);
     }
 }
Ejemplo n.º 11
0
        private void BtnCadastrarServicoExterno_Click(object sender, EventArgs e)
        {
            if (txtCNPJ.Text == "" || txtNomeServico.Text == "" || txtTelefone.Text == "" || txtemail.Text == "" || txtEndereco.Text == "" || txtCNPJ.Text.Length < 17)
            {
                if (rdConveniado.Checked)
                {
                    if (dtInicio.Value > dtVencimento.Value)
                    {
                        MessageBox.Show("A Data de Vencimento deve ser maior que a data de Início!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                    if (txtValor.Text == "")
                    {
                        MessageBox.Show("Preencha os campos corretamente!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                }
                else
                {
                    MessageBox.Show("Preencha os campos corretamente!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            else
            {
                TipoServicoExterno tipoServicoExterno = (TipoServicoExterno)Enum.Parse(typeof(TipoServicoExterno), cbTipo.SelectedItem.ToString());
                bool conveniado = false;
                ServicoExternoConveniado servicoExternoConveniado = null;

                if (rdConveniado.Checked)
                {
                    conveniado = true;
                    double valor = double.Parse(txtValor.Text);
                    servicoExternoConveniado = new ServicoExternoConveniado(valor, dtInicio.Value, dtVencimento.Value);
                }

                string[] strings = new string[] { ".", "/", "-", ",", "(", ")", " " };

                string cnpj     = txtCNPJ.Text;
                string telefone = txtTelefone.Text;

                foreach (string str in strings)
                {
                    cnpj     = cnpj.Replace(str, "");
                    telefone = telefone.Replace(str, "");
                }

                ServicoExterno servicoExterno = new ServicoExterno(long.Parse(cnpj), tipoServicoExterno, txtNomeServico.Text, long.Parse(telefone), txtemail.Text,
                                                                   txtEndereco.Text, conveniado, servicoExternoConveniado);

                try
                {
                    if (_servicoExternoController.Cadastrar(servicoExterno, servicoExterno.CNPJ))
                    {
                        MessageBox.Show("Cadastro realizado com Sucesso!");
                        txtCNPJ.Text            = "";
                        txtNomeServico.Text     = "";
                        cbTipo.Text             = "";
                        txtTelefone.Text        = "";
                        txtemail.Text           = "";
                        txtEndereco.Text        = "";
                        rdConveniado.Checked    = false;
                        rdNaoConveniado.Checked = false;
                        txtValor.Text           = "";
                        dtInicio.Value          = DateTime.Now;
                        dtVencimento.Value      = DateTime.Now;
                    }
                }
                catch (RegistroExisteException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (ConcorrenciaBancoException ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }