public IEnumerable <GenericModel> GetListForConfig(uint idConfig, params object[] parametros) { Config.TipoConfigEnum tipo = ConfiguracaoDAO.Instance.ObtemValorCampo <Config.TipoConfigEnum>("tipo", "idConfig=" + idConfig); string nomeTipoEnum = ConfiguracaoDAO.Instance.ObtemValorCampo <string>("nomeTipoEnum", "idConfig=" + idConfig); string nomeTipoMetodo = ConfiguracaoDAO.Instance.ObtemValorCampo <string>("nomeTipoMetodo", "idConfig=" + idConfig); tipo = tipo == Config.TipoConfigEnum.GrupoEnumMetodo && !String.IsNullOrEmpty(nomeTipoEnum) ? Config.TipoConfigEnum.Enum : tipo == Config.TipoConfigEnum.GrupoEnumMetodo && !String.IsNullOrEmpty(nomeTipoMetodo) ? Config.TipoConfigEnum.ListaMetodo : tipo; string nome = tipo == Config.TipoConfigEnum.Enum ? nomeTipoEnum : nomeTipoMetodo; return(GetListForConfig(nome, (int)tipo, parametros)); }
public Colosoft.WebControls.VirtualObjectDataSource GetForConfig(uint idConfig, params object[] parametros) { Config.TipoConfigEnum tipo = ConfiguracaoDAO.Instance.ObtemValorCampo <Config.TipoConfigEnum>("tipo", "idConfig=" + idConfig); string nomeTipoEnum = ConfiguracaoDAO.Instance.ObtemValorCampo <string>("nomeTipoEnum", "idConfig=" + idConfig); string nomeTipoMetodo = ConfiguracaoDAO.Instance.ObtemValorCampo <string>("nomeTipoMetodo", "idConfig=" + idConfig); tipo = tipo == Config.TipoConfigEnum.GrupoEnumMetodo && !String.IsNullOrEmpty(nomeTipoEnum) ? Config.TipoConfigEnum.Enum : tipo == Config.TipoConfigEnum.GrupoEnumMetodo && !String.IsNullOrEmpty(nomeTipoMetodo) ? Config.TipoConfigEnum.ListaMetodo : tipo; string nome = tipo == Config.TipoConfigEnum.Enum ? nomeTipoEnum : nomeTipoMetodo; var odsRetorno = new Colosoft.WebControls.VirtualObjectDataSource(); if (tipo == Config.TipoConfigEnum.Enum) { odsRetorno.TypeName = "Glass.Data.Helper.ConfigDAO"; odsRetorno.SelectMethod = "GetListForConfig"; odsRetorno.SelectParameters.Add(new System.Web.UI.WebControls.Parameter() { Name = "type", DefaultValue = nome, Type = TypeCode.String }); odsRetorno.SelectParameters.Add(new System.Web.UI.WebControls.Parameter() { Name = "tipoConfig", DefaultValue = ((int)tipo).ToString(), Type = TypeCode.Int32 }); if (parametros == null || parametros.Length == 0 || !typeof(System.Web.UI.WebControls.Parameter).IsAssignableFrom(parametros[0].GetType())) { odsRetorno.SelectParameters.Add(new System.Web.UI.WebControls.Parameter() { Name = "parametros", Type = TypeCode.Object }); odsRetorno.Selecting += delegate(object sender, Colosoft.WebControls.VirtualObjectDataSourceSelectingEventArgs e) { e.InputParameters["parametros"] = parametros != null ? parametros : new object[0];; }; } else if (parametros.Length > 0) { foreach (System.Web.UI.WebControls.Parameter p in parametros) { odsRetorno.SelectParameters.Add(p); } } } else { odsRetorno.TypeName = nome.Split(',')[0].Trim(); odsRetorno.SelectMethod = nome.Split(',')[1].Trim(); if (parametros != null && parametros.Length > 0 && typeof(System.Web.UI.WebControls.Parameter).IsAssignableFrom(parametros[0].GetType())) { foreach (System.Web.UI.WebControls.Parameter p in parametros) { odsRetorno.SelectParameters.Add(p); } } } return(odsRetorno); }