এটি সাধারণ জালিয়াতি। নীচে সুইচ দিয়ে কল করা।
dvm.PagePerifications আমার ভিউমোডেলে টাইপ তালিকার টির একটি সম্পত্তি এই ক্ষেত্রে টি একটি EF6 মডেল শ্রেণি যা পেজ_প্রেমিশন বলে।
dvm.UserNameSortDir হল ভিউমডেলের একটি স্ট্রিং বৈশিষ্ট্য যা পরবর্তী সাজানোর দিকটি ধরে রাখে। যেটি ব্যবহারের ক্ষেত্রে দৃa়ভাবে ব্যবহৃত হয়।
switch (sortColumn)
{
case "user_name":
dvm.PagePermissions = Sort(dvm.PagePermissions, p => p.user_name, ref sortDir);
dvm.UserNameSortDir = sortDir;
break;
case "role_name":
dvm.PagePermissions = Sort(dvm.PagePermissions, p => p.role_name, ref sortDir);
dvm.RoleNameSortDir = sortDir;
break;
case "page_name":
dvm.PagePermissions = Sort(dvm.PagePermissions, p => p.page_name, ref sortDir);
dvm.PageNameSortDir = sortDir;
break;
}
public List<T> Sort<T,TKey>(List<T> list, Func<T, TKey> sorter, ref string direction)
{
if (direction == "asc")
{
list = list.OrderBy(sorter).ToList();
direction = "desc";
}
else
{
list = list.OrderByDescending(sorter).ToList();
direction = "asc";
}
return list;
}