public virtual Listado <T> Seleccionar(int pagina = 1) { string sql = ObtenerSQL(); string sqlOrden = ObtenerOrden(); if (ObtenerPaginacion() > 0) { sql = ObtenerSQLPaginacion(pagina, ""); if (sqlOrden != string.Empty) { sql = sql.Replace("ORDER BY Id", sqlOrden); } } else { if (sqlOrden != string.Empty) { sql = $" {sql} {sqlOrden}"; } } using (IDbConnection db = DBConexion.Factory(ObtenerConexion())) { List <T> resultado = db.Query <T>(sql).ToList(); if (ObtenerPaginacion() > 0) { string sqlTotal = string.Format("select count(1) from {0}", Tabla()); TotalRegistros = db.Query <int>(sqlTotal).Single(); } return(new Listado <T>() { TotalRegistros = this.TotalRegistros, TotalPaginas = this.TotalPaginas, Paginacion = ObtenerPaginacion(), PaginaActual = pagina, Data = resultado }); } }
public virtual int Ejecutar(string sql, T entidad) { using (IDbConnection db = DBConexion.Factory(ObtenerConexion())) { return(db.Execute(sql, entidad)); } }
public List <T> Ejecutar(string query, object parameters) { using (IDbConnection db = DBConexion.Factory(ObtenerConexion())) { List <T> resultado = db.Query <T>(query, parameters).ToList(); return(resultado); } }
public bool Evalua(string expresionLogica) { string select = "select 1 where " + expresionLogica; using (IDbConnection db = DBConexion.Factory(conexion)) { var resultado = db.Query <int>(select).ToList(); return(resultado.Count > 0); } }
public virtual List <T> SeleccionSimple(string condicion, object parameters) { string sql = string.Format("Select * From {0}", Tabla()); if (condicion != "") { sql += string.Format(" where {0}", condicion); } sql += ObtenerOrden(); using (IDbConnection db = DBConexion.Factory(ObtenerConexion())) { return(db.Query <T>(sql, parameters).ToList()); } }
public virtual Listado <T> Seleccionar(string condicion, object parameters, int pagina = 1) { string sql; string sqlOrden = ObtenerOrden(); if (ObtenerPaginacion() > 0) { sql = ObtenerSQLPaginacion(pagina, condicion); if (sqlOrden != string.Empty) { sql = sql.Replace("ORDER BY Id", sqlOrden); } } else { sql = string.Format("Select * From {0}", Tabla()); if (condicion != "") { sql += string.Format(" where {0}", condicion); } if (sqlOrden != string.Empty) { sql += $" {sqlOrden}"; } } using (IDbConnection db = DBConexion.Factory(ObtenerConexion())) { List <T> resultado = db.Query <T>(sql, parameters).ToList(); if (ObtenerPaginacion() > 0) { string sqlTotal; if (!string.IsNullOrEmpty(condicion)) { sqlTotal = string.Format("select count(1) from {0} where {1}", Tabla(), condicion); } else { sqlTotal = string.Format("select count(1) from {0}", Tabla()); } TotalRegistros = db.Query <int>(sqlTotal, parameters).Single(); } return(new Listado <T>() { TotalRegistros = this.TotalRegistros, TotalPaginas = this.TotalPaginas, Paginacion = ObtenerPaginacion(), PaginaActual = pagina, Data = resultado }); } }
public virtual void Insertar(T entidad) { string campos = string.Empty; string valores = string.Empty; string identityScope = ""; PropertyInfo Llave = ObtenerPropiedadLLave(); var propiedades = ObtenerPropiedadesInsertar(); if (Llave.PropertyType.ToString() == "System.Guid") { if (Guid.Parse(Util.Get(entidad, Llave.Name).ToString()) == Guid.Empty) { Util.Set(entidad, Llave.Name, Guid.NewGuid()); } campos += string.Format("{0}, ", Llave.Name); valores += string.Format("@{0}, ", Llave.Name); identityScope = " select 0; "; } else { identityScope = " select scope_Identity(); "; } foreach (var propiedad in ObtenerPropiedadesInsertar()) { if (propiedad.Name != Llave.Name && propiedad.CanRead && propiedad.CanWrite && EsPrimitiva(propiedad)) { campos += string.Format("{0}, ", propiedad.Name); valores += string.Format("@{0}, ", propiedad.Name); } } campos = campos.Substring(0, campos.Length - 2); valores = valores.Substring(0, valores.Length - 2); string query = string.Format("Insert into {0}({1}) values ({2}); {3}", Tabla(), campos, valores, identityScope); using (IDbConnection db = DBConexion.Factory(ObtenerConexion())) { var identity = db.Query <int>(query, entidad).Single(); if (identity > 0) { Util.Set(entidad, "Id", identity); } } }