private static void SortPeople(CommonMealsViewModel meals, string sortExpr) { if (string.IsNullOrWhiteSpace(sortExpr) || meals?.People == null) { return; } meals.People = meals.People .Select((p, idx) => new { Value = p, Idx = idx }) .OrderBy(x => x.Value.Name.ContainsOrdinalIgnoreCase(sortExpr) ? -1 : x.Idx) .Select(x => x.Value) .ToImmutableList(); }
private static void SortRegistrationsGroups(CommonMealsViewModel meals, string sortExpr) { if (string.IsNullOrWhiteSpace(sortExpr) || meals?.Meals == null) { return; } foreach (var meal in meals.Meals) { meal.RegistrationGroups = meal.RegistrationGroups .OrderBy(rg => rg.Registrations .Any(x => x.PersonName.ContainsOrdinalIgnoreCase(sortExpr)) ? "_" + rg.Name : rg.Name) .ToImmutableList(); } }