private bool ValidarKm(ref decimal Km_atual) { bool retorno = true; //Validar KM Atual if ((!string.IsNullOrEmpty(placa.Text)) && (placa.Text.Trim() != "-") && (km_atual.Value > decimal.Zero)) { //Buscar ultimo KM Informado para a placa object obj = new CamadaDados.Frota.TCD_AbastVeiculo().BuscarEscalar( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "replace(d.placa, '-', '')", vOperador = "=", vVL_Busca = "'" + placa.Text.Trim().Replace("-", "") + "'" } }, "isnull(a.km_atual, 0)", string.Empty, "a.dt_abastecimento desc", null); if (obj != null) { Km_atual = decimal.Parse(obj.ToString()); if (Km_atual > km_atual.Value) { retorno = false; } } } return(retorno); }
private void afterExclui() { if (bsAbastVeiculo.Current != null) { CamadaDados.Frota.TList_AbastVeiculo lAbast = new CamadaDados.Frota.TCD_AbastVeiculo().Select( new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = string.Empty, vOperador = "exists", vVL_Busca = "(select 1 from tb_frt_abast_x_duplicata x where x.id_abastecimento = a.id_abastecimento " + "and x.cd_empresa = '" + (bsAbastVeiculo.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).lDup[0].Cd_empresa.Trim() + "' " + "and x.nr_lancto = " + (bsAbastVeiculo.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).lDup[0].Nr_lancto.ToString() + ")" } }, 0, string.Empty); if (lAbast.Count > 1) { //Exclusão de abastecimentos compostos if (MessageBox.Show("Confirma exclusão do abastecimento composto?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { try { CamadaNegocio.Frota.TCN_AbastVeiculo.Excluir(lAbast, null); MessageBox.Show("Abastecimento excluído com sucesso", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); LimparFiltros(); afterBusca(); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } //Exclusão de abastecimentos avulsos else { if (MessageBox.Show("Confirma exclusão " + ((bsAbastVeiculo.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Tp_registro.Trim().ToUpper().Equals("R") ? "da requisição " : "do abastecimento ") + "selecionado?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { try { CamadaNegocio.Frota.TCN_AbastVeiculo.Excluir(bsAbastVeiculo.Current as CamadaDados.Frota.TRegistro_AbastVeiculo, null); MessageBox.Show(((bsAbastVeiculo.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Tp_registro.Trim().ToUpper().Equals("R") ? "Requisição excluida " : "Abastecimento excluido ") + "com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); LimparFiltros(); afterBusca(); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } }
private void GravarAbastecimento() { if (pAbastecimento.validarCampoObrigatorio() && pDados.validarCampoObrigatorio()) { if (tpModo == Utils.TTpModo.tm_Insert) { //Validar nota fiscal de acordo com fornecedor if (!string.IsNullOrEmpty(nr_notafiscalAbast.Text)) { if (bsAbastComposto.Count > 0) { if ((bsAbastComposto.List as IEnumerable <CamadaDados.Frota.TRegistro_AbastVeiculo>).ToList().Exists(x => x.Nr_notafiscal.Equals(nr_notafiscalAbast.Text.Trim()) && x.Cd_fornecedor.Equals(cd_clifor.Text.Trim()))) { if (MessageBox.Show("Já existe na listagem de abastecimento, um lançamento com o número de nota fiscal: " + nr_notafiscalAbast.Text + ". Com o nome de fornecedor: " + nm_fornecedor.Text.Trim() + ". Deseja lançar novamente?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No) { return; } } } DataTable rAbast = new CamadaDados.Frota.TCD_AbastVeiculo().Buscar(new Utils.TpBusca[] { new Utils.TpBusca() { vNM_Campo = "a.NR_NotaFiscal", vOperador = "=", vVL_Busca = "'" + nr_notafiscalAbast.Text.Trim() + "'" }, new Utils.TpBusca() { vNM_Campo = "a.NM_Fornecedor", vOperador = "=", vVL_Busca = "'" + nm_fornecedor.Text.Trim() + "'" } }, 1); if (rAbast.Rows.Count > 0) { if (MessageBox.Show("Já existe um registro de abastecimento composto, com o número de nota fiscal: " + nr_notafiscalAbast.Text + ". Com o nome de fornecedor: " + nm_fornecedor.Text.Trim() + "Deseja lançar novamente?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No) { return; } } } bsAbastComposto.AddNew(); (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Cd_empresa = cd_empresa.Text; if (!string.IsNullOrEmpty(id_viagem.Text)) { (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Id_viagem = decimal.Parse(id_viagem.Text); } (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Id_veiculo = decimal.Parse(id_veiculo.Text); (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_veiculo = ds_veiculo.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Id_despesa = decimal.Parse(id_despesa.Text); (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_despesa = ds_despesa.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Cd_produto = cd_produto.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_produto = ds_produto.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Dt_abastecimento = DateTime.Parse(dt_abastecimento.Text); (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Km_atual = decimal.Parse(km_abastecimento.Value.ToString()); (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Nr_notafiscal = nr_notafiscalAbast.Text.Trim(); (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Cd_fornecedor = cd_clifor.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Nm_fornecedor = nm_fornecedor.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Volume = decimal.Parse(volume.Value.ToString()); (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Vl_unitario = decimal.Parse(vl_unitarioAbast.Value.ToString()); (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Vl_subtotal = decimal.Parse(vl_subtotalAbast.Value.ToString()); (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Tp_pagamento = tp_pagamento.Text.Equals("EMPRESA") ? "E" : "M"; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Tipo_pagamento = tp_pagamento.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Tp_abastecimento = "TERCEIRO"; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Tipo_abastecimento = "T"; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_observacao = ds_observacaoAbast.Text; if (ds_despesa.Text.Trim().Equals("ABASTECIMENTO")) { (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Tipo_registro = "ABASTECIMENTO"; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Tp_registro = "A"; } } else { //Alteracao (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Id_veiculostr = id_veiculo.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_veiculo = ds_veiculo.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Cd_produto = cd_produto.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_produto = ds_produto.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Dt_abastecimentostr = dt_abastecimento.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Km_atual = decimal.Parse(km_abastecimento.Value.ToString()); (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Nr_notafiscal = nr_notafiscalAbast.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Volume = decimal.Parse(volume.Value.ToString()); (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Vl_unitario = decimal.Parse(vl_unitarioAbast.Value.ToString()); (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Vl_subtotal = decimal.Parse(vl_subtotalAbast.Value.ToString()); (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Tp_pagamento = tp_pagamento.Text.Equals("EMPRESA") ? "E" : "M"; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Tipo_pagamento = tp_pagamento.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Tp_abastecimento = "TERCEIRO"; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Tipo_abastecimento = "T"; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Placa = placa.Text; (bsAbastComposto.Current as CamadaDados.Frota.TRegistro_AbastVeiculo).Ds_observacao = ds_observacaoAbast.Text; bsAbastComposto.ResetCurrentItem(); gAbastecimento.Enabled = true; } tpModo = Utils.TTpModo.tm_Standby; bb_novo_abastecimento.Enabled = true; bb_alterar_abastecimento.Enabled = true; bb_gravar_abastecimento.Enabled = false; bb_excluir_abastecimento.Enabled = true; pAbastecimento.LimparRegistro(); pAbastecimento.HabilitarControls(false, tpModo); } calculaTotalizador(); }