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;
}
}
}