public void insert_usuario(string clave_empleado) { if (clave_empleado == "") { return; } try { //Hacemos un select a la base de SQL Server (Incluyendo la fotografía). string select_sql_server = string.Format("select " + "b.NOMBRE " + ", b.APATERNO " + ", b.AMATERNO " + ", b.FECHA_REGISTRO " + ", b.FECHA_MODIFICACION " + ", a.CLAVE_EMPLEADO " + ", b.NSS " + ", b.RFC " + ", b.CURP " + ", b.AREA " + ", b.DEPARTAMENTO " + ", a.BORRADO " + ", b.FECHA_INGRESO " + ", b.FECHA_BAJA " + ", a.FOTO " + "from PERSONAS a " + "left join EMPLEADOS b on a.CLAVE_EMPLEADO=b.CLAVE_EMPL " + "WHERE a.clave_empleado='{0}'", clave_empleado); DataTable tabla_sql_server = DatabaseChecado.runSelectQuery(select_sql_server); string path = ""; string temp_path = string.Format("~/temp/usuarios/{0}", path); string filename = tabla_sql_server.Rows[0]["CLAVE_EMPLEADO"].ToString() + ".jpg"; string fullPath = Path.Combine(System.Web.Hosting.HostingEnvironment.MapPath(temp_path), filename); //Guardamos la fotografía en JPG. try { object arreglo = tabla_sql_server.Rows[0]["foto"]; using (var ms = new MemoryStream((byte[])tabla_sql_server.Rows[0]["foto"])) { Image imagen = Image.FromStream(ms); imagen.Save(fullPath); } } catch (Exception ex) { } //Hacemos el Update en la base de MySQL (Inclyendo la nueva ruta) string string_insert_query = string.Format("INSERT INTO `lu_usuarios` " + "(`APATERNO`, " + "`AMATERNO`, " + "`NOMBRE`, " + "`foto_url`, " + "`FECHA_REGISTRO`, " + "`FECHA_MODIFICACION`, " + "`NSS`, " + "`RFC`, " + "`CURP`, " + "`AREA`, " + "`DEPARTAMENTO`, " + "`BORRADO`, " + "`FECHA_INGRESO`, " + "`FECHA_BAJA`, " + "`CLAVE_EMPLEADO`) " + "VALUES " + "('{0}', " + "'{1}', " + "'{2}', " + "'{3}', " + "STR_TO_DATE('{4}', '%Y-%m-%d'), " + "STR_TO_DATE('{5}', '%Y-%m-%d'), " + "'{6}', " + "'{7}', " + "'{8}', " + "'{9}', " + "'{10}', " + "'{11}', " + "STR_TO_DATE('{12}', '%Y-%m-%d'), " + "STR_TO_DATE('{13}', '%Y-%m-%d'), " + "'{14}'); " , tabla_sql_server.Rows[0]["APATERNO"].ToString() , tabla_sql_server.Rows[0]["AMATERNO"].ToString() , tabla_sql_server.Rows[0]["NOMBRE"].ToString() , "http://" + Request.Headers.Host + "/temp/usuarios/" + filename , tabla_sql_server.Rows[0]["FECHA_REGISTRO"].ToString() == "" ? DateTime.Now.ToString("yyyy-MM-dd") : DateTime.Parse(tabla_sql_server.Rows[0]["FECHA_REGISTRO"].ToString()).ToString("yyyy-MM-dd") , tabla_sql_server.Rows[0]["FECHA_MODIFICACION"].ToString() == "" ? DateTime.Now.ToString("yyyy-MM-dd") : DateTime.Parse(tabla_sql_server.Rows[0]["FECHA_MODIFICACION"].ToString()).ToString("yyyy-MM-dd") , tabla_sql_server.Rows[0]["NSS"].ToString() , tabla_sql_server.Rows[0]["RFC"].ToString() , tabla_sql_server.Rows[0]["CURP"].ToString() , tabla_sql_server.Rows[0]["AREA"].ToString() , tabla_sql_server.Rows[0]["DEPARTAMENTO"].ToString() , tabla_sql_server.Rows[0]["BORRADO"].ToString() , tabla_sql_server.Rows[0]["FECHA_INGRESO"].ToString() == "" ? DateTime.Now.ToString("yyyy-MM-dd") : DateTime.Parse(tabla_sql_server.Rows[0]["FECHA_INGRESO"].ToString()).ToString("yyyy-MM-dd") , tabla_sql_server.Rows[0]["FECHA_BAJA"].ToString() == "" ? DateTime.Now.ToString("yyyy-MM-dd") : DateTime.Parse(tabla_sql_server.Rows[0]["FECHA_BAJA"].ToString()).ToString("yyyy-MM-dd") , clave_empleado); Database.runInsert(string_insert_query); //Guardamos la fotografía en la ruta del servidor. return; } catch (Exception ex) { return; } return; }
public string getMigrarUsuarios() { string query_sql_server = "SELECT " + "a.CLAVE_EMPLEADO as CLAVE_EMPLEADO " + ", b.FECHA_MODIFICACION as FECHA_MODIFICACION " + "FROM PERSONAS a " + "LEFT JOIN EMPLEADOS b on a.CLAVE_EMPLEADO=b.CLAVE_EMPL;"; string query_mysql = "SELECT CLAVE_EMPLEADO AS CLAVE_EMPLEADO " + ", FECHA_MODIFICACION AS FECHA_MODIFICACION " + " FROM lu_usuarios; "; //Obtenemos las tablas DataTable tabla_sql_server = DatabaseChecado.runSelectQuery(query_sql_server); DataTable tabla_mysql = Database.runSelectQuery(query_mysql); if (tabla_mysql == null) { tabla_mysql = new DataTable(); } //Buscamos las claves dentro de la tabla de MySQL for (int x = 0; x < tabla_sql_server.Rows.Count; x++) { bool encontrado = false; for (int y = 0; y < tabla_mysql.Rows.Count; y++) { try { if (tabla_sql_server.Rows[x]["CLAVE_EMPLEADO"].ToString() == tabla_mysql.Rows[y]["CLAVE_EMPLEADO"].ToString()) { encontrado = true; string fecha_sql_server = tabla_sql_server.Rows[x]["FECHA_MODIFICACION"].ToString() == "" ? DateTime.Now.ToString("dd/MM/yyyy") : DateTime.Parse(tabla_sql_server.Rows[x]["FECHA_MODIFICACION"].ToString()).ToString("dd/MM/yyyy"); string fecha_mysql = tabla_mysql.Rows[y]["FECHA_MODIFICACION"].ToString() == "" ? DateTime.Now.ToString("dd/MM/yyyy") : DateTime.Parse(tabla_mysql.Rows[y]["FECHA_MODIFICACION"].ToString()).ToString("dd/MM/yyyy"); if (fecha_sql_server != fecha_mysql) { //Hacemos el update //Le mandamos la clave de empleado que vamos a insertar. update_usuario(tabla_sql_server.Rows[x]["CLAVE_EMPLEADO"].ToString()); } break; } } catch { continue; } } if (!encontrado) { //Hacemos el insert. //Le mandamos la clave de empleado que vamos a actualizar. insert_usuario(tabla_sql_server.Rows[x]["CLAVE_EMPLEADO"].ToString()); } } return("Actualizado"); }