This is basically used for "How to Group By multiple columns in LINQ to SQL?"
[Route("API/Use/GetUsageAlerts/{UserID}/{AccountID}")]
[Route("API/Use/GetUsageAlerts/{UserID}/{AccountID}")]
public IEnumerable<UsageAlerts> GetUsageAlerts(int UserID, int AccountID)
{
DALUse ObjDalUse = new DALUse();
Mapper mapper = new Mapper();
List<UsageAlerts> usedAlerts =
mapper.MapDALUsageAlerts2BAL(ObjDalUse.getAllUsageAlerts(UserID, AccountID));
List<UsageAlerts> userUsages = (from used in usedAlerts
group used by used.ProductServiceId into res
select new UsageAlerts
{
UsageIncluded = res.Sum(l =>
l.UsageIncluded),
UsedUnit = Convert.ToString(res.Sum(m => int.Parse(m.UsedUnit))),
Product = Convert.ToString(res.Max(l => l.Product)),
ProductServiceId = res.Key
}).ToList();
return userUsages;
}