private void BuildReport(List <MahalluManager.Model.Expense> expenses, List <ExpenseDetails> expenseDetails) { var x = expenseDetails.Join(expenses, detail => detail.Expense_Id, expense => expense.Id, (detail, expense) => new { CategoryName = expense.CategoryName, Name = detail.Name, BillNo = detail.BillNo, CareOf = detail.CareOf, Amount = detail.Amount, CreatedOn = detail.CreatedOn.ToShortDateString() }); if (x.Count() == 0 && category != null && !Category.DetailsRequired) { MessageBox.Show("Details are not available for category " + Category.Name); return; } if (x != null && x.Count() > 0) { SearchStatus = x.Count() + " Found"; } else { SearchStatus = "No Result Found"; } for (int i = 0; i < x.Count(); i += 38) { var list = (from c in x select c).Skip(i).Take(38); ListView l = new ListView(); l.ItemsSource = list; GridView g = new GridView(); l.Width = 700; //690 l.MaxWidth = 700; if (SelectedExpenseColumns.Contains("Category Name")) { GridViewColumn categoryName = new GridViewColumn() { Header = "Category", DisplayMemberBinding = new Binding("CategoryName"), Width = 180 }; g.Columns.Add(categoryName); } if (SelectedExpenseColumns.Contains("Name")) { GridViewColumn name = new GridViewColumn() { Header = "Name", DisplayMemberBinding = new Binding("Name"), Width = 60 }; g.Columns.Add(name); } if (SelectedExpenseColumns.Contains("Bill No")) { var billNo = new GridViewColumn() { Header = "Bill No", DisplayMemberBinding = new Binding("BillNo"), Width = 80 }; g.Columns.Add(billNo); } if (SelectedExpenseColumns.Contains("Care Of")) { var member = new GridViewColumn() { Header = "Care Of", DisplayMemberBinding = new Binding("CareOf"), Width = 120 }; g.Columns.Add(member); } if (SelectedExpenseColumns.Contains("Amount")) { var amount = new GridViewColumn() { Header = "Amount", DisplayMemberBinding = new Binding("Amount"), Width = 100 }; g.Columns.Add(amount); } if (SelectedExpenseColumns.Contains("Date")) { var createdOn = new GridViewColumn() { Header = "Date", DisplayMemberBinding = new Binding("CreatedOn"), Width = 100 }; g.Columns.Add(createdOn); } l.View = g; inlineContainer = new InlineUIContainer(); inlineContainer.Child = l; p = new Paragraph(inlineContainer); if (ShowHeader) { Paragraph header = new Paragraph(); header.Inlines.Add(HeaderText); Result.Blocks.Add(header); } Result.Blocks.Add(p); if (i + 38 < x.Count()) { p = new Paragraph(); Result.Blocks.Add(p); } } if (SelectedExpenseColumns.Contains("Amount") && x.Count() > 0) { decimal totalAmount = 0; foreach (var item in x) { totalAmount += item.Amount; } Paragraph totalAmountPara = new Paragraph(); totalAmountPara.Inlines.Add("Total = " + totalAmount); Result.Blocks.Add(totalAmountPara); } }
private void BuildReport(List <MahalluManager.Model.Expense> expenses) { var x = expenses.Select(expense => new { CategoryName = expense.CategoryName, ToatalAmount = expense.ToatalAmount, CreatedOn = expense.CreatedOn.ToShortDateString(), BillNo = expense.BillNo }); if (x != null && x.Count() > 0) { SearchStatus = x.Count() + " Found"; } else { SearchStatus = "No Result Found"; } for (int i = 0; i < x.Count(); i += 38) { var list = (from c in x select c).Skip(i).Take(38); ListView l = new ListView(); l.ItemsSource = list; GridView g = new GridView(); l.Width = 700; //690 l.MaxWidth = 700; if (SelectedExpenseColumns.Contains("Category Name")) { GridViewColumn categoryName = new GridViewColumn() { Header = "Category", DisplayMemberBinding = new Binding("CategoryName"), Width = 180 }; g.Columns.Add(categoryName); } if (SelectedExpenseColumns.Contains("Amount")) { var amount = new GridViewColumn() { Header = "Amount", DisplayMemberBinding = new Binding("ToatalAmount"), Width = 120 }; g.Columns.Add(amount); } if (SelectedExpenseColumns.Contains("Date")) { var createdOn = new GridViewColumn() { Header = "Date", DisplayMemberBinding = new Binding("CreatedOn"), Width = 100 }; g.Columns.Add(createdOn); } if (SelectedExpenseColumns.Contains("Bill No")) { var receiptNo = new GridViewColumn() { Header = "Bill No", DisplayMemberBinding = new Binding("BillNo"), Width = 80 }; g.Columns.Add(receiptNo); } l.View = g; inlineContainer = new InlineUIContainer(); inlineContainer.Child = l; p = new Paragraph(inlineContainer); if (ShowHeader) { Paragraph header = new Paragraph(); header.Inlines.Add(HeaderText); Result.Blocks.Add(header); } Result.Blocks.Add(p); if (i + 38 < x.Count()) { p = new Paragraph(); Result.Blocks.Add(p); } } if (SelectedExpenseColumns.Contains("Amount") && x.Count() > 0) { decimal totalAmount = 0; foreach (var item in x) { totalAmount += item.ToatalAmount; } Paragraph totalAmountPara = new Paragraph(); totalAmountPara.Inlines.Add("Total = " + totalAmount); Result.Blocks.Add(totalAmountPara); } }