public static QueryBuilder CreateQuery(Object Obj, TypeQueryEnum TipoConsulta, bool IsDeleteLogical = true, int TimeOut = 1) { QueryBuilder Query = new QueryBuilder(); switch (TipoConsulta) { case TypeQueryEnum.INSERT: Query = CreateINSERT(Obj); break; case TypeQueryEnum.UPDATE: Query = CreateUPDATE(Obj); break; case TypeQueryEnum.DELETE: Query = CreateDELETE(Obj, IsDeleteLogical); break; case TypeQueryEnum.SELECT: Query = CreateSELECT(Obj); break; default: break; } Query.TipoConsulta = TipoConsulta; return(Query); }
public QueryBuilder(string ConsultaCruda, TypeQueryEnum TypeQueryEnum, List <SqlParameter> Params = null, int TimeOut = 1) { this.TipoConsulta = TypeQueryEnum; this.ConsultaCruda = ConsultaCruda; this.Parametros = Params ?? new List <SqlParameter>(); this.TieneError = false; this.TimeOut = TimeOut; this.Includes = new string[] { }; }
/// <summary> /// Crea una consulta tipo Delete a partir de una clase /// </summary> /// <param name="Obj"></param> /// <param name="IsLogical"></param> /// <returns></returns> private static QueryBuilder CreateDELETE(Object Obj, bool IsLogical) { Type Tipo = Obj.GetType(); var TableName = Tipo.GetCustomAttributesData()[0].ConstructorArguments[0].Value; string SqlQuery = string.Empty; TypeQueryEnum TypeQuery = TypeQueryEnum.SELECT; List <SqlParameter> ListParameters = new List <SqlParameter>(); if (IsLogical) { SqlQuery = $"UPDATE {TableName} SET EsActivo = 0;"; TypeQuery = TypeQueryEnum.UPDATE; } else { SqlQuery = $"DELETE {TableName} WHERE Id = @Id;"; ListParameters.Add(new SqlParameter("@Id", 1)); TypeQuery = TypeQueryEnum.DELETE; } return(new QueryBuilder(SqlQuery, TypeQuery, ListParameters)); }
public string _GetKey() { return(TypeQueryEnum.ToString() + OriginType.Name); }