public void FilterPayersNames(string filter) { IEnumerable <TransactionData> payers = AllPayers; if (!string.IsNullOrWhiteSpace(filter)) { payers = payers.Where(t => t.Name.Contains(filter)); } FilteredNames = payers.Select(t => t.Name) //select only names .Concat(Payers.Select(t => t.Name)) //merge Names of allready added payers with names of all payers .GroupBy(t => t).Where(g => g.Count() == 1).Select(g => g.Key).ToList(); //select only unique entries MoveCurrentUserToTop(FilteredNames); }
public virtual IEnumerable <IAuditRecord> GetAuditRecords(IEnumerable <AuditableProperty> properties) { if (properties != null && properties.Any(p => p.Property.Name.Equals("Status"))) { return(Payers.Select(payer => new PayerAuditRecord(payer, "$$$", EditComment) { ShowOnlyPayer = true, ObjectType = LogObjectType.Client, ObjectId = Id, Name = Name }) .Cast <IAuditRecord>() .Concat(new[] { new AuditRecord(this) { MessageType = LogMessageType.System, Type = LogObjectType.Client, Name = Name } })); } return(new List <IAuditRecord> { new AuditRecord(this) { MessageType = LogMessageType.System, Type = LogObjectType.Client, Name = Name } }); }