protected void Finalize_Click(object sender, EventArgs e) { //Generate report //sort assets in list into groups of OrderNumber var list = (from a in Session["CheckIn"] as List <Asset> select a.OrderNumber).Distinct().ToList(); List <Asset> finalized = new List <Asset>(); List <string> filenames = new List <string>(); List <List <Asset> > subEmails = new List <List <Asset> >(); foreach (var number in list) { var sublist = (from a in Session["CheckIn"] as List <Asset> where a.OrderNumber == number select a).ToList(); var files = CreateReceivingReport(sublist); SaveToUserPersistantLog(); filenames.AddRange(files); finalized.AddRange(sublist); subEmails.Add(sublist); } FinalizeCheckIn(finalized); Session["CheckInReportFileNameList"] = filenames; //combine all reports into one and display CombineReports(filenames); ReportIcon.Shake(); CheckInMultiView.ActiveViewIndex = 1; if (!Global.Library.Settings.TESTMODE) { Finalize.Enabled = false; NotifyCheckInEmail(subEmails); } }