public void AddLookupResponsesToViewData(IAsyncRequestDispatcher asyncRequestDispatcher) { foreach (GetLookupsByCategoryResponse categoryResponse in asyncRequestDispatcher.Responses.Where(r => r.GetType() == typeof(GetLookupsByCategoryResponse))) { ViewData[categoryResponse.Category + "LookupItems"] = categoryResponse.Lookups.ToList(); } }
public void AddLookupRequests(IAsyncRequestDispatcher asyncRequestDispatcher, Type dtoType) { var lookupCategories = dtoType.GetProperties() .Where( p => p.PropertyType == typeof(LookupDto) || p.PropertyType == typeof(IEnumerable <LookupDto>)) .Select(p => { var categoryAttribute = (LookupCategoryAttribute) p.GetCustomAttributes(typeof(LookupCategoryAttribute), false).FirstOrDefault(); return((string)(categoryAttribute == null ? p.Name : categoryAttribute.Category)); }) .Distinct(); foreach (var category in lookupCategories) { asyncRequestDispatcher.Add(category, new GetLookupsByCategoryRequest { Category = category }); } }