/// <summary> /// Ejecuta un sp apartir de un objeto entity /// </summary> /// <param name="pSP">entity que contiene informacion del sp</param> /// <returns>entity con el resultado de la ejecución del sp</returns> public Entity EjecutarSPAux(Entity pSP, String pEsquema) { Entity resultado = new Entity(); SqlConnection conexion; try { conexion = new SqlConnection(_ConnectionString); conexion.Open(); String nombreSP = pEsquema+"."+(String)pSP.Get("SP"); Entities parametros = (Entities)pSP.Get("Parametros"); Boolean retornaDatos = (Boolean)pSP.Get("Retorna"); SqlDataAdapter adapter = new SqlDataAdapter(); SqlCommand sp = new SqlCommand(); sp.Connection = conexion; sp.CommandType = System.Data.CommandType.StoredProcedure; sp.CommandText = nombreSP; foreach (Entity parametro in parametros) { SqlParameter sqlParametro = new SqlParameter((String)parametro.Get("Nombre"), parametro.Get("Valor")); if (sqlParametro.Value == null) { sqlParametro.Value = DBNull.Value; } if (((String)parametro.Get("Tipo")).Equals("Input")) { sqlParametro.Direction = System.Data.ParameterDirection.Input; } else if (((String)parametro.Get("Tipo")).Equals("Output")) { sqlParametro.Direction = System.Data.ParameterDirection.Output; } sp.Parameters.Add(sqlParametro); } if (retornaDatos) { adapter.SelectCommand = sp; DataSet dataset = new DataSet(); adapter.Fill(dataset); foreach (DataTable table in dataset.Tables) { Entities result = new Entities(); foreach (DataRow row in table.Rows) { Entity fila = new Entity(); for (int i = 0; i < (row.ItemArray.Length); i++) { fila.Set(row.Table.Columns[i].ColumnName, row.ItemArray[i]); } result.Add(fila); } resultado.Set(table.TableName, result); } } else { sp.ExecuteNonQuery(); } resultado.Set("Estado", true); resultado.Set("Error", ""); conexion.Close(); } catch (SqlException e) { resultado.Set("Estado", false); resultado.Set("Error", e.Message); } return resultado; }
public static void obtenerDocumentos(int pIndiceSocio, int p_2) { _Documentos = new Entities(); int idSocio = 0; idSocio = (int)_ListaSocios.ElementAt(pIndiceSocio).Get("id"); SqlDataReader lectorSQL; int cuenta; try { lectorSQL = AccesoDatosCV.obtenerDocumentos(idSocio); if (lectorSQL.HasRows) { banderaError = 0; while (lectorSQL.Read()) { cuenta = _Documentos.Count; _Documentos.Add(new Entity()); _Documentos.ElementAt(cuenta).Set("id", lectorSQL.GetInt32(0)); _Documentos.ElementAt(cuenta).Set("numero", lectorSQL.GetInt32(1)); _Documentos.ElementAt(cuenta).Set("Fecha1", lectorSQL.GetDateTime(2)); _Documentos.ElementAt(cuenta).Set("Fecha2", lectorSQL.GetDateTime(3)); _Documentos.ElementAt(cuenta).Set("totalai", lectorSQL.GetDecimal(4)); _Documentos.ElementAt(cuenta).Set("impuestos", lectorSQL.GetDecimal(5)); _Documentos.ElementAt(cuenta).Set("total", lectorSQL.GetDecimal(6)); cuenta++; } } else banderaError = 1; } catch (Exception ex) { return; } return; }