我有一个对象列表如下:
ID Name PageOrder
1 Home 1
2 Product 2
3 Link 3
4 Help 4
期望:
ID Name PageOrder
1 Home 1
3 Link 2
2 Product 3
4 Help 4
我在 C# 中对此进行编码,如下所示。但我不认为我这样做的方式不是最佳实践。请指教。
public void OrderUp(int favouriteId)
{
UsFavourite currentFav = db.UsFavourites.FirstOrDefault(m => m.FavouriteID == favouriteId);
// Get favourite by current favourite's order - 1
UsFavourite tempFav = db.UsFavourites.FirstOrDefault(m => m.FavouriteOrder == (currentFav.FavouriteOrder - 1));
if (tempFav != null)
{
//update tempFav
tempFav.FavouriteOrder = currentFav.FavouriteOrder;
Save();
//update currentFav
currentFav.FavouriteOrder = currentFav.FavouriteOrder - 1;
Save();
}
}
public void OrderDown(int favouriteId)
{
UsFavourite currentFav = db.UsFavourites.FirstOrDefault(m => m.FavouriteID == favouriteId);
// Get favourite by current favourite's order + 1
UsFavourite tempFav = db.UsFavourites.FirstOrDefault(m => m.FavouriteOrder == (currentFav.FavouriteOrder + 1));
if (tempFav != null)
{
//update tempFav
tempFav.FavouriteOrder = currentFav.FavouriteOrder;
Save();
//update currentFav
currentFav.FavouriteOrder = currentFav.FavouriteOrder + 1;
Save();
}
}