Example #1
0
        public void NonSqlToLocal()
        {
            //sincroniza de base de datos no relacional a base de datos local

            //se trae de la tabla de control las tablas que se tiene que leer de la non-sql
            funciones.Mensaje("SYNC_NONSQL_LOCAL Sincronizando de NON-SQL a LOCAL");

            try
            {
                //leer las tablas que necesitan actualizarse
                clsParametros clsParametros    = new clsParametros();
                string        StringDeConexion = clsParametros.StringDeConexion;

                DataTable           dtResultado = new DataTable();
                Data.clsSincronizar objDal      = new Data.clsSincronizar(StringDeConexion);

                dtResultado = objDal.fnGetTablasSincronizarNonSql();

                if (dtResultado != null && dtResultado.Rows.Count > 0)
                {
                    //recorre la tabla para llamar cada sp y enviar a sincronizar a firebase
                    foreach (DataRow row in dtResultado.Rows)
                    {
                        Int64  id                 = row["id"] != DBNull.Value ? Convert.ToInt64(row["id"]) : 0;
                        string strTbl             = row["objeto"] != DBNull.Value ? Convert.ToString(row["objeto"]) : "";
                        string strNodeSource      = row["node_origen"] != DBNull.Value ? Convert.ToString(row["node_origen"]) : "";
                        string strSpi             = row["nombre_spi"] != DBNull.Value ? Convert.ToString(row["nombre_spi"]) : "";
                        string strOrdenParametros = row["orden_sp_parametros"] != DBNull.Value ? Convert.ToString(row["orden_sp_parametros"]) : "";

                        if (strNodeSource == "" || strTbl == "" || strSpi == "" || strOrdenParametros == "")
                        {
                            funciones.Mensaje("No se especifico nombre de tabla, spi, orden parametros o Node verifique ");
                        }
                        else
                        {
                            funciones.Mensaje("Leyendo datos de: " + strTbl + ' ' + strNodeSource);

                            //se hace get para obtener todos los datos a sincronizar
                            pPostLocalFromNonSql(strNodeSource, strSpi, strOrdenParametros);
                        }
                    }
                }
                else
                {
                    funciones.Mensaje("Sin datos que sincronizar");
                }
            }
            catch (Exception ex)
            {
                string lStrMethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                funciones.Mensaje("ERR: " + lStrMethodName + ' ' + ex.ToString());
            }
        }