public void SortItemsCollection()
{
//Collection of list items occur if current sort order does not match with
//applicaion settings sort order (actually, after settings chenging)
IEnumerable<ShoppingListItem> collection = this._sortedItemsCollection;
if (collection != null)
{
//Collection sorting
switch (App.Settings.SortOrderSetting)
{
case (int)ApplicationSettings.SortOrderSettings.Alphabetical:
collection = collection.OrderBy(i => i.ItemName);
break;
case (int)ApplicationSettings.SortOrderSettings.MostExpensiveFirst:
collection = collection.OrderBy(i => i, new MostExpensiveFirst());
break;
case (int)ApplicationSettings.SortOrderSettings.NewestFirst:
collection = collection.OrderBy(i => i, new NewestFirst());
break;
case (int)ApplicationSettings.SortOrderSettings.OldestFirst:
collection = collection.OrderBy(i => i.CreatedDate);
break;
case (int)ApplicationSettings.SortOrderSettings.Priority_TagsAlphabetical:
collection = collection.OrderBy(i => i, new Priority_TagsAlphabetical());
break;
case (int)ApplicationSettings.SortOrderSettings.TagsAlphabetical:
collection = collection.OrderBy(i => i.Tag);
break;
case (int)ApplicationSettings.SortOrderSettings.UncheckedFirst_Alphabetical:
collection = collection.OrderBy(i => i, new UncheckedFirst_Alphabetical());
break;
case (int)ApplicationSettings.SortOrderSettings.UncheckedFirst_Priority_Alphabetical:
collection = collection.OrderBy(i => i, new UncheckedFirst_Priority_Alphabetical());
break;
case (int)ApplicationSettings.SortOrderSettings.UncheckedFirst_TagsAlphabetical:
collection = collection.OrderBy(i => i, new UncheckedFirst_TagsAlphabetical());
break;
case (int)ApplicationSettings.SortOrderSettings.UnckeckedFirst_Priority_TagsAlphabetical:
collection = collection.OrderBy(i => i, new UnckeckedFirst_Priority_TagsAlphabetical());
break;
default:
break;
}
this.bSorted = true;
this.SortedItemsCollection = collection;
}
}