none
Query não executa RRS feed

  • Pergunta

  •  Boa noite sr(a)s,

    A função EnviarForm esta rodando sem erros mas não esta fazendo o que deveria fazer, no caso mandar o formulário para outro usuário, já teste a query 

    EXEC UTL_SEND_FORM

    direto no banco e a mesma funcionou normalmente, e também coloquei breakpoints em todas as linhas de código para tentar identificar o problema mas infelizmente não deu erro algum, como sou novo no C# talvez tenha deixado passar algo, segue meu código: 

    namespace CustomCode
    {
        public class CustomCode
        {
            static void EnviarForm(int CodUser, int codContrato, int formNumber, DbConnection Cn, DbTransaction Tr)
            {
                try
                {
                    Cn.Open();
                    var query = string.Format(@"
                        EXEC UTL_SEND_FORM {0}, {1}, {2}",
                        codContrato, formNumber, CodUser);
                    var commandSendForm = new DbCommand(Cn, Tr, query);
                    
                    commandSendForm.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    throw new Exception("Erro Função EnviarForm: " + ex.ToString());
                }
            }
            static string Consulta(string coluna, string tabela, int codContrato, int formNumber, DbConnection Cn, DbTransaction Tr)
            {
                try
                {               
                    var query = string.Format(@"
                        SELECT {0}  
                        FROM {1}
                        WHERE CODCONTRATO = {2}
                        AND CODCADASTRO = {3}",
                    coluna, tabela, codContrato, formNumber);
                    
                    var command = new DbCommand(Cn, Tr, query);
    
                    var da = new DbDataAdapter(command);
                    var dt = new DataTable("Teste");
                    da.Fill(dt);
                    var Resultado = dt.Rows[0].ItemArray[0];
    
                    return Resultado.ToString();
                }
                catch (Exception ex)
                {
                    throw new Exception("Erro Função Consulta: " + ex.ToString());
                }
            }
    
            static public void Main(object[] parms)
            {
                DbConnection Cn = (DbConnection)parms[0];
                DbTransaction Tr = (DbTransaction)parms[1];
                CallerData callerData = (CallerData)parms[2];
                Cad Cd = (Cad)parms[3];
                ProviderProject providerProject = (ProviderProject)parms[4];
                Form form = (Form)parms[5];
                decimal defaultContract = (decimal)parms[6];
                decimal formNumber = (decimal)parms[7];
                IsvCadProvider svCadProvider = (IsvCadProvider)parms[8];
                GetSetCadInputData getSetCadInputData = (GetSetCadInputData)parms[9];
                string VALUESTableName = (string)parms[10];
                string DICTTableName = (string)parms[11];
                string USERSTableName = (string)parms[12];
                string HEADERSTableName = (string)parms[13];
    
                //Consulta de Aprovação Diretoria
                if (Consulta("KEY10", VALUESTableName, (int)defaultContract, (int)formNumber, Cn, Tr).Equals(string.Empty))
                {
                        Task.Factory.StartNew(() =>
                          {
                              int codUser = 6291;
                              Task.Delay(10000);
                              EnviarForm(codUser, (int)defaultContract, (int)formNumber, Cn, Tr);
                          });
                }
                //Consulta de Aprovação Diretoria
                else if (Consulta("KEY10", VALUESTableName, (int)defaultContract, (int)formNumber, Cn, Tr).Equals("2950"))//2950 = Revisar
                {
                    Task.Factory.StartNew(() =>
                    {
                        Task.Delay(10000);
                        //Consulta Codigo Usuário
                        int CodUser = int.Parse(Consulta("CODUSR_CREATION", "CDTRAINING_HEADERS", (int)defaultContract, (int)formNumber, Cn, Tr));
                        EnviarForm(CodUser, (int)defaultContract, (int)formNumber, Cn, Tr);
                    });
                }
            }
        }
    }
    

    Desde já agradeço as que compartilharem o conhecimento.

    domingo, 1 de dezembro de 2019 22:14

Todas as Respostas