} // private Sitio dame_sitio_del_fragmento(DataRow fragmento) { String nombre_fragmento = (String)fragmento[SITIO]; Sitio buscado = null; if (nombre_fragmento == SO.ID) { buscado = SO; } else if (nombre_fragmento == SM1.ID) { buscado = SM1; } else if (nombre_fragmento == SM2.ID) { buscado = SM2; } else if (nombre_fragmento == SM3.ID) { buscado = SM3; } else if (nombre_fragmento == SPG.ID) { buscado = SPG; } return(buscado); } //
private void inserta_fragmento_V(Sitio sitio, DataRow fragmento, String columnas, String clave, String valores) { List <String> columnas_FV = enlista_columnas_FV(fragmento[NOM].ToString()); List <String> valores_entrada = enlista_valores(valores, true); List <String> columnas_completas = enlista_valores(columnas, true); String cad_col = formatea_cadena_columnas(columnas_FV); String cad_val = ""; clave = clave.Remove(clave.Length - 1, 1); valores_entrada.Insert(0, clave); for (int i = columnas_FV.Count - 1; i >= 0; i--) { if (!columnas_completas.Contains(columnas_FV[i])) { columnas_completas.Insert(0, columnas_FV[i]); } } cad_val = empareja_datos_FV(columnas_completas, columnas_FV, valores_entrada); if (columnas_FV.Count == enlista_valores(cad_val, true).Count) { sitio.inserta(fragmento[NOM].ToString(), cad_col, "", cad_val); } else { MessageBox.Show("Error al emparejar columnas con valores!"); } }
} //agregar grids public void insercion(String tabla, String columnas, String valores, String tabla_detalle, String clave_detalle, Boolean detalle, List <String> val_detalle) { DataTable fragmentos = dame_fragmentos_de(tabla); int indx_fsec = dame_indice_fragmento_principal(fragmentos); String clave = ""; if (indx_fsec > -1) //Si hay secuencia { DataRow fragmento_ppal = fragmentos.Rows[indx_fsec]; Sitio sitio = dame_sitio_del_fragmento(fragmento_ppal); DataSet data_set = new DataSet(); sitio.dame_clave_secuencia(fragmento_ppal[SEC].ToString(), ref clave); sitio.inserta(fragmento_ppal[NOM].ToString(), columnas, "", valores); fragmentos.Rows.RemoveAt(indx_fsec); } if (clave != "") { clave += ","; } if (clave_detalle != "") { clave = clave_detalle + ","; } if (detalle) { insercion_detalle(tabla_detalle, clave, val_detalle); } inserta_dependientes(fragmentos, columnas, clave, valores); llena_superGrid_de(tabla); }
private void inserta_fragmento_H(Sitio sitio, DataRow fragmento, String clave, String valores) { String condicion = fragmento[COND].ToString(); String dependencia = fragmento[DEP].ToString(); List <String> items = dame_elementos_condicion(condicion); int PIZQ = 0, OPERADOR = 1, PDER = 2; Boolean cumple_condicion = false; String valor_entrada; List <String> columnas = new List <string>(); sitio.dame_columnas_de(fragmento[NOM].ToString(), columnas); valor_entrada = dame_valor_entrada(items[PIZQ], columnas, enlista_valores(valores, false)); if (dependencia == "") { cumple_condicion = evalua_condicion(items[OPERADOR], valor_entrada, items[PDER]); } else { List <String> col_dep = new List <string>(); sitio.dame_columnas_de(dependencia, col_dep); cumple_condicion = valida_dependencia(sitio, dependencia, col_dep[0], valor_entrada); } if (cumple_condicion) { sitio.inserta(fragmento[NOM].ToString(), "", clave, valores); } else { //MessageBox.Show("No se realizó la inserción en " + fragmento[NOM].ToString()); } }
private void insercion_detalle(String tabla_detalle, String clave, List <String> val_detalle) { DataTable fragmentos = dame_fragmentos_de(tabla_detalle); foreach (DataRow f in fragmentos.Rows) { Sitio sitio = dame_sitio_del_fragmento(f); foreach (String valor in val_detalle) { sitio.inserta(f[NOM].ToString(), "", clave, valor); } } }
public void eliminacion_detalle(String tabla, String clave1, String clave2) { DataTable fragmentos = dame_fragmentos_de(tabla); foreach (DataRow fragmento in fragmentos.Rows) { Sitio sitio = dame_sitio_del_fragmento(fragmento); List <String> columnas_clave = new List <string>(); sitio.dame_columnas_de(fragmento[NOM].ToString(), columnas_clave); sitio.elimina_detalle(fragmento[NOM].ToString(), columnas_clave[0], columnas_clave[1], clave1, clave2); } llena_superGrid_de(tabla); }
private Boolean valida_dependencia(Sitio sitio, String dependencia, String columna_pk, String valor_entrada) { DataSet data_set = new DataSet(); String consulta = "SELECT * FROM " + dependencia + " WHERE " + columna_pk + "=" + valor_entrada; sitio.dame_dataset_de(consulta, data_set); if (data_set.Tables[0].Rows.Count > 0) { return(true); } return(false); }
public void modificacion_tratamiento(String tabla, String campo, String valor, String campo_clave, String clave) { DataTable fragmentos = dame_fragmentos_de(tabla); foreach (DataRow fragmento in fragmentos.Rows) { if (fragmento[TIPO].ToString() != "V") { String consulta = "UPDATE " + fragmento[NOM].ToString() + " SET " + campo + "=" + valor + " WHERE " + campo_clave + "=" + clave; Sitio sitio = dame_sitio_del_fragmento(fragmento); sitio.ejecuta_comando(consulta); } } llena_superGrid_de(tabla); }
public Sitio dame_sitio(String sitio) { Sitio s = null; switch (sitio) { case "CONTROL_INTERNO": s = SPG; break; case "FARMACIA": s = SO; break; } return(s); }
public void modificacion_campo(String tabla, String campo, String valor, String campo_clave, String clave, String campo_clave2, String clave2) { DataTable fragmentos = dame_fragmentos_de(tabla); foreach (DataRow fragmento in fragmentos.Rows) { String consulta = "UPDATE " + fragmento[NOM].ToString() + " SET " + campo + "=" + valor + " WHERE " + campo_clave + "=" + clave; if (campo_clave2 != "" && clave2 != "") { consulta += " AND " + campo_clave2 + "=" + clave2; } Sitio sitio = dame_sitio_del_fragmento(fragmento); sitio.ejecuta_comando(consulta); } llena_superGrid_de(tabla); }
public void eliminacion(String tabla, String clave) { DataTable fragmentos = dame_fragmentos_de(tabla); foreach (DataRow fragmento in fragmentos.Rows) { Sitio sitio = dame_sitio_del_fragmento(fragmento); List <String> columnas = new List <string>(); String columna_clave = ""; sitio.dame_columnas_de(fragmento[NOM].ToString(), columnas); columna_clave = columnas[0]; sitio.elimina(fragmento[NOM].ToString(), columna_clave, clave); } llena_superGrid_de(tabla); }
public void modificacion(String tabla, String columna_clave, String clave, DataRow valores) { DataTable fragmentos = dame_fragmentos_de(tabla); foreach (DataRow fragmento in fragmentos.Rows) { Sitio sitio = dame_sitio_del_fragmento(fragmento); List <String> columnas_val = new List <string>(); if (fragmento[TIPO].ToString() == "V") { List <String> columnas_FV = enlista_columnas_FV(fragmento[NOM].ToString()); foreach (String atributo in columnas_FV) { if (atributo != columna_clave) { columnas_val.Add(atributo + "=" + valores[atributo].ToString()); } } } else { int n_columnas = valores.Table.Columns.Count; for (int i = 0; i < n_columnas; i++) { String nom_col = valores.Table.Columns[i].ColumnName; columnas_val.Add(nom_col + "=" + valores[i].ToString()); } } if (columnas_val.Count != 0) { sitio.modifica(fragmento[NOM].ToString(), columna_clave, clave, columnas_val); } else { MessageBox.Show("columnas_val Count = 0"); } } llena_superGrid_de(tabla); }
} //agregar las demas grids private void inserta_dependientes(DataTable fragmentos, String columnas, String clave, String valores) { foreach (DataRow fragmento in fragmentos.Rows) { Sitio sitio = dame_sitio_del_fragmento(fragmento); switch (fragmento[TIPO].ToString()) { case "N": case "R": sitio.inserta(fragmento[NOM].ToString(), "", clave, valores); break; case "H": inserta_fragmento_H(sitio, fragmento, clave, valores); break; case "V": inserta_fragmento_V(sitio, fragmento, columnas, clave, valores); break; } } }
private void inserta_fragmento_V(Sitio sitio, DataRow fragmento, String columnas, String clave, String valores) { List<String> columnas_FV = enlista_columnas_FV(fragmento[NOM].ToString()); List<String> valores_entrada = enlista_valores(valores,true); List<String> columnas_completas = enlista_valores(columnas,true); String cad_col = formatea_cadena_columnas(columnas_FV); String cad_val = ""; clave = clave.Remove(clave.Length - 1, 1); valores_entrada.Insert(0, clave); for (int i = columnas_FV.Count-1; i >= 0; i--) if(!columnas_completas.Contains(columnas_FV[i])) columnas_completas.Insert(0,columnas_FV[i]); cad_val = empareja_datos_FV(columnas_completas, columnas_FV, valores_entrada); if (columnas_FV.Count == enlista_valores(cad_val,true).Count) sitio.inserta(fragmento[NOM].ToString(), cad_col, "", cad_val); else MessageBox.Show("Error al emparejar columnas con valores!"); }
private void inserta_fragmento_H(Sitio sitio, DataRow fragmento, String clave, String valores) { String condicion = fragmento[COND].ToString(); String dependencia = fragmento[DEP].ToString(); List<String> items = dame_elementos_condicion(condicion); int PIZQ = 0, OPERADOR = 1, PDER = 2; Boolean cumple_condicion = false; String valor_entrada; List<String> columnas = new List<string>(); sitio.dame_columnas_de(fragmento[NOM].ToString(), columnas); valor_entrada = dame_valor_entrada(items[PIZQ], columnas, enlista_valores(valores,false)); if (dependencia == "") cumple_condicion = evalua_condicion(items[OPERADOR], valor_entrada, items[PDER]); else { List<String> col_dep = new List<string>(); sitio.dame_columnas_de(dependencia, col_dep); cumple_condicion = valida_dependencia(sitio, dependencia, col_dep[0], valor_entrada); } if (cumple_condicion) sitio.inserta(fragmento[NOM].ToString(), "", clave, valores); else { //MessageBox.Show("No se realizó la inserción en " + fragmento[NOM].ToString()); } }
private void llena_superGrid(Sitio sitio,int grid_indx) { sitio.llena_superGrid_con(consultas[grid_indx], grids[grid_indx]); }
private Boolean valida_dependencia(Sitio sitio, String dependencia, String columna_pk, String valor_entrada) { DataSet data_set = new DataSet(); String consulta = "SELECT * FROM " + dependencia + " WHERE " + columna_pk + "=" + valor_entrada; sitio.dame_dataset_de(consulta, data_set); if (data_set.Tables[0].Rows.Count > 0) return true; return false; }
} //agregar consultas de las demas grids private void llena_superGrid(Sitio sitio, int grid_indx) { sitio.llena_superGrid_con(consultas[grid_indx], grids[grid_indx]); } //