public static string Gravar(TRegistro_GuardaVolume val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_GuardaVolume qtb_vol = new TCD_GuardaVolume(); try { if (banco == null) { st_transacao = qtb_vol.CriarBanco_Dados(true); } else { qtb_vol.Banco_Dados = banco; } val.Id_guardavolstr = CamadaDados.TDataQuery.getPubVariavel(qtb_vol.Gravar(val), "@P_ID_GUARDAVOL"); //Excluir Itens val.lItensGuardaVolumeDel.ForEach(p => TCN_ItensGuardaVolume.Excluir(p, qtb_vol.Banco_Dados)); //Gravar Itens val.lItensGuardaVolume.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_guardavolstr = val.Id_guardavolstr; TCN_ItensGuardaVolume.Gravar(p, qtb_vol.Banco_Dados); }); if (st_transacao) { qtb_vol.Banco_Dados.Commit_Tran(); } return(val.Id_mudancastr); } catch (Exception ex) { if (st_transacao) { qtb_vol.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar guarda volume: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_vol.deletarBanco_Dados(); } } }
public static void AprovarMudanca(TRegistro_LanMudanca val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_LanMudanca qtb_mud = new TCD_LanMudanca(); try { if (banco == null) { st_transacao = qtb_mud.CriarBanco_Dados(true); } else { qtb_mud.Banco_Dados = banco; } val.St_registro = "1";//Aprovado //Gravar Viagem if (!val.Id_viagem.HasValue) { CamadaDados.Frota.TRegistro_Viagem rViagem = new CamadaDados.Frota.TRegistro_Viagem(); rViagem.Cd_empresa = val.Cd_empresa; rViagem.Id_veiculostr = val.Id_veiculostr; rViagem.Cd_motorista = val.Cd_motorista; rViagem.Dt_viagemstr = val.Dt_coletastr; rViagem.Ds_viagem = "VIAGEM REALIZADA PELA MUDANÇA Nº" + val.Id_mudancastr; rViagem.St_viagem = "E"; CamadaNegocio.Frota.TCN_Viagem.Gravar(rViagem, qtb_mud.Banco_Dados); val.Id_viagem = rViagem.Id_viagem; } //Gravar Guarda Volume if (val.St_utilizaguardamoveisbool) { TRegistro_GuardaVolume rGuarda = new TRegistro_GuardaVolume(); rGuarda.Cd_empresa = val.Cd_empresa; rGuarda.Cd_clifor = val.Cd_clifor; rGuarda.Cd_endereco = val.Cd_endereco; rGuarda.Id_mudanca = val.Id_mudanca; rGuarda.Dt_registro = CamadaDados.UtilData.Data_Servidor(); rGuarda.Dt_prevretirada = CamadaDados.UtilData.Data_Servidor().AddDays(Convert.ToDouble(val.NR_DiasGuardaMoveis.ToString())); rGuarda.NR_GuardaVol = val.Nr_guardavol; rGuarda.St_registro = "A"; val.lItensMud.ForEach(p => { rGuarda.lItensGuardaVolume.Add( new TRegistro_ItensGuardaVolume() { Id_item = p.Id_item, Dt_locacao = rGuarda.Dt_registro, Quantidade = p.Quantidade, St_registro = "A" }); }); TCN_GuardaVolume.Gravar(rGuarda, qtb_mud.Banco_Dados); } //Gravar Aprovação qtb_mud.Gravar(val); if (st_transacao) { qtb_mud.Banco_Dados.Commit_Tran(); } } catch (Exception ex) { if (st_transacao) { qtb_mud.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro aprovar orçamento: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_mud.deletarBanco_Dados(); } } }
public static string RetirarItens(TRegistro_GuardaVolume val, BancoDados.TObjetoBanco banco) { bool st_transacao = false; TCD_GuardaVolume qtb_vol = new TCD_GuardaVolume(); try { if (banco == null) { st_transacao = qtb_vol.CriarBanco_Dados(true); } else { qtb_vol.Banco_Dados = banco; } //Excluir Retirada val.lRetGuardaVolDel.ForEach(p => TCN_RetGuardaVol.Excluir(p, qtb_vol.Banco_Dados)); //Gravar Retirada val.lRetGuardaVol.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_guardavolstr = val.Id_guardavolstr; TCN_RetGuardaVol.Gravar(p, qtb_vol.Banco_Dados); }); //Verificar se guarda volume tem saldo a retirar finalizado. if (new CamadaDados.Mudanca.TCD_GuardaVolume(qtb_vol.Banco_Dados).BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_guardavol", vOperador = "=", vVL_Busca = val.Id_guardavolstr }, new TpBusca() { vNM_Campo = string.Empty, vOperador = "not exists", vVL_Busca = "(select 1 from VTB_MUD_ITENSGUARDAVOLUME x " + "where x.cd_empresa = a.cd_empresa " + "and x.id_guardavol = a.id_guardavol " + "and isnull(x.quantidade - x.qtd_retirada, 0) > 0 " + "and isnull(x.st_registro, 'A') <> 'C' )" } }, "1") != null) { val.St_registro = "F"; qtb_vol.Gravar(val); } if (st_transacao) { qtb_vol.Banco_Dados.Commit_Tran(); } return(val.Id_mudancastr); } catch (Exception ex) { if (st_transacao) { qtb_vol.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro Retirar guarda volume: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_vol.deletarBanco_Dados(); } } }