示例#1
0
        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);
        }
示例#2
0
 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[] { };
 }
示例#3
0
        /// <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));
        }
示例#4
0
 public string _GetKey()
 {
     return(TypeQueryEnum.ToString() + OriginType.Name);
 }