Untitled
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; }
Leave a Comment