Untitled
unknown
plain_text
a year ago
1.1 kB
7
Indexable
public async Task<ActionResult<List<string>>> DashboardUser()
{
var senders = await _dashboardService.GetSenderList();
// Filter and sort senders by last name and move it to the first position
var filteredSenders = senders
.Where(sender =>
!string.IsNullOrWhiteSpace(sender)))
.Select(sender =>
{
var nameParts = sender.Split(' ', StringSplitOptions.RemoveEmptyEntries);
if (nameParts.Length > 1)
{
var lastName = nameParts.Last(); // Last name
var firstName = string.Join(" ", nameParts.Take(nameParts.Length - 1)); // Rest as first name
return new { OriginalSender = sender, ReformattedName = $"{lastName} {firstName}".Trim() };
}
return new { OriginalSender = sender, ReformattedName = sender.Trim() }; // No split, return as-is
})
.OrderBy(x => x.ReformattedName) // Sort by reformatted name
.Select(x => x.OriginalSender) // Return original sender
.ToList();
return filteredSenders;
}
Editor is loading...
Leave a Comment