public DataTable SqlExecute(Object GenericObject, int Action)
        {
            try
            {
                SqlCommand cmd = new SqlCommand();
                SqlConnection conn = new SqlConnection();
                ClsConexion conexion = new ClsConexion();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                conn = conexion.OpenSqlConection();
                cmd.Connection = conn;
                cmd.CommandText = String.Concat(Constants.SQLPrefix, GenericObject.GetType());
                cmd.CommandType = CommandType.StoredProcedure;
                foreach (PropertyInfo prop in Generic(GenericObject))
                {
                    cmd.Parameters.AddWithValue("@"+prop.Name, prop.GetValue(GenericObject, null));
                }
                cmd.Parameters.AddWithValue("@Action", Action);
                da.Fill(dt);

                conexion.CloseSqlConection(conn);
                return dt;

            }
            catch (Exception e)
            {

                throw;
            }
        }
        public DataTable Execute(Object GenericObject, String Action)
        {
            try
            {
                MySqlCommand cmd = new MySqlCommand();
                MySqlConnection conn = new MySqlConnection();
                ClsConexion conexion = new ClsConexion();
                MySqlDataAdapter da = new MySqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                conn = conexion.StartConection();
                cmd.Connection = conn;
                cmd.CommandText = String.Concat(Action, GenericObject.GetType().ToString().ToLower());
                cmd.CommandType = CommandType.StoredProcedure;
                foreach (PropertyInfo prop in Generic(GenericObject))
                {
                    cmd.Parameters.AddWithValue(String.Concat(ConstantsMySQL.PrefixParammeter, prop.Name), prop.GetValue(GenericObject, null));
                }
                da.Fill(dt);

                conexion.CloseConection(conn);
                return dt;

            }
            catch (Exception)
            {

                    throw;
            }
        }