Julian Gonzalez

Generation

generate functionFri, 07 Apr 2023

Group next class by field CompanyId and add all CampaignId in a list Linq lambda public class ReportWeeklyDTO { public string CampaignId { get; set; } public string CampaignName { get; set; } public int NumberMessages { get; set; } public string User { get; set; } public int SentMessages { get; set; } public int ErrorMessages { get; set; } public string ErrorDescription { get; set; } public string CompanyId { get; set; } }

return reports.GroupBy(x => x.CompanyId).Select(x => new ReportWeeklyDTO { CampaignId = string.Join(",", x.Select(y => y.CampaignId).ToList()), CampaignName = string.Join(",", x.Select(y => y.CampaignName).ToList()), NumberMessages = x.Sum(y => y.NumberMessages), User = x.First().User, SentMessages = x.Sum(y => y.SentMessages), ErrorMessages = x.Sum(y => y.ErrorMessages), CompanyId = x.First().CompanyId, ErrorDescription = x.Sum(y => y.ErrorMessages) > 0 ? string.Join(",", x.Where(y => !string.IsNullOrEmpty(y.ErrorDescription)).Select(y => y.ErrorDescription).ToList()) : null }).ToList();

Questions about programming?Chat with your personal AI assistant