I want to achieve something similar to this. But I don't know in what manner I can use that solution.
My entity has these properties
CustomerName
Date
SortOrder
I've whole list of this Entity. What I want to do is, group all those items in List<> which have consecutive SortOrder and same Date and same CustomerName
Example input
  var inv = new List<Invoice>(){
    new Invoice(){ CustomerName = "Abc" ,Date = DateTime.Today, SortOrder = 0},
    new Invoice(){ CustomerName = "Abc" ,Date = DateTime.Today, SortOrder = 1},
    new Invoice(){ CustomerName = "Abc" ,Date = DateTime.Today, SortOrder = 2},
    new Invoice(){ CustomerName = "xyz" ,Date = DateTime.Today.Subtract(TimeSpan.FromDays(1)), SortOrder = 3},
    new Invoice(){ CustomerName = "xyz" ,Date = DateTime.Today.Subtract(TimeSpan.FromDays(1)), SortOrder = 4},
    new Invoice(){ CustomerName = "Abc" ,Date = DateTime.Today, SortOrder = 5},
    new Invoice(){ CustomerName = "Abc" ,Date = DateTime.Today, SortOrder = 6}
  };
Example output
  var invGrouped = new List<List<Invoice>>
   {
     new List<Invoice>
       {
         new Invoice {CustomerName = "Abc", Date = DateTime.Today, SortOrder = 0},
         new Invoice {CustomerName = "Abc", Date = DateTime.Today, SortOrder = 1},
         new Invoice {CustomerName = "Abc", Date = DateTime.Today, SortOrder = 2}
       },
     new List<Invoice>
       {
         new Invoice {CustomerName = "xyz", Date = DateTime.Today.Subtract(TimeSpan.FromDays(1)), SortOrder = 3},
         new Invoice {CustomerName = "xyz", Date = DateTime.Today.Subtract(TimeSpan.FromDays(1)), SortOrder = 4}
       },
     new List<Invoice>
       {
         new Invoice {CustomerName = "Abc", Date = DateTime.Today, SortOrder = 5},
         new Invoice {CustomerName = "Abc", Date = DateTime.Today, SortOrder = 6}
       }
   };
UPDATE
Non-LINQ solution will also suffice.
 
     
    