private void afterBusca() { string status = string.Empty; string virg = string.Empty; if (cbxAberto.Checked) { status = "'A'"; virg = ","; } if (cbxRetirado.Checked) { status += virg + "'R'"; virg = ","; } if (cbxDevolvido.Checked) { status += virg + "'D'"; } bsLocacao.DataSource = TCN_Locacao.buscar(Cd_empresa.Text, Id_locacao.Text, Cd_clifor.Text, rbDtLocacao.Checked ? "L" : rdDtRetirada.Checked ? "R" : rbDtPrevDev.Checked ? "P" : rbDevolucao.Checked ? "D" : string.Empty, dt_ini.Text, dt_fin.Text, status, null); bsLocacao_PositionChanged(this, new EventArgs()); }
private void afterExclui() { if (bsLocacao.Current != null) { if (MessageBox.Show("Confirma exclusão da Locacao selecionada?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { try { TCN_Locacao.Excluir(bsLocacao.Current as TRegistro_Locacao, null); MessageBox.Show("Locacao excluida com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); this.afterBusca(); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
private void DevolverLocacao() { if (bsLocacao.Current != null) { if ((bsLocacao.Current as TRegistro_Locacao).St_registro.Trim().Equals("A")) { MessageBox.Show("Não é permitido DEVOLVER locação ABERTA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if ((bsLocacao.Current as TRegistro_Locacao).St_registro.Trim().ToUpper().Equals("D")) { MessageBox.Show("Locação ja se encontra DEVOLVIDA.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } using (TFDevolverLocacao fDevolver = new TFDevolverLocacao()) { fDevolver.rLocacao = bsLocacao.Current as TRegistro_Locacao; if (fDevolver.ShowDialog() == DialogResult.OK) { if (fDevolver.rLocacao != null) { try { CamadaDados.Faturamento.PDV.TRegistro_PreVenda rPreVenda = null; TCN_Locacao.DevolverLocacao(fDevolver.rLocacao, ref rPreVenda, null); MessageBox.Show("Locação devolvida com sucesso.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information); this.LimpaFiltros(); Id_locacao.Text = fDevolver.rLocacao.Id_locacaostr; Cd_empresa.Text = fDevolver.rLocacao.Cd_empresa; this.afterBusca(); } catch (Exception ex) { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } } }
public static string Gravar(TRegistro_ColetaEntrega val, TRegistro_Locacao rLoc, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_ColetaEntrega qtb_locacao = new TCD_ColetaEntrega(); try { if (banco == null) { st_transacao = qtb_locacao.CriarBanco_Dados(true); } else { qtb_locacao.Banco_Dados = banco; } val.Id_coletastr = CamadaDados.TDataQuery.getPubVariavel(qtb_locacao.Gravar(val), "@P_ID_COLETA"); //Gravar Vistoria val.lVistoria.ForEach(p => { p.Id_coleta = val.Id_coletastr; TCN_Vistoria.Gravar(p, qtb_locacao.Banco_Dados); }); //Gravar Itens Locação if (rLoc.lItens != null) { if (rLoc.lItens.Count > 0) { rLoc.lItens.FindAll(p => p.St_processar).ForEach(p => { if (val.Tp_mov.ToUpper().Equals("E")) { p.Dt_retirada = CamadaDados.UtilData.Data_Servidor(); } else { p.Dt_devolucao = string.IsNullOrEmpty(p.Dt_devolucaostr) ? CamadaDados.UtilData.Data_Servidor() : p.Dt_devolucao; //Gravar devolução de patrimonio TCN_DevItensLocacao.Gravar(new TRegistro_DevItensLocacao() { Cd_empresa = p.Cd_empresa, Id_locacao = p.Id_locacao, Id_itemloc = p.Id_itemloc, Qtd_baixada = p.St_baixa ? p.SaldoDevolver : decimal.Zero, Qtd_devolvida = p.Qtd_devolver > 0 ? p.Qtd_devolver : p.QTDItem }, qtb_locacao.Banco_Dados); //Verificar se Patrimonio é quantidade 1 para cancelar senão pular processo if (p.St_baixa) { System.Collections.Hashtable hs = new System.Collections.Hashtable(); hs.Add("@SALDO", p.SaldoDevolver); hs.Add("@PRODUTO", p.Cd_produto); qtb_locacao.executarSql(p.Qtd_Patrimonio > 1 ? "update TB_EST_Patrimonio set Quantidade = Quantidade - @SALDO " + "where cd_patrimonio = @PRODUTO " + "and quantidade > 1 " : "update TB_EST_Produto set St_registro = 'C' " + "where cd_produto = @PRODUTO ", hs); } } //Gravar Itens TCN_ItensLocacao.Gravar(p, qtb_locacao.Banco_Dados); }); } //Gravar Locação if (val.Tp_mov.Trim().ToUpper().Equals("E")) { rLoc.St_registro = "2"; //Mudar Status para ENTREGUE qtb_locacao.executarSql("update TB_LOC_Locacao set st_registro = '" + rLoc.St_registro + "', dt_alt = getdate() " + "where isnull(ST_Registro, '0') = '0' " + "and ID_Locacao = " + rLoc.Id_locacaostr, null); } else { //Verificar se tem item com data de devolucao null if (new TCD_ItensLocacao(qtb_locacao.Banco_Dados).BuscarEscalar( new TpBusca[] { new TpBusca { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + rLoc.Cd_empresa.Trim() + "'" }, new TpBusca { vNM_Campo = "a.id_locacao", vOperador = "=", vVL_Busca = rLoc.Id_locacaostr }, new TpBusca { vNM_Campo = "a.dt_devolucao", vOperador = "is", vVL_Busca = "null" } }, "1") != null) { if (rLoc.St_registro.Trim().Equals("2")) { rLoc.St_registro = "10"; //Trocar status para devolucao parcial qtb_locacao.executarSql("update TB_LOC_Locacao set st_registro = '" + rLoc.St_registro + "', dt_alt = getdate() " + "where ID_Locacao = " + rLoc.Id_locacaostr, null); } else if (rLoc.St_registro.Trim().Equals("3") || rLoc.St_registro.Trim().Equals("4")) { rLoc.St_registro = "6"; //Trocar status para devolucao parcial qtb_locacao.executarSql("update TB_LOC_Locacao set st_registro = '" + rLoc.St_registro + "', dt_alt = getdate() " + "where ID_Locacao = " + rLoc.Id_locacaostr, null); } } else { if (rLoc.St_registro.Trim().Equals("2") || rLoc.St_registro.Trim().Equals("10")) { rLoc.St_registro = "9"; //Trocar status para aguardando faturamento qtb_locacao.executarSql("update TB_LOC_Locacao set st_registro = '" + rLoc.St_registro + "', dt_alt = getdate() " + "where ID_Locacao = " + rLoc.Id_locacaostr, null); } else if (rLoc.St_registro.Trim().Equals("4") || rLoc.St_registro.Trim().Equals("6")) { rLoc.St_registro = "7"; //Trocar status para devolvido qtb_locacao.executarSql("update TB_LOC_Locacao set st_registro = '" + rLoc.St_registro + "', dt_alt = getdate() " + "where ID_Locacao = " + rLoc.Id_locacaostr, null); } } } } if (val.Tp_mov.ToUpper().Equals("C")) { //Devolver Acessórios TCN_Locacao.DevolverAcessorios(rLoc, qtb_locacao.Banco_Dados); //Faturar Locação if (rLoc.St_registro != "9") { TCN_Locacao.Faturar(rLoc, qtb_locacao.Banco_Dados); } } if (st_transacao) { qtb_locacao.Banco_Dados.Commit_Tran(); } return(val.Id_coletastr); } catch (Exception ex) { if (st_transacao) { qtb_locacao.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar coleta/entrega: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_locacao.deletarBanco_Dados(); } } }