private void gAbastVeiculo_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { if (gAbastVeiculo.Columns[e.ColumnIndex].SortMode == DataGridViewColumnSortMode.NotSortable) { return; } if (bsAbastVeiculo.Count < 1) { return; } PropertyDescriptorCollection lP = TypeDescriptor.GetProperties(new CamadaDados.Frota.TRegistro_AbastVeiculo()); CamadaDados.Frota.TList_AbastVeiculo lComparer; SortOrder direcao = SortOrder.None; if ((gAbastVeiculo.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.None) || (gAbastVeiculo.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection == SortOrder.Descending)) { lComparer = new CamadaDados.Frota.TList_AbastVeiculo(lP.Find(gAbastVeiculo.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Ascending); foreach (DataGridViewColumn c in gAbastVeiculo.Columns) { c.HeaderCell.SortGlyphDirection = SortOrder.None; } direcao = SortOrder.Ascending; } else { lComparer = new CamadaDados.Frota.TList_AbastVeiculo(lP.Find(gAbastVeiculo.Columns[e.ColumnIndex].DataPropertyName, true), SortOrder.Descending); foreach (DataGridViewColumn c in gAbastVeiculo.Columns) { c.HeaderCell.SortGlyphDirection = SortOrder.None; } direcao = SortOrder.Descending; } (bsAbastVeiculo.List as CamadaDados.Frota.TList_AbastVeiculo).Sort(lComparer); bsAbastVeiculo.ResetBindings(false); gAbastVeiculo.Columns[e.ColumnIndex].HeaderCell.SortGlyphDirection = direcao; }
private void placa_Leave(object sender, EventArgs e) { if ((empresa.SelectedValue != null) && (lCfg.Count > 0) && (placa.Text.Trim() != "-")) { using (Proc_Commoditties.TFLanSessaoPDV fSessao = new Proc_Commoditties.TFLanSessaoPDV()) { fSessao.Mensagem = "Acesso Abastecimento Frota"; fSessao.Titulo = "FROTA"; if (fSessao.ShowDialog() == DialogResult.OK) { LoginAbastecida = fSessao.Usuario; if (new CamadaDados.Diversos.TCD_CadUsuario().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_div_acesso x " + "where x.Id_Menu = 191300 " + "and x.login = '******')" } }, "1") != null) { //Verificar placa cadastrada if (new CamadaDados.Frota.Cadastros.TCD_CadVeiculo().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_frt_veiculo x " + "where x.id_veiculo = a.id_veiculo " + "and REPLACE(x.placa, '-', '') = '" + placa.Text.Replace("-", string.Empty).Trim() + "')" } }, "1") != null) { //Verificar se o veiculo tem tracao if (new CamadaDados.Diversos.TCD_CadTpVeiculo().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.tp_veiculo", vOperador = "=", vVL_Busca = "'T'" }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_frt_veiculo x " + "where x.cd_tpveiculo = a.cd_tpveiculo " + "and REPLACE(x.placa, '-', '') = '" + placa.Text.Replace("-", string.Empty).Trim() + "')" } }, "1") != null) { //Buscar requisicao abastecimento para a placa CamadaDados.Frota.TList_AbastVeiculo lAbast = CamadaNegocio.Frota.TCN_AbastVeiculo.Buscar(string.Empty, empresa.SelectedValue.ToString(), string.Empty, string.Empty, placa.Text, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, "'R'", string.Empty, string.Empty, 1, null); if (lAbast.Count > 0) { bsAbastecimento.DataSource = lAbast; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Dt_abastecimento = CamadaDados.UtilData.Data_Servidor(); (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).LoginAbastecida = LoginAbastecida; bsAbastecimento.ResetCurrentItem(); km_atual.Enabled = true; ds_observacao.Enabled = true; bb_abast.Enabled = true; placa.Enabled = false; empresa.Enabled = false; bb_gravar.Enabled = true; bb_cancelar.Enabled = true; km_atual.Focus(); } else if (!lCfg[0].St_exigirrequisicaobool) { bsAbastecimento.AddNew(); (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Cd_empresa = empresa.SelectedValue.ToString(); (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Cd_produto = lCfg[0].Cd_combustivel; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_produto = lCfg[0].Ds_combustivel; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Id_despesa = lCfg[0].Id_despesacombustivel; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_despesa = lCfg[0].Ds_despesacombustivel; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Dt_abastecimento = CamadaDados.UtilData.Data_Servidor(); (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).LoginAbastecida = LoginAbastecida; //Verificar se existe viagem programada ou executando para o veiculo CamadaDados.Frota.TList_Viagem lViagem = CamadaNegocio.Frota.TCN_Viagem.Buscar(string.Empty, empresa.SelectedValue.ToString(), string.Empty, placa.Text, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, "'P', 'E'", null); if (lViagem.Count > 0) { if (lViagem.Count.Equals(0)) { (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Id_viagem = lViagem[0].Id_viagem; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_viagem = lViagem[0].Ds_viagem; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Id_veiculo = lViagem[0].Id_veiculo; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_veiculo = lViagem[0].Ds_veiculo; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Cd_empresa = lViagem[0].Cd_empresa; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Nm_empresa = lViagem[0].Nm_empresa; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Dt_abastecimento = CamadaDados.UtilData.Data_Servidor(); (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).LoginAbastecida = LoginAbastecida; bsAbastecimento.ResetCurrentItem(); km_atual.Enabled = true; ds_observacao.Enabled = true; bb_abast.Enabled = true; placa.Enabled = false; empresa.Enabled = false; bb_gravar.Enabled = true; bb_cancelar.Enabled = true; dt_requisicao.Focus(); } else { using (TFListViagem fViagem = new TFListViagem()) { fViagem.lViagem = lViagem; if (fViagem.ShowDialog() == DialogResult.OK) { (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Id_viagem = fViagem.rViagem.Id_viagem; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_viagem = fViagem.rViagem.Ds_viagem; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Id_veiculo = fViagem.rViagem.Id_veiculo; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_veiculo = fViagem.rViagem.Ds_veiculo; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Cd_empresa = fViagem.rViagem.Cd_empresa; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Nm_empresa = fViagem.rViagem.Nm_empresa; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Dt_abastecimento = CamadaDados.UtilData.Data_Servidor(); (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).LoginAbastecida = LoginAbastecida; bsAbastecimento.ResetCurrentItem(); km_atual.Enabled = true; ds_observacao.Enabled = true; bb_abast.Enabled = true; placa.Enabled = false; empresa.Enabled = false; bb_gravar.Enabled = true; bb_cancelar.Enabled = true; dt_requisicao.Focus(); } else { //Buscar veiculo CamadaDados.Frota.Cadastros.TList_CadVeiculo lVeic = CamadaNegocio.Frota.Cadastros.TCN_CadVeiculo.Buscar(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, placa.Text, string.Empty, string.Empty, string.Empty, string.Empty, "'A'", null); if (lVeic.Count > 0) { (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Id_veiculo = lVeic[0].Id_veiculo; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_veiculo = lVeic[0].Ds_veiculo; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).LoginAbastecida = LoginAbastecida; bsAbastecimento.ResetCurrentItem(); km_atual.Enabled = true; ds_observacao.Enabled = true; bb_abast.Enabled = true; placa.Enabled = false; empresa.Enabled = false; bb_gravar.Enabled = true; bb_cancelar.Enabled = true; dt_requisicao.Focus(); } else { MessageBox.Show("Não existe veiculo ativo para a placa " + placa.Text, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); placa.Clear(); placa.Focus(); } } } } } else { //Buscar veiculo CamadaDados.Frota.Cadastros.TList_CadVeiculo lVeic = CamadaNegocio.Frota.Cadastros.TCN_CadVeiculo.Buscar(string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, placa.Text, string.Empty, string.Empty, string.Empty, string.Empty, "'A'", null); if (lVeic.Count > 0) { (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Id_veiculo = lVeic[0].Id_veiculo; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_veiculo = lVeic[0].Ds_veiculo; (bsAbastecimento.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).LoginAbastecida = LoginAbastecida; bsAbastecimento.ResetCurrentItem(); km_atual.Enabled = true; ds_observacao.Enabled = true; bb_abast.Enabled = true; placa.Enabled = false; empresa.Enabled = false; bb_gravar.Enabled = true; bb_cancelar.Enabled = true; dt_requisicao.Focus(); } else { MessageBox.Show("Não existe veiculo ativo para a placa " + placa.Text, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); placa.Clear(); placa.Focus(); } } } else { MessageBox.Show("Empresa exige requisição para realizar abastecimento.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); placa.Clear(); placa.Focus(); } } else { MessageBox.Show("Veiculo informado não possui tração!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); placa.Clear(); placa.Focus(); } } else { MessageBox.Show("Não existe Veículo cadastrado para esta placa!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); placa.Clear(); placa.Focus(); } } else { MessageBox.Show("Usuario não tem acesso a tela de abastecimento Frota!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } else { MessageBox.Show("Obrigatorio informar login para iniciar abastecimento!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } } }