using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Exam.Classes { /// ///Класс со вспомогательными методами /// public class Methods { /// /// Создает отсортированный список рейтингов пользователей типа List /// /// Отсортированный список рейтингов пользователей public static List FindRating() { List users = DBContext.Connect.users.OrderBy(x => x.surname).ToList(); //сортировка пользователей по фамилии List usersmetrics = DBContext.Connect.usersmetrics.ToList(); List ratings = new List(); foreach (users us in users) { ratings r = new ratings(); r.position = 0; r.id_user = us.id; r.name = $"{us.surname} {us.firstname} {us.patronymic}"; r.rate = Convert.ToDouble(usersmetrics.Where(x => x.id_user == us.id).Sum(x => x.coefficient)); ratings.Add(r); } ratings = ratings.OrderByDescending(x => x.rate).ToList(); //сортировка рейтингов по сумме коэффициентов int i = 1; foreach (ratings r in ratings) { r.position = i++; } return ratings; } } }