У меня есть 3 переменные:
- wqReqIds: список идентификаторов
- псевдонимы: список псевдонимов, которые встречаются в таблице более одного раза (где содержится идентификатор записив wqReqIds)
- allWqAssociates: список AssociateInfo, wqReqId которого можно найти в списке wqReqIds
Что я хочу сделать: если свойство AssociateInfo Alias можно найти в спискепсевдонимы, я хочу поставить звездочку * перед определенным псевдонимом.
Некомментированный псевдоним - это то место, где я остановился в последний раз, и, как вы можете себе представить, он выдал ошибку.Я как бы ожидал этого, но не знаю, как получить то, что мне нужно, за один раз.Это вообще возможно?
Пожалуйста, смотрите мой код ниже, и спасибо за помощь!
List<int> wqReqIds = requests.Select(x => x.WorkQueueRequestId).ToList();
var aliases = db.WorkQueueRequestDetails.Where(w => wqReqIds.Contains(w.WorkQueueRequestId))
.GroupBy(x => x.AssociatesHistory.Alias)
.Where(g => g.Count() > 1).ToList();
var allWqAssociates = db.WorkQueueRequestDetails.Where(w => wqReqIds.Contains(w.WorkQueueRequestId))
.Select(x => new AssociateInfo
{
WorkQueueRequestId = x.WorkQueueRequestId,
//Alias = x.AssociatesHistory.Alias,
Alias = aliases.Where(y => y.Key == x.AssociatesHistory.Alias).Any()
? "***" + x.AssociatesHistory.Alias
: x.AssociatesHistory.Alias,
//Alias = aliases.Contains(x.AssociatesHistory.Alias)
// ? "***" + x.AssociatesHistory.Alias
// : x.AssociatesHistory.Alias,
Name = x.AssociatesHistory.FirstName + (x.AssociatesHistory.MiddleInitial == null ? " " : " " + x.AssociatesHistory.MiddleInitial + " ") + x.AssociatesHistory.LastName
})
.ToList();