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; }
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!"); } }
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!"); } }
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); } }
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); } } }