public static string Gravar(TRegistro_LanServicosPecas val, TObjetoBanco banco) { bool st_transacao = false; TCD_LanServicosPecas qtb_pecas = new TCD_LanServicosPecas(); try { if (banco == null) { st_transacao = qtb_pecas.CriarBanco_Dados(true); } else { qtb_pecas.Banco_Dados = banco; } string retorno = qtb_pecas.Gravar(val); val.Id_pecastr = CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_PECA"); //Excluir Ficha val.lFichaTecOSDel.ForEach(p => TCN_FichaTecOS.Excluir(p, qtb_pecas.Banco_Dados)); //Gravar Ficha val.lFichaTecOS.ForEach(p => { p.Cd_empresa = val.Cd_empresa; p.Id_os = val.Id_os; p.Id_peca = val.Id_peca; TCN_FichaTecOS.Gravar(p, qtb_pecas.Banco_Dados); }); if (st_transacao) { qtb_pecas.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_pecas.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar peças/serviços: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_pecas.deletarBanco_Dados(); } } }
public static string Excluir(TRegistro_LanServicosPecas val, TObjetoBanco banco) { bool st_transacao = false; TCD_LanServicosPecas qtb_pecas = new TCD_LanServicosPecas(); try { if (banco == null) { st_transacao = qtb_pecas.CriarBanco_Dados(true); } else { qtb_pecas.Banco_Dados = banco; } //Verificar se peca teve origem orcamento venda CamadaDados.Faturamento.Orcamento.TList_Orcamento_X_OS lOrc = new CamadaDados.Faturamento.Orcamento.TCD_Orcamento_X_OS(qtb_pecas.Banco_Dados).Select( new TpBusca[] { new TpBusca() { vNM_Campo = "a.cd_empresa", vOperador = "=", vVL_Busca = "'" + val.Cd_empresa.Trim() + "'" }, new TpBusca() { vNM_Campo = "a.id_os", vOperador = "=", vVL_Busca = val.Id_osstr }, new TpBusca() { vNM_Campo = "a.id_peca", vOperador = "=", vVL_Busca = val.Id_pecastr } }, 0, string.Empty); lOrc.ForEach(p => { //Excluir registro CamadaNegocio.Faturamento.Orcamento.TCN_Orcamento_X_OS.Excluir(p, qtb_pecas.Banco_Dados); //Verificar se o orcamento nao possui pedido CamadaDados.Faturamento.Orcamento.TList_Orcamento lOrcamento = CamadaNegocio.Faturamento.Orcamento.TCN_Orcamento.Buscar(p.Nr_orcamentostr, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, decimal.Zero, decimal.Zero, string.Empty, string.Empty, string.Empty, string.Empty, false, false, string.Empty, string.Empty, false, false, qtb_pecas.Banco_Dados); if (lOrcamento.Count > 0) { if (!lOrcamento[0].Nr_pedidovenda.HasValue) { lOrcamento[0].St_registro = "AB"; CamadaNegocio.Faturamento.Orcamento.TCN_Orcamento.Gravar(lOrcamento[0], qtb_pecas.Banco_Dados); } } }); //Excluir Ficha Tecnica Item TCN_FichaTecOS.Buscar(val.Cd_empresa, val.Id_osstr, val.Id_pecastr, string.Empty, qtb_pecas.Banco_Dados).ForEach(p => TCN_FichaTecOS.Excluir(p, qtb_pecas.Banco_Dados)); //Excluir movimentações geradas em TB_FAT_CompraItens_X_PecaOS Faturamento.CompraAvulsa.TCN_CompraItens_X_PecaOS.Buscar(val.Cd_empresa, string.Empty, string.Empty, qtb_pecas.Banco_Dados, val.Id_osstr, val.Id_pecastr) .ForEach(r => Faturamento.CompraAvulsa.TCN_CompraItens_X_PecaOS.Excluir(r, qtb_pecas.Banco_Dados)); qtb_pecas.Excluir(val); if (st_transacao) { qtb_pecas.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_pecas.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir peça/serviço: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_pecas.deletarBanco_Dados(); } } }
public static TList_LanServicosPecas Buscar(string vId_os, string vCd_empresa, string vId_peca, string vCd_produto, string vCd_local, decimal vQuantidade, decimal vVl_unitario, decimal vVl_subtotal, decimal vVl_desconto, decimal vPc_desconto, string vDs_observacao, string vNm_campo, bool vST_Registro, int vTop, TObjetoBanco banco) { TpBusca[] filtro = new TpBusca[0]; if (!string.IsNullOrEmpty(vId_os)) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.ID_OS"; filtro[filtro.Length - 1].vVL_Busca = vId_os; filtro[filtro.Length - 1].vOperador = "="; } if (vCd_empresa.Trim() != string.Empty) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.CD_Empresa"; filtro[filtro.Length - 1].vVL_Busca = "'" + vCd_empresa.Trim() + "'"; filtro[filtro.Length - 1].vOperador = "="; } if (!string.IsNullOrEmpty(vId_peca)) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.ID_Peca"; filtro[filtro.Length - 1].vVL_Busca = vId_peca; filtro[filtro.Length - 1].vOperador = "="; } if (vCd_produto.Trim() != string.Empty) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.CD_Produto"; filtro[filtro.Length - 1].vVL_Busca = "'" + vCd_produto.Trim() + "'"; filtro[filtro.Length - 1].vOperador = "="; } if (vCd_local.Trim() != string.Empty) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.cd_local"; filtro[filtro.Length - 1].vOperador = "="; filtro[filtro.Length - 1].vVL_Busca = "'" + vCd_local.Trim() + "'"; } if (vQuantidade > 0) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.Quantidade"; filtro[filtro.Length - 1].vVL_Busca = vQuantidade.ToString(new System.Globalization.CultureInfo("en-US", true)); filtro[filtro.Length - 1].vOperador = "="; } if (vVl_unitario > 0) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.Vl_Unitario"; filtro[filtro.Length - 1].vVL_Busca = vVl_unitario.ToString(new System.Globalization.CultureInfo("en-US", true)); filtro[filtro.Length - 1].vOperador = "="; } if (vVl_subtotal > 0) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.Vl_SubTotal"; filtro[filtro.Length - 1].vVL_Busca = vVl_subtotal.ToString(new System.Globalization.CultureInfo("en-US", true)); filtro[filtro.Length - 1].vOperador = "="; } if (vVl_desconto > 0) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.Vl_Desconto"; filtro[filtro.Length - 1].vVL_Busca = vVl_desconto.ToString(new System.Globalization.CultureInfo("en-US", true)); filtro[filtro.Length - 1].vOperador = "="; } if (vPc_desconto > 0) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.PC_Desconto"; filtro[filtro.Length - 1].vVL_Busca = vPc_desconto.ToString(new System.Globalization.CultureInfo("en-US", true)); filtro[filtro.Length - 1].vOperador = "="; } if (vDs_observacao.Trim() != string.Empty) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.DS_Observacao"; filtro[filtro.Length - 1].vVL_Busca = "('%" + vDs_observacao.Trim() + "%')"; filtro[filtro.Length - 1].vOperador = "like"; } if (vST_Registro == true) { Array.Resize(ref filtro, filtro.Length + 1); filtro[filtro.Length - 1].vNM_Campo = "a.ST_Registro"; filtro[filtro.Length - 1].vOperador = "<>"; filtro[filtro.Length - 1].vVL_Busca = "'C'"; } TCD_LanServicosPecas qtb_pecas = new TCD_LanServicosPecas(); qtb_pecas.Banco_Dados = banco; return(qtb_pecas.Select(filtro, vTop, vNm_campo, string.Empty)); }