Exemplo n.º 1
0
        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();
                }
            }
        }
Exemplo n.º 2
0
        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();
                }
            }
        }