Please email me for me to add you into assembla team to check out the source codes using SVN. Set up guide is on the website.
Pre-release functionalities:
- AJAX-enabled demo site (Autocompleter/update panel) Ajaxcontroltoolkit.dll
- Using Lists as primary data store
- using SmartPart for UI(visual web part in 2010) (found @ codeplex)
- Model, View, Controller, AJAX (WS), Framework projects (for a robust & scalable application)
- SPGridView (filtering/sorting/paging)
- SPGridView with MenuTemplateItem & SPToolBar (for the nice looking MOSS style menu that allow custom events)
- WebConfig extractor (supporting lazy-loading)
- Predicate builder (for using Lambda expressions as where clause)
- LinQ to sharepoint (SPMetal) credits to Bart Desmet for his excellent contributions
- LinQ/IList extensions: for converting to DataTable for ObjectDataSource (for spgridview filtration) //optional
It's unable to perform joining like SQL, but even MOSS 2010 Microsoft.Sharepoint.Linq doesn't as CAML doesn't support joining. You will have to do a joining at the controller level.
For e.g.
3 Lists:
Products, Products category, products in category
IList<Product> products = SPListEngine.GetIListByClause<Product>(obj => obj.Name.Contains("Demo"));
IList<ProductCategory> productCategories = SPListEngine.GetIListByClause<ProductCategory>(obj => obj.Id.Equals(5);
Perform a LinQ join like:
var joinedProducts = from p in products join pc in productCategories on products.Id == productCategories.ProductId;
foreach(var joined in joinedProducts)
{
//do what you need in joined IEnumerable<T>
}
I am really hoping someone can help me develop an internal logic class that will remove the 2000 listitem limit. I've conceptualised it, but can't squeeze time out to do it (work & school is taking its toll on me)
Do give it a try in your next MOSS 2007 project or for your own practice.
No comments:
Post a Comment