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
-~----------~----~----~----~------~----~------~--~---

Reply via email to