My Formatting:
var allInventory = system.InventorySources
.Select(src => new
{
Inventory = src.Value.GetInventory(product.OriginalProductId, true),
Region = src.Value.Region
})
.GroupBy(
i => i.Region,
i => i.Inventory
);
Notes:
- Opening parens on methods are never worthy of a new line.
- Closing parens match the indenting of the line that contains the opening paren.
- The src => new stays on the same line as Select, because it’s just not worthy of a new line.
- The anonymous type always gets block treatment, just like if it was used outside of a query (but the closing paren is not worthy of a new line).
- The two parameter GroupBy overload is not typically called. Although it could easy fit on a single line, use an extra line to make it clear that something unusual is happening.