public static List <string> TrataRetorno(string aXml, string aTag, TipoRetorno aTipoRetorno)
        {
            List <string> retorno = new List <string>();

            XmlDocument _xml = new XmlDocument();

            _xml.LoadXml(aXml);
            XPathNavigator nav = _xml.CreateNavigator();

            XPathExpression expr;

            expr = nav.Compile("//*");
            XPathNodeIterator iterator = nav.Select(expr);

            try
            {
                while (iterator.MoveNext())
                {
                    XPathNavigator nav2 = iterator.Current.Clone();
                    if (nav2.Name == aTag)
                    {
                        if (aTipoRetorno == TipoRetorno.Codigo)
                        {
                            retorno.Add(nav2.Value);
                        }
                        else
                        {
                            //retorno.Add(new Erro(int.Parse(nav2.Value)).Instrucao);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(retorno);
        }
Exemplo n.º 2
0
        public string RecuperarResultado(int idSolicitacao, TipoRetorno tipoRetorno)
        {
            string resultado = String.Empty;

            using (NpgsqlConnection conexao = new NpgsqlConnection(this.connectionString))
            {
                string        consultarDadosResultadoDb = @"select distinct c.id_tipo_consulta as tipo_consulta, r.nb,r.resultado from resultado r join consulta c on id_consulta = c.id where c.id_solicitacao = @id_solicitacao and contem_erro <> '1' order by nb,tipo_consulta;";
                NpgsqlCommand cmd = new NpgsqlCommand(consultarDadosResultadoDb, conexao);
                cmd.Parameters.AddWithValue("@id_solicitacao", idSolicitacao);
                cmd.CommandTimeout = 0;
                conexao.Open();

                if (tipoRetorno == TipoRetorno.csv)
                {
                    resultado = new Parser().GerarCsvResultado(cmd.ExecuteReader());
                }
                else
                {
                    resultado = new Parser().GeraXmlResultado(cmd.ExecuteReader());
                }
            }
            return(resultado);
        }
Exemplo n.º 3
0
 protected object EjecutarODBC(object Sql, TipoRetorno TipoRetorno, Transaccion Transaccion, string CnnStrDB, string nombreODBC)
 {
     switch (Sql.GetType().FullName.ToString())
     {
         case "System.String[]":
             sqls = (string[])Sql;
             break;
         default:	//case "System.String":
             sqls = new String[] { (string)Sql };
             break;
     }
     cantReg = new int[sqls.Length];
     switch (Transaccion)
     {
         case (Transaccion.Acepta):
             usaTransaccion = (sqls.Length > 1);
             break;
         case (Transaccion.NoAcepta):
             usaTransaccion = false;
             break;
         default: //(Transaccion.Usa):
             usaTransaccion = true;
             break;
     }
     if (usaTransaccion) ODBCTransaccion = ODBCConexion.BeginTransaction();
     try
     {
         ODBCConexion = new OdbcConnection("dsn=" + nombreODBC + ";uid=" + sesion.Usuario.Id + ";pwd=" + sesion.Usuario.Password + ";");
         ODBCConexion.Open();
         ODBCComando = new OdbcCommand(Sql.ToString(), ODBCConexion);
         ds = new DataSet();
         for(i = 0; i < sqls.Length; i++)
         {
             System.Diagnostics.Debug.WriteLine(sqls[i]);
             ODBCAdapter = new OdbcDataAdapter(sqls[i], ODBCConexion);
             if(usaTransaccion)
             {
                 ODBCAdapter.SelectCommand.Transaction = ODBCTransaccion;
             }
             ODBCAdapter.SelectCommand.CommandTimeout = 90;
             if(i == 0)
             {
                 ODBCAdapter.Fill(ds);
             }
             else
             {
                 ds.Tables.Add();
                 ODBCAdapter.Fill(ds.Tables[ds.Tables.Count - 1]);
             }
         }
         return ds;
     }
     catch (Exception ex)
     {
         throw new CondecoEX.db.Conexion(ex);
     }
 }
Exemplo n.º 4
0
 protected object Ejecutar(object Sql, TipoRetorno TipoRetorno, Transaccion Transaccion, string CnnStrDB)
 {
     /*
     ESTE ES EL UNICO METODO QUE ACCEDE A LA BASE DE DATOS Y NO DEBE SER PUBLICO PARA QUE NO SEA INVOCADO NI
     DESDE LA CAPA DE REGLA DE NEGOCIO NI DE LA DE PRESENTACION
             Sql: 1) un string con una o mas instrucciones SQL.
                  2) un string array con uno o mas strings que contengan una o mas instrucciones SQL
                     cada uno.
     TipoRetorno: 1) None: se ejecuta como un comando y no devuelve ningun resultado
                  2) CantReg: se ejecuta como un comando y devuelve un integer, o un integer array
                     (uno por cada Sql string array), indicando la cantidad registros se vieron afectados.
                  3) Dv: devuelve un dataview o un dataview array (cada uno con una tabla),
                     segun los datos obtenidos de la DB.
                  4) ds: devuelve un dataset con una o mas tablas segun los datos obtenidos de la DB.
     Transaccion: 1) Acepta: en el caso de recibir un Sql string array, activa la transaccion.
                  2) NoAcepta: no activa la trasaccion
                  3) Usa: activa la transaccion
     */
     if (CnnStrDB != null && CnnStrDB.Contains("Microsoft.Jet.OLEDB"))
     {
         string StrConexion = CnnStrDB;
         OleDbConnection Conexion = new OleDbConnection(StrConexion);
         OleDbDataAdapter Adapter = new OleDbDataAdapter(Sql.ToString(), Conexion);
         OleDbCommandBuilder SQLComandos = new OleDbCommandBuilder(Adapter);
         switch (TipoRetorno)
         {
             case (TipoRetorno.None):
             case (TipoRetorno.CantReg):
                 Conexion.Open();
                 Adapter.Fill(ds);
                 cantReg[0] = ds.Tables[0].Rows.Count;
                 Conexion.Close();
                 break;
             case (TipoRetorno.DS):
             case (TipoRetorno.DV):
             case (TipoRetorno.TB):
                 Conexion.Open();
                 ds = new DataSet();
                 Adapter.Fill(ds);
                 Conexion.Close();
                 switch (TipoRetorno)
                 {
                     case (TipoRetorno.DV):
                         if (ds.Tables.Count > 0)
                         {
                             dv = new DataView[ds.Tables.Count];
                             for (i = 0; i < ds.Tables.Count; i++)
                             {
                                 dv[i] = ds.Tables[i].DefaultView;
                             }
                         }
                         break;
                     case (TipoRetorno.TB):
                         if (ds.Tables.Count > 0)
                         {
                             tb = new DataTable[ds.Tables.Count];
                             for (i = 0; i < ds.Tables.Count; i++)
                             {
                                 tb[i] = ds.Tables[i];
                             }
                         }
                         break;
                     default:
                         break;
                 }
                 break;
         }
         switch(TipoRetorno)
         {
             case TipoRetorno.None:
                 return new System.Object();
             case TipoRetorno.CantReg:
                 return cantReg;
             case TipoRetorno.DS:
                 return ds;
             case TipoRetorno.TB:
                 switch(ds.Tables.Count)
                 {
                     case 0:
                         return new DataTable();
                     case 1:
                         return tb[0];
                     default:
                         return tb;
                 }
             default: //case TipoRetorno.Dv:
                 switch(ds.Tables.Count)
                 {
                     case 0:
                         return new DataView();
                     case 1:
                         return dv[0];
                     default:
                         return dv;
                 }
         }
     }
     else
     //SQL Server
     {
         switch(Sql.GetType().FullName.ToString())
         {
             case "System.String[]":
                 sqls = (string[])Sql;
                 break;
             default:	//case "System.String":
                 sqls = new String[] { (string)Sql };
                 break;
         }
         cantReg = new int[sqls.Length];
         try
         {
             sqlConexion = new SqlConnection(CnnStrDB);
             sqlConexion.Open();
             switch(Transaccion)
             {
                 case (Transaccion.Acepta):
                     usaTransaccion = (sqls.Length > 1);
                     break;
                 case (Transaccion.NoAcepta):
                     usaTransaccion = false;
                     break;
                 default: //(Transaccion.Usa):
                     usaTransaccion = true;
                     break;
             }
             if(usaTransaccion)
                 sqlTransaccion = sqlConexion.BeginTransaction();
             switch(TipoRetorno)
             {
                 case (TipoRetorno.None):
                 case (TipoRetorno.CantReg):
                     sqlCommand = new SqlCommand();
                     sqlCommand.Connection = sqlConexion;
                     sqlCommand.CommandTimeout = 90;
                     if(usaTransaccion)
                     {
                         sqlCommand.Transaction = sqlTransaccion;
                     }
                     for(i = 0; i < sqls.Length; i++)
                     {
                         sqlCommand.CommandText = sqls[i];
                         System.Diagnostics.Debug.WriteLine(sqlCommand.CommandText);
                         cantReg[i] = sqlCommand.ExecuteNonQuery();
                     }
                     break;
                 case (TipoRetorno.DS):
                 case (TipoRetorno.DV):
                 case (TipoRetorno.TB):
                     ds = new DataSet();
                     for(i = 0; i < sqls.Length; i++)
                     {
                         System.Diagnostics.Debug.WriteLine(sqls[i]);
                         sqlAdapter = new SqlDataAdapter(sqls[i], sqlConexion);
                         if(usaTransaccion)
                         {
                             sqlAdapter.SelectCommand.Transaction = sqlTransaccion;
                         }
                         sqlAdapter.SelectCommand.CommandTimeout = 90;
                         if(i == 0)
                         {
                             sqlAdapter.Fill(ds);
                         }
                         else
                         {
                             ds.Tables.Add();
                             sqlAdapter.Fill(ds.Tables[ds.Tables.Count - 1]);
                         }
                     }
                     switch(TipoRetorno)
                     {
                         case (TipoRetorno.DV):
                             if(ds.Tables.Count > 0)
                             {
                                 dv = new DataView[ds.Tables.Count];
                                 for(i = 0; i < ds.Tables.Count; i++)
                                 {
                                     dv[i] = ds.Tables[i].DefaultView;
                                 }
                             }
                             break;
                         case (TipoRetorno.TB):
                             if(ds.Tables.Count > 0)
                             {
                                 tb = new DataTable[ds.Tables.Count];
                                 for(i = 0; i < ds.Tables.Count; i++)
                                 {
                                     tb[i] = ds.Tables[i];
                                 }
                             }
                             break;
                         default:
                             break;
                     }
                     break;
             }
             if(usaTransaccion)
             {
                 sqlTransaccion.Commit();
             }
             sqlConexion.Close();
             switch(TipoRetorno)
             {
                 case TipoRetorno.None:
                     return new System.Object();
                 case TipoRetorno.CantReg:
                     if(sqls.Length > 1)
                     {
                         return cantReg;
                     }
                     else
                     {
                         return cantReg[0];
                     }
                 case TipoRetorno.DS:
                     return ds;
                 case TipoRetorno.TB:
                     switch(ds.Tables.Count)
                     {
                         case 0:
                             return new DataTable();
                         case 1:
                             return tb[0];
                         default:
                             return tb;
                     }
                 default: //case TipoRetorno.Dv:
                     switch(ds.Tables.Count)
                     {
                         case 0:
                             return new DataView();
                         case 1:
                             return dv[0];
                         default:
                             return dv;
                     }
             }
         }
         catch(System.Data.SqlClient.SqlException ex1)
         {
             if(((System.Data.SqlClient.SqlException)(ex1)).Procedure == "ConnectionOpen (Connect()).")
             {
                 throw new CondecoEX.db.Conexion(ex1);
             }
             else
             {
                 if(usaTransaccion)
                 {
                     try
                     {
                         sqlTransaccion.Rollback();
                         throw new CondecoEX.db.EjecucionConRollback(ex1);
                     }
                     catch (CondecoEX.db.EjecucionConRollback)
                     {
                         throw new CondecoEX.db.EjecucionConRollback(ex1);
                     }
                     catch
                     {
                         throw new CondecoEX.db.Rollback(ex1);
                     }
                 }
                 else
                 {
                     throw new CondecoEX.db.Ejecucion(ex1);
                 }
             }
         }
     }
 }
Exemplo n.º 5
0
        protected object Ejecutar(object Sql, TipoRetorno TipoRetorno, Transaccion Transaccion, string CnnStrDB)
        {
            /*
             * ESTE ES EL UNICO METODO QUE ACCEDE A LA BASE DE DATOS Y NO DEBE SER PUBLICO PARA QUE NO SEA INVOCADO NI
             * DESDE LA CAPA DE REGLA DE NEGOCIO NI DE LA DE PRESENTACION
             *              Sql: 1) un string con una o mas instrucciones SQL.
             *                       2) un string array con uno o mas strings que contengan una o mas instrucciones SQL
             *                              cada uno.
             * TipoRetorno: 1) None: se ejecuta como un comando y no devuelve ningun resultado
             *                       2) CantReg: se ejecuta como un comando y devuelve un integer, o un integer array
             *                              (uno por cada Sql string array), indicando la cantidad registros se vieron afectados.
             *                       3) Dv: devuelve un dataview o un dataview array (cada uno con una tabla),
             *                              segun los datos obtenidos de la DB.
             *                       4) ds: devuelve un dataset con una o mas tablas segun los datos obtenidos de la DB.
             * Transaccion: 1) Acepta: en el caso de recibir un Sql string array, activa la transaccion.
             *                       2) NoAcepta: no activa la trasaccion
             *                       3) Usa: activa la transaccion
             */
            if (CnnStrDB != null && CnnStrDB.Contains("Microsoft.Jet.OLEDB"))
            {
                string              StrConexion = CnnStrDB;
                OleDbConnection     Conexion    = new OleDbConnection(StrConexion);
                OleDbDataAdapter    Adapter     = new OleDbDataAdapter(Sql.ToString(), Conexion);
                OleDbCommandBuilder SQLComandos = new OleDbCommandBuilder(Adapter);
                switch (TipoRetorno)
                {
                case (TipoRetorno.None):
                case (TipoRetorno.CantReg):
                    Conexion.Open();
                    Adapter.Fill(ds);
                    cantReg[0] = ds.Tables[0].Rows.Count;
                    Conexion.Close();
                    break;

                case (TipoRetorno.DS):
                case (TipoRetorno.DV):
                case (TipoRetorno.TB):
                    Conexion.Open();
                    ds = new DataSet();
                    Adapter.Fill(ds);
                    Conexion.Close();
                    switch (TipoRetorno)
                    {
                    case (TipoRetorno.DV):
                        if (ds.Tables.Count > 0)
                        {
                            dv = new DataView[ds.Tables.Count];
                            for (i = 0; i < ds.Tables.Count; i++)
                            {
                                dv[i] = ds.Tables[i].DefaultView;
                            }
                        }
                        break;

                    case (TipoRetorno.TB):
                        if (ds.Tables.Count > 0)
                        {
                            tb = new DataTable[ds.Tables.Count];
                            for (i = 0; i < ds.Tables.Count; i++)
                            {
                                tb[i] = ds.Tables[i];
                            }
                        }
                        break;

                    default:
                        break;
                    }
                    break;
                }
                switch (TipoRetorno)
                {
                case TipoRetorno.None:
                    return(new System.Object());

                case TipoRetorno.CantReg:
                    return(cantReg);

                case TipoRetorno.DS:
                    return(ds);

                case TipoRetorno.TB:
                    switch (ds.Tables.Count)
                    {
                    case 0:
                        return(new DataTable());

                    case 1:
                        return(tb[0]);

                    default:
                        return(tb);
                    }

                default:                     //case TipoRetorno.Dv:
                    switch (ds.Tables.Count)
                    {
                    case 0:
                        return(new DataView());

                    case 1:
                        return(dv[0]);

                    default:
                        return(dv);
                    }
                }
            }
            else
            //SQL Server
            {
                switch (Sql.GetType().FullName.ToString())
                {
                case "System.String[]":
                    sqls = (string[])Sql;
                    break;

                default:                        //case "System.String":
                    sqls = new String[] { (string)Sql };
                    break;
                }
                cantReg = new int[sqls.Length];
                try
                {
                    sqlConexion = new SqlConnection(CnnStrDB);
                    sqlConexion.Open();
                    switch (Transaccion)
                    {
                    case (Transaccion.Acepta):
                        usaTransaccion = (sqls.Length > 1);
                        break;

                    case (Transaccion.NoAcepta):
                        usaTransaccion = false;
                        break;

                    default:                         //(Transaccion.Usa):
                        usaTransaccion = true;
                        break;
                    }
                    if (usaTransaccion)
                    {
                        sqlTransaccion = sqlConexion.BeginTransaction();
                    }
                    switch (TipoRetorno)
                    {
                    case (TipoRetorno.None):
                    case (TipoRetorno.CantReg):
                        sqlCommand                = new SqlCommand();
                        sqlCommand.Connection     = sqlConexion;
                        sqlCommand.CommandTimeout = 90;
                        if (usaTransaccion)
                        {
                            sqlCommand.Transaction = sqlTransaccion;
                        }
                        for (i = 0; i < sqls.Length; i++)
                        {
                            sqlCommand.CommandText = sqls[i];
                            System.Diagnostics.Debug.WriteLine(sqlCommand.CommandText);
                            cantReg[i] = sqlCommand.ExecuteNonQuery();
                        }
                        break;

                    case (TipoRetorno.DS):
                    case (TipoRetorno.DV):
                    case (TipoRetorno.TB):
                        ds = new DataSet();
                        for (i = 0; i < sqls.Length; i++)
                        {
                            System.Diagnostics.Debug.WriteLine(sqls[i]);
                            sqlAdapter = new SqlDataAdapter(sqls[i], sqlConexion);
                            if (usaTransaccion)
                            {
                                sqlAdapter.SelectCommand.Transaction = sqlTransaccion;
                            }
                            sqlAdapter.SelectCommand.CommandTimeout = 90;
                            if (i == 0)
                            {
                                sqlAdapter.Fill(ds);
                            }
                            else
                            {
                                ds.Tables.Add();
                                sqlAdapter.Fill(ds.Tables[ds.Tables.Count - 1]);
                            }
                        }
                        switch (TipoRetorno)
                        {
                        case (TipoRetorno.DV):
                            if (ds.Tables.Count > 0)
                            {
                                dv = new DataView[ds.Tables.Count];
                                for (i = 0; i < ds.Tables.Count; i++)
                                {
                                    dv[i] = ds.Tables[i].DefaultView;
                                }
                            }
                            break;

                        case (TipoRetorno.TB):
                            if (ds.Tables.Count > 0)
                            {
                                tb = new DataTable[ds.Tables.Count];
                                for (i = 0; i < ds.Tables.Count; i++)
                                {
                                    tb[i] = ds.Tables[i];
                                }
                            }
                            break;

                        default:
                            break;
                        }
                        break;
                    }
                    if (usaTransaccion)
                    {
                        sqlTransaccion.Commit();
                    }
                    sqlConexion.Close();
                    switch (TipoRetorno)
                    {
                    case TipoRetorno.None:
                        return(new System.Object());

                    case TipoRetorno.CantReg:
                        if (sqls.Length > 1)
                        {
                            return(cantReg);
                        }
                        else
                        {
                            return(cantReg[0]);
                        }

                    case TipoRetorno.DS:
                        return(ds);

                    case TipoRetorno.TB:
                        switch (ds.Tables.Count)
                        {
                        case 0:
                            return(new DataTable());

                        case 1:
                            return(tb[0]);

                        default:
                            return(tb);
                        }

                    default:                         //case TipoRetorno.Dv:
                        switch (ds.Tables.Count)
                        {
                        case 0:
                            return(new DataView());

                        case 1:
                            return(dv[0]);

                        default:
                            return(dv);
                        }
                    }
                }
                catch (System.Data.SqlClient.SqlException ex1)
                {
                    if (((System.Data.SqlClient.SqlException)(ex1)).Procedure == "ConnectionOpen (Connect()).")
                    {
                        throw new CedServicios.EX.db.Conexion(ex1);
                    }
                    else
                    {
                        if (usaTransaccion)
                        {
                            try
                            {
                                sqlTransaccion.Rollback();
                                throw new CedServicios.EX.db.EjecucionConRollback(ex1);
                            }
                            catch (CedServicios.EX.db.EjecucionConRollback)
                            {
                                throw new CedServicios.EX.db.EjecucionConRollback(ex1);
                            }
                            catch
                            {
                                throw new CedServicios.EX.db.Rollback(ex1);
                            }
                        }
                        else
                        {
                            throw new CedServicios.EX.db.Ejecucion(ex1);
                        }
                    }
                }
            }
        }
Exemplo n.º 6
0
        protected object EjecutarODBC(object Sql, TipoRetorno TipoRetorno, Transaccion Transaccion, string CnnStrDB, string nombreODBC)
        {
            switch (Sql.GetType().FullName.ToString())
            {
            case "System.String[]":
                sqls = (string[])Sql;
                break;

            default:            //case "System.String":
                sqls = new String[] { (string)Sql };
                break;
            }
            cantReg = new int[sqls.Length];
            switch (Transaccion)
            {
            case (Transaccion.Acepta):
                usaTransaccion = (sqls.Length > 1);
                break;

            case (Transaccion.NoAcepta):
                usaTransaccion = false;
                break;

            default:     //(Transaccion.Usa):
                usaTransaccion = true;
                break;
            }
            if (usaTransaccion)
            {
                ODBCTransaccion = ODBCConexion.BeginTransaction();
            }
            try
            {
                ODBCConexion = new OdbcConnection("dsn=" + nombreODBC + ";uid=" + sesion.Usuario.Id + ";pwd=" + sesion.Usuario.Password + ";");
                ODBCConexion.Open();
                ODBCComando = new OdbcCommand(Sql.ToString(), ODBCConexion);
                ds          = new DataSet();
                for (i = 0; i < sqls.Length; i++)
                {
                    System.Diagnostics.Debug.WriteLine(sqls[i]);
                    ODBCAdapter = new OdbcDataAdapter(sqls[i], ODBCConexion);
                    if (usaTransaccion)
                    {
                        ODBCAdapter.SelectCommand.Transaction = ODBCTransaccion;
                    }
                    ODBCAdapter.SelectCommand.CommandTimeout = 90;
                    if (i == 0)
                    {
                        ODBCAdapter.Fill(ds);
                    }
                    else
                    {
                        ds.Tables.Add();
                        ODBCAdapter.Fill(ds.Tables[ds.Tables.Count - 1]);
                    }
                }
                return(ds);
            }
            catch (Exception ex)
            {
                throw new CedServicios.EX.db.Conexion(ex);
            }
        }
Exemplo n.º 7
0
        private Object ExecSQL(string strConexao, string proc_SQL, SqlParameter[] parametros, CommandType tipoComando, TipoRetorno retorno)
        {
            string connection;

            if (Usuario == null)
            {
                connection = ConfigurationManager.ConnectionStrings[strConexao].ConnectionString;
            }
            else
            {
                connection = ConfigurationManager.ConnectionStrings[strConexao].ConnectionString + " ;Application Name=PF: " + Usuario;
            }

            using (SqlConnection conexao = new SqlConnection(connection))
                using (SqlCommand command = new SqlCommand(proc_SQL, conexao))
                {
                    try
                    {
                        command.CommandType = tipoComando;
                        command.Parameters.Clear();
                        if (parametros != null)
                        {
                            command.Parameters.AddRange(parametros);
                        }
                        conexao.Open();

                        switch (retorno)
                        {
                        case TipoRetorno.Scalar:
                            return(command.ExecuteScalar());

                        case TipoRetorno.DataTable:
                            using (SqlDataAdapter adapter = new SqlDataAdapter(command))
                            {
                                DataTable ds = new DataTable();
                                adapter.Fill(ds);
                                return(ds);
                            }

                        case TipoRetorno.SQLReader:
                            leReader(command.ExecuteReader());
                            return(null);

                        case TipoRetorno.NonQuery:
                            command.ExecuteNonQuery();
                            return(null);

                        default:
                            return(null);
                        }
                    }
                    catch
                    {
                        throw;
                    }
                    finally
                    {
                        if (conexao.State == ConnectionState.Open)
                        {
                            conexao.Close();
                        }
                    }
                }
        }
Exemplo n.º 8
0
 public RetornoTransacao(string mensagem, TipoRetorno retorno)
 {
     NumeroTransacao = Guid.NewGuid();
     Mensagem        = mensagem;
     Retorno         = retorno;
 }
Exemplo n.º 9
0
 /// <summary>
 /// Faz um mapeamento entre um modelo de Proposta e os dados de PropostaViewModel
 /// </summary>
 /// <param name="proposta"></param>
 private void CarregarProposta(Proposta proposta)
 {
     if (proposta == null)
     {
         return;
     }
     this.Id = proposta.Id;
     this.InvestimentoIncial = proposta.InvestimentoInicial;
     this.InvestimentoMensal = proposta.InvestimentoMensal;
     this.Perfil = proposta.Perfil.Id;
     this.RendaEsperadaMes = proposta.RendaEsperadaMes;
     this.TempoInvestimento = proposta.TempoInvestimento;
     this.TempoRecebimento = proposta.TempoRecebimento;
     this.TipoRetornoEsperado = proposta.TipoRetornoEsperado;
     this.Aprovada = proposta.Aprovada;
     this.Cliente = proposta.Cliente.Nome;
     this.IdCliente = proposta.Cliente.Id;
     this.CPF = proposta.Cliente.Cpf;
     this.RendaFamiliar = proposta.Cliente.RendaFamiliar;
 }
Exemplo n.º 10
0
		protected object Ejecutar(object Sql, TipoRetorno TipoRetorno, Transaccion Transaccion, string CnnStrDB)
		{
			/*
			ESTE ES EL UNICO METODO QUE ACCEDE A LA BASE DE DATOS Y NO DEBE SER PUBLICO PARA QUE NO SEA INVOCADO NI
			DESDE LA CAPA DE REGLA DE NEGOCIO NI DE LA DE PRESENTACION
					Sql: 1) un string con una o mas instrucciones SQL.
						 2) un string array con uno o mas strings que contengan una o mas instrucciones SQL 
							cada uno. 
			TipoRetorno: 1) None: se ejecuta como un comando y no devuelve ningun resultado
						 2) CantReg: se ejecuta como un comando y devuelve un integer, o un integer array 
							(uno por cada Sql string array), indicando la cantidad registros se vieron afectados.
						 3) DV: devuelve un dataview o un dataview array (cada uno con una tabla), 
							segun los datos obtenidos de la DB.
						 4) DS: devuelve un dataset con una o mas tablas segun los datos obtenidos de la DB. 
			Transaccion: 1) Acepta: en el caso de recibir un Sql string array, activa la transaccion.
						 2) NoAcepta: no activa la trasaccion
						 3) Usa: activa la transaccion
			*/
			TesteoConexion(CnnStrDB);
			switch (Sql.GetType().FullName.ToString())
			{
				case "System.String[]":
					Sqls = (string[]) Sql;
					break;
				default:	//case "System.String":
					Sqls = new String[] {(string) Sql};
					break;
			}
			CantReg = new int [ Sqls.Length ];
			try
			{
				if (m_MySqlConnection != null)
				{
					m_MySqlConnection.Open();
				}
				else
				{
					m_SqlConexion = new SqlConnection(CnnStrDB);
					m_SqlConexion.Open();
				}
				switch (Transaccion)
				{
					case (Transaccion.Acepta):
						UsaTransaccion = (Sqls.Length > 1);
						break;
					case (Transaccion.NoAcepta):
						UsaTransaccion = false;
						break;
					default: //(Transaccion.Usa):
						UsaTransaccion = true;
						break;
				}
				if (UsaTransaccion)  m_SqlTransaccion = m_SqlConexion.BeginTransaction();
				switch (TipoRetorno)
				{
					case (TipoRetorno.None):
					case (TipoRetorno.CantReg):
						if (m_MySqlConnection != null)
						{
							m_MySqlCommand = new SqlCommand();
							m_MySqlCommand.Connection = m_MySqlConnection;
							m_MySqlCommand.CommandTimeout = commandTimeOut;
							if (UsaTransaccion) { m_MySqlCommand.Transaction = m_MySqlTransaction; }
							for (i = 0; i < Sqls.Length; i++)
							{
								m_MySqlCommand.CommandText = Sqls[i];
								System.Diagnostics.Debug.WriteLine(m_MySqlCommand.CommandText);
								CantReg[i] = m_MySqlCommand.ExecuteNonQuery();
							}
						}
						else
						{
							m_SqlCommand = new SqlCommand();
							m_SqlCommand.Connection = m_SqlConexion;
							m_SqlCommand.CommandTimeout = commandTimeOut;
							if (UsaTransaccion) { m_SqlCommand.Transaction = m_SqlTransaccion; }
							for (i = 0; i < Sqls.Length; i++)
							{
								m_SqlCommand.CommandText = Sqls[i];
								System.Diagnostics.Debug.WriteLine(m_SqlCommand.CommandText);
								CantReg[i] = m_SqlCommand.ExecuteNonQuery();
							}
						}
						break;
					case (TipoRetorno.DS):
					case (TipoRetorno.DV):
					case (TipoRetorno.TB):
						DS = new DataSet();
						for (i = 0; i<Sqls.Length; i++)
						{
							System.Diagnostics.Debug.WriteLine(Sqls[i]);

							if (m_MySqlConnection != null)
							{
								m_MySqlDataAdapter = new SqlDataAdapter(Sqls[i], m_MySqlConnection);
								if (UsaTransaccion) { m_MySqlDataAdapter.SelectCommand.Transaction = m_MySqlTransaction; }
								m_MySqlDataAdapter.SelectCommand.CommandTimeout = commandTimeOut;
								if (i == 0)
								{
									m_MySqlDataAdapter.Fill(DS);
								}
								else
								{
									DS.Tables.Add();
									m_MySqlDataAdapter.Fill(DS.Tables[DS.Tables.Count - 1]);
								}
							}
							else
							{
								m_SqlAdapter = new SqlDataAdapter(Sqls[i], m_SqlConexion);
								if (UsaTransaccion) { m_SqlAdapter.SelectCommand.Transaction = m_SqlTransaccion; }
								m_SqlAdapter.SelectCommand.CommandTimeout = commandTimeOut;
								if (i == 0)
								{
									m_SqlAdapter.Fill(DS);
								}
								else
								{
									DS.Tables.Add();
									m_SqlAdapter.Fill(DS.Tables[DS.Tables.Count - 1]);
								}
							}
						}
						switch (TipoRetorno)
						{
							case (TipoRetorno.DV):
								if (DS.Tables.Count > 0)
								{
									DV = new DataView[DS.Tables.Count];
									for (i = 0; i<DS.Tables.Count; i++)
									{
										DV[i] = DS.Tables[i].DefaultView;
									}
								}
								break;
							case (TipoRetorno.TB):
								if (DS.Tables.Count > 0)
								{
									TB = new DataTable[DS.Tables.Count];
									for (i = 0; i<DS.Tables.Count; i++)
									{
										TB[i] = DS.Tables[i];
									}
								}
								break;
							default:
								break;
						}
						break;
				}//end switch
				if (UsaTransaccion) {m_SqlTransaccion.Commit();}
				if (m_MySqlConnection != null)
				{
					m_MySqlConnection.Close();
				}
				else
				{
					m_SqlConexion.Close();
				}
				switch (TipoRetorno)
				{
					case TipoRetorno.None:
						return new System.Object();
					case TipoRetorno.CantReg:
						if (Sqls.Length > 1) 
						{
							return CantReg; 
						}
						else 
						{
							return CantReg[0];
						}
					case TipoRetorno.DS:
						return DS;
					case TipoRetorno.TB:
						switch (DS.Tables.Count)
						{
							case 0:
								return new DataTable();
							case 1:
								return TB[0];
							default:
								return TB;
						}
					default: //case TipoRetorno.DV:
						switch (DS.Tables.Count)
						{
							case 0:
								return new DataView();
							case 1:
								return DV[0];
							default:
								return DV;
						}
				}
			}
			catch (System.Data.SqlClient.SqlException ex1)
			{
				if (((System.Data.SqlClient.SqlException)(ex1)).Procedure=="ConnectionOpen (Connect()).")
				{
					throw new Cedeira.Ex.db.Conexion(ex1);
				}
				else
				{
					if (UsaTransaccion)
					{
						try
						{
							m_SqlTransaccion.Rollback();
							throw new Cedeira.Ex.db.EjecucionConRollback(ex1); 
						}
						catch (Cedeira.Ex.db.EjecucionConRollback)
						{
							throw new Cedeira.Ex.db.EjecucionConRollback(ex1);
						}
						catch
						{
							throw new Cedeira.Ex.db.Rollback(ex1);
						}
					}
					else
					{
						throw new Cedeira.Ex.db.Ejecucion(ex1) ; 
					}
				}
			}
		}
Exemplo n.º 11
0
		protected object Ejecutar(object Sql, TipoRetorno TipoRetorno, Transaccion Transaccion, string CnnStrDB, int CommandTimeOut)
		{
			commandTimeOut=CommandTimeOut;
			return Ejecutar(Sql, TipoRetorno, Transaccion, CnnStrDB);
		}