как использовать порядок (ASC и DESC) с помощью Entity-Framework .Net Core - PullRequest
1 голос
/ 23 апреля 2019

Я использую угловые данные для отображения списка данных и выполнения сортировки на стороне сервера. когда я сортирую любой столбец, я получаю имя столбца и порядок сортировки. Я использую приведенный ниже код для сортировки записи.

if (!string.IsNullOrEmpty(sortField) && !string.IsNullOrEmpty(sortOrder))
            {
                if (sortOrder == "asc")
                {
                    if (sortField == "cnic")
                    {
                        data2 = data2.OrderBy(a => a.Cnic);
                    }
                    else if (sortField == "firstName")
                    {
                        data2 = data2.OrderBy(a => a.FirstName);
                    }
                    else if (sortField == "fatherName")
                    {
                        data2 = data2.OrderBy(a => a.FatherName);
                    }
                    else if (sortField == "gender")
                    {
                        data2 = data2.OrderBy(a => a.Gender);
                    }
                    else if (sortField == "designation")
                    {
                        data2 = data2.OrderBy(a => a.Designation);
                    }
                    else if (sortField == "cadreName")
                    {
                        data2 = data2.OrderBy(a => a.CadreName);
                    }
                    else if (sortField == "departmentName")
                    {
                        data2 = data2.OrderBy(a => a.DepartmentName);
                    }
                    else if (sortField == "districtName")
                    {
                        data2 = data2.OrderBy(a => a.DistrictName);
                    }
                    else if (sortField == "placeOfPostinfName")
                    {
                        data2 = data2.OrderBy(a => a.PlaceOfPostingName);
                    }
                    else if (sortField == "bps")
                    {
                        data2 = data2.OrderBy(a => a.Bps);
                    }
                    else if (sortField == "seniorityNo")
                    {
                        data2 = data2.OrderBy(a => a.SeniorityNo);
                    }
                }
                else
                {
                    if (sortField == "cnic")
                    {
                        data2 = data2.OrderByDescending(a => a.Cnic);
                    }
                    else if (sortField == "firstName")
                    {
                        data2 = data2.OrderByDescending(a => a.FirstName);
                    }
                    else if (sortField == "fatherName")
                    {
                        data2 = data2.OrderByDescending(a => a.FatherName);
                    }
                    else if (sortField == "gender")
                    {
                        data2 = data2.OrderByDescending(a => a.Gender);
                    }
                    else if (sortField == "designation")
                    {
                        data2 = data2.OrderByDescending(a => a.Designation);
                    }
                    else if (sortField == "cadreName")
                    {
                        data2 = data2.OrderByDescending(a => a.CadreName);
                    }
                    else if (sortField == "departmentName")
                    {
                        data2 = data2.OrderByDescending(a => a.DepartmentName);
                    }
                    else if (sortField == "districtName")
                    {
                        data2 = data2.OrderByDescending(a => a.DistrictName);
                    }
                    else if (sortField == "placeOfPostinfName")
                    {
                        data2 = data2.OrderByDescending(a => a.PlaceOfPostingName);
                    }
                    else if (sortField == "bps")
                    {
                        data2 = data2.OrderByDescending(a => a.Bps);
                    }
                    else if (sortField == "seniorityNo")
                    {
                        data2 = data2.OrderByDescending(a => a.SeniorityNo);
                    }
                }
            }

Есть ли какой-нибудь простой способ выполнить эту задачу ... Мой ожидаемый код: я хочу ввести только имя столбца заказа (cnic, firstname, Fathername ...) и порядок сортировки (asc, desc). У меня есть много столбцов и таблица данных для сортировки, и мне нужен универсальный метод для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...