Exemple #1
0
        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));
        }
Exemple #2
0
        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);
        }