inline,
Wayne Douglas wrote:
> ok - here goes :)
>
> GenericReportDataRepository provides report data - the idea being that
> it doesn't need to know where the data comes from or what shape it is.
>
> i have n domains - these domains have report data DTOs which when ran
> against the following code will retrieve the data and get populated
> from an sp:
>
> <code class="GenericReportDataRepository<T>">
>
> public IList<T> GetReportData<T>( Hashtable parameters, string
> spname, string appname)
> {
> string sql = string.Empty;
>
> ISQLQuery sessSql = null;
>
> sql = @"exec spname] ";
>
> sql += GetSPParams(params);
>
> sessSql =
> sessionManager.OpenSession(sessionName).CreateSQLQuery(sql);
>
> sessSql = SetSPParams(params);
>
> sessSql = AddScalarValues(sessSql, typeof(T));
>
> return sessSql.SetResultTransformer(new
> AliasToBeanResultTransformer(typeof(T))).List<T>();
>
> }
> </code>
>
> because GenericReportDataRepository only gets called with things like
> an assembly name as string, classname as string, the list of params
> and their values, i need to create all this on the fly.
>
? I can't see any class names or assembly names in this code. Still not
sure what it is you want to achieve
> sessionName ties to a configured NHibernate Facility session.
>
> i think i may be asking for the moon on a stick with cherries and ice
> cream - but this must be possible. i really hope so.
>
> w://
>
> 2009/10/31 Krzysztof Koźmic <[email protected]>:
>
>> What do you want to do?
>>
>> Give me actual scenario,
>>
>> Wayne Douglas wrote:
>>
>>> Hi
>>>
>>> if i have a component registered with :
>>>
>>> <code>
>>> <component id="GenericReportDataRepository"
>>> type="Ideal.Reporting.Domain.GenericReportDataRepository`1,
>>> Ideal.Reporting.Domain"/>
>>> </code>
>>>
>>> is there anyway i can retrieve that by using something similar to:
>>>
>>> <code>
>>>
>>> var ass = Assembly.Load(assemblyname);
>>>
>>> var type = ass.GetType(typename);
>>>
>>> Type openType = typeof(GenericReportDataRepository<>);
>>>
>>> Type actualType = openType.MakeGenericType(new Type[] { type });
>>>
>>> object obj = Activator.CreateInstance(actualType);
>>>
>>> var genrepo = Container.Resolve<GenericReportDataRepository<obj>>();
>>>
>>> </code>
>>>
>>> I know the code sucks in terms of names and stuff - i'm just typing it
>>> in to gmail - just trying to figure out how to do this.
>>>
>>> struggling a bit :)
>>>
>>>
>>>
>>
>
>
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Castle Project Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/castle-project-users?hl=en
-~----------~----~----~----~------~----~------~--~---