Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }