public IList <BucketListItem> Sort(IList <BucketListItem> values, Enums.SortColumns sortColumn, bool desc) { List <BucketListItem> sortedBucketListItems = null; // NOTE: Unknown sort column types handled at service level if (sortColumn == Enums.SortColumns.ListItemName) { if (!desc) { sortedBucketListItems = values.OrderBy(x => x.Name).ToList(); } else { sortedBucketListItems = values.OrderByDescending(x => x.Name).ToList(); } } else if (sortColumn == Enums.SortColumns.Created) { if (!desc) { sortedBucketListItems = values.OrderBy(x => x.Created).ToList(); } else { sortedBucketListItems = values.OrderByDescending(x => x.Created).ToList(); } } else if (sortColumn == Enums.SortColumns.Category) { if (!desc) { sortedBucketListItems = values.OrderBy(x => x.Category).ToList(); } else { sortedBucketListItems = values.OrderByDescending(x => x.Category).ToList(); } } else if (sortColumn == Enums.SortColumns.Achieved) { if (!desc) { sortedBucketListItems = values.OrderBy(x => x.Achieved).ToList(); } else { sortedBucketListItems = values.OrderByDescending(x => x.Achieved).ToList(); } } return(sortedBucketListItems); }
public IList <BucketListItem> Sort(IList <BucketListItem> values, Enums.SortColumns sortColumn, bool desc) { for (int outer = 0; outer < values.Count; outer++) { if (outer == 0) { continue; } for (int inner = outer; inner > 0; inner--) { long innerCompare = 0; long innerMinusOneCompare = 0; if (sortColumn == Enums.SortColumns.ListItemName) { SortName(inner, inner - 1, values, out innerCompare, out innerMinusOneCompare); } if (sortColumn == Enums.SortColumns.Created) { SortCreated(inner, inner - 1, values, out innerCompare, out innerMinusOneCompare); } if (sortColumn == Enums.SortColumns.Category) { SortCategory(inner, inner - 1, values, out innerCompare, out innerMinusOneCompare); } if (sortColumn == Enums.SortColumns.Achieved) { SortAchieved(inner, inner - 1, values, out innerCompare, out innerMinusOneCompare); } if (ifSwapValues(desc, innerCompare, innerMinusOneCompare)) { var tmp = values[inner]; values[inner] = values[inner - 1]; values[inner - 1] = tmp; } } } return(values); }
protected IList <BucketListItem> RunSortTest(IList <BucketListItem> values, Enums.SortColumns sortColumn, bool desc, ISort sortAlgorithm) { var sortedList = sortAlgorithm.Sort(values, sortColumn, desc); return(sortedList); }