private void generatebtn_Click(object sender, RoutedEventArgs e)
        {
            if (SystemClass.CheckConnection())
            {
                if (fundcb.SelectedValue == null)
                {
                    MessageBox.Show("Please select fund");
                }
                else if (String.IsNullOrEmpty(startdatedp.Text) || String.IsNullOrEmpty(enddatedp.Text))
                {
                    MessageBox.Show("Please select start date and end date");
                }
                else
                {
                    int accountId           = (int)fundcb.SelectedValue;
                    ImusCityHallEntities db = new ImusCityHallEntities();
                    if (db.GetCheckRegister(startdatedp.SelectedDate, enddatedp.SelectedDate, accountId).Count() <= 0)
                    {
                        MessageBox.Show("There are no record in this selection");
                        return;
                    }
                    var           result = db.GetCheckRegister(startdatedp.SelectedDate, enddatedp.SelectedDate, accountId).Where(m => m.Status == "Created");
                    ReportDataSet ds     = new ReportDataSet();
                    ds.Locale = CultureInfo.InvariantCulture;

                    DataTable checkRegisterList = ds.Tables["CheckRegisterDataTable"];
                    foreach (var checkregister in result)
                    {
                        DataRow dr = checkRegisterList.Rows.Add();
                        dr.SetField("FundName", checkregister.FundName);
                        dr.SetField("Branch", checkregister.Branch);
                        dr.SetField("AccountNumber", checkregister.AccountNumber);
                        dr.SetField("BankName", checkregister.BankName);
                        dr.SetField("DateCreated", checkregister.DateCreated);
                        dr.SetField("CheckNo", checkregister.CheckNo);
                        dr.SetField("CompanyName", checkregister.CompanyName);
                        dr.SetField("Amount", checkregister.Amount);
                        dr.SetField("AmountInWords", checkregister.AmountInWords);
                        dr.SetField("Status", checkregister.Status);
                    }
                    ReportDocument report;
                    report = new CheckDisbursement.Report.CheckRegisterReport();
                    report.SetDataSource(checkRegisterList);
                    report.SetParameterValue("employee", "Generated By: " + SystemClass.Employee(App.EmployeeID));
                    reportviewer.ViewerCore.ReportSource = report;
                }
            }
            else
            {
                MessageBox.Show(SystemClass.DBConnectionErrorMessage);
            }
        }
        private void generatebtn_Click(object sender, RoutedEventArgs e)
        {
            if (SystemClass.CheckConnection())
            {
                if (fundcb.SelectedValue == null)
                {
                    MessageBox.Show("Please select fund");
                }
                else if (String.IsNullOrEmpty(startdatedp.Text) || String.IsNullOrEmpty(enddatedp.Text))
                {
                    MessageBox.Show("Please select start date and end date");
                }
                else
                {
                    DateTime dateToday = DateTime.Now;
                    string   year      = dateToday.Year.ToString().Substring(dateToday.Year.ToString().Length - 2);
                    string   month     = dateToday.Month.ToString().PadLeft(2, '0');

                    int accountId = (int)fundcb.SelectedValue;
                    ImusCityHallEntities    db          = new ImusCityHallEntities();
                    CDSSignatory            signatories = db.CDSSignatories.FirstOrDefault();
                    FundBank                account     = db.FundBanks.Find(accountId);
                    List <CheckIssuedModel> list        = new List <CheckIssuedModel>();
                    if (db.GetCheckIssued(startdatedp.SelectedDate, enddatedp.SelectedDate, accountId).Count() <= 0)
                    {
                        MessageBox.Show("There are no record in this selection");
                        return;
                    }
                    var    result   = db.GetCheckIssued(startdatedp.SelectedDate, enddatedp.SelectedDate, accountId);
                    string adviceNo = account.AdviceNo.HasValue ? account.AdviceNo.ToString() : null;
                    foreach (var checkIssued in result)
                    {
                        var check = new CheckIssuedModel
                        {
                            StartDate         = startdatedp.SelectedDate.Value,
                            EndDate           = enddatedp.SelectedDate.Value,
                            BankName          = checkIssued.BankName,
                            AccoutNumber      = checkIssued.AccountNumber,
                            ReportNumber      = string.Join("-", checkIssued.FundPrefix, year, month, adviceNo),
                            DateCreated       = checkIssued.DateCreated.Value,
                            CheckNo           = checkIssued.CheckNo,
                            VoucherNo         = checkIssued.VoucherNo,
                            Center            = "",
                            CompanyName       = checkIssued.CompanyName,
                            PaymentNature     = checkIssued.PaymentNature,
                            Amount            = checkIssued.Amount.Value,
                            DisbursingOfficer = SystemClass.GetSignatory(signatories.DisbursingOfficer),
                            CanDelBy          = checkIssued.CAN_DELETE_EMP,
                            CanDelDate        = checkIssued.CAN_DELETE_DATE,
                            Status            = checkIssued.Status,
                            StatusID          = checkIssued.StatusID.Value
                        };
                        list.Add(check);
                    }

                    ReportDataSet ds = new ReportDataSet();
                    ds.Locale = CultureInfo.InvariantCulture;
                    // FillDataSet(ds);

                    DataTable chIss = ds.Tables["CheckIssuedDataTable"];
                    foreach (CheckIssuedModel ci in list)
                    {
                        DataRow dr = chIss.Rows.Add();
                        dr.SetField("AccountNumber", ci.AccoutNumber);
                        dr.SetField("Amount", ci.Amount);
                        dr.SetField("BankName", ci.BankName);
                        dr.SetField("CanDelBy", ci.CanDelBy);
                        dr.SetField("CanDelDate", ci.CanDelDate);
                        dr.SetField("Center", ci.Center);
                        dr.SetField("CheckNo", ci.CheckNo);
                        dr.SetField("CompanyName", ci.CompanyName);
                        dr.SetField("DateCreated", ci.DateCreated);
                        dr.SetField("DisbursingOfficer", ci.DisbursingOfficer);
                        dr.SetField("EndDate", ci.EndDate);
                        dr.SetField("PaymentNature", ci.PaymentNature);
                        dr.SetField("ReportNumber", ci.ReportNumber);
                        dr.SetField("StartDate", ci.StartDate);
                        dr.SetField("Status", ci.Status);
                        dr.SetField("StatusID", ci.StatusID);
                        dr.SetField("VoucherNo", ci.VoucherNo);
                    }


                    ReportDocument report;
                    report = new CheckDisbursement.Report.CheckIssuedReport();
                    report.SetDataSource(chIss);
                    report.SetParameterValue("employee", "Generated By: " + SystemClass.Employee(App.EmployeeID));
                    reportviewer.ViewerCore.ReportSource = report;
                }
            }
            else
            {
                MessageBox.Show(SystemClass.DBConnectionErrorMessage);
            }
        }
        private void generatebtn_Click(object sender, RoutedEventArgs e)
        {
            if (SystemClass.CheckConnection())
            {
                if (String.IsNullOrEmpty(startdatedp.Text) || String.IsNullOrEmpty(enddatedp.Text))
                {
                    MessageBox.Show("Please select start date and end date");
                }
                else
                {
                    //int accountId = (int)fundcb.SelectedValue;
                    ImusCityHallEntities db          = new ImusCityHallEntities();
                    CDSSignatory         signatories = db.CDSSignatories.FirstOrDefault();
                    //FundBank account = db.FundBanks.Find(accountId);
                    List <CheckListingModel> list = new List <CheckListingModel>();
                    if (db.GetCheckListing(startdatedp.SelectedDate, enddatedp.SelectedDate).Count() <= 0)
                    {
                        MessageBox.Show("There are no record in this selection");
                        return;
                    }
                    var result = db.GetCheckListing(startdatedp.SelectedDate, enddatedp.SelectedDate);
                    foreach (var x in result)
                    {
                        var check = new CheckListingModel
                        {
                            AccountNumber      = x.AccountNumber,
                            BankID             = x.BankID,
                            BankName           = x.BankName,
                            CheckAmount        = x.CheckAmount.Value,
                            CheckDateCreated   = x.CheckDateCreated.Value,
                            CheckDescription   = x.CheckDescription,
                            CheckNo            = x.CheckNo,
                            CheckUser          = x.CHECK_USER,
                            ControlNo          = x.ControlNo,
                            FundID             = x.FundID.Value,
                            ProjectName        = x.ProjectName,
                            Status             = x.Status,
                            StatusID           = x.StatusID.Value,
                            VoucherDateCreated = x.VoucherDateCreated.Value,
                            VoucherNumber      = x.VoucherNo,
                            CanDelBy           = x.CAN_DELETE_EMP,
                            CanDelDate         = x.CAN_DELETE_DATE
                        };
                        list.Add(check);
                    }
                    if (!String.IsNullOrEmpty(fundcb.Text))
                    {
                        int accountId = (int)fundcb.SelectedValue;
                        list = list.Where(m => m.FundID == accountId).ToList();
                    }
                    if (!String.IsNullOrEmpty(statuscb.Text))
                    {
                        if (statuscb.Text != "All")
                        {
                            list = list.Where(m => m.Status == statuscb.Text).ToList();
                        }
                    }


                    ReportDataSet ds = new ReportDataSet();
                    ds.Locale = CultureInfo.InvariantCulture;
                    // FillDataSet(ds);

                    DataTable chkList = ds.Tables["CheckListingDataTable"];
                    foreach (CheckListingModel ch in list)
                    {
                        DataRow dr = chkList.Rows.Add();
                        dr.SetField("AccountNumber", ch.AccountNumber);
                        dr.SetField("BankID", ch.BankID);
                        dr.SetField("BankName", ch.BankName);
                        dr.SetField("CanDelBy", ch.CanDelBy);
                        dr.SetField("CanDelDate", ch.CanDelDate);
                        dr.SetField("CheckAmount", ch.CheckAmount);
                        dr.SetField("CheckDateCreated", ch.CheckDateCreated);
                        dr.SetField("CheckDescription", ch.CheckDescription);
                        dr.SetField("CheckNo", ch.CheckNo);
                        dr.SetField("CheckUser", ch.CheckUser);
                        dr.SetField("ControlNo", ch.ControlNo);
                        dr.SetField("FundID", ch.FundID);
                        dr.SetField("ProjectName", ch.ProjectName);
                        dr.SetField("Status", ch.Status);
                        dr.SetField("StatusID", ch.StatusID);
                        dr.SetField("VoucherDateCreated", ch.VoucherDateCreated);
                        dr.SetField("VoucherNumber", ch.VoucherNumber);
                    }



                    ReportDocument report;
                    report = new CheckDisbursement.Report.CheckListingReport();
                    report.SetDataSource(chkList);
                    report.SetParameterValue("employee", "Generated By: " + SystemClass.Employee(App.EmployeeID));
                    reportviewer.ViewerCore.ReportSource = report;
                }
            }
            else
            {
                MessageBox.Show(SystemClass.DBConnectionErrorMessage);
            }
        }
        private void generatebtn_Click(object sender, RoutedEventArgs e)
        {
            if (SystemClass.CheckConnection())
            {
                if (fundcb.SelectedValue == null)
                {
                    MessageBox.Show("Please select fund");
                }
                else if (String.IsNullOrEmpty(startdatedp.Text) || String.IsNullOrEmpty(enddatedp.Text))
                {
                    MessageBox.Show("Please select start date and end date");
                }
                else
                {
                    int accountId                    = (int)fundcb.SelectedValue;
                    ImusCityHallEntities db          = new ImusCityHallEntities();
                    CDSSignatory         signatories = db.CDSSignatories.FirstOrDefault();
                    FundBank             account     = db.FundBanks.Find(accountId);

                    if (db.GetCheckRegister(startdatedp.SelectedDate, enddatedp.SelectedDate, accountId).Count() <= 0)
                    {
                        MessageBox.Show("There are no record in this selection");
                        return;
                    }
                    var             result        = db.GetCheckRegister(startdatedp.SelectedDate, enddatedp.SelectedDate, accountId).Where(m => m.Status == "Created" || m.Status == "Cancelled" || m.Status == "Damaged");
                    CurrencyToWords convert       = new CurrencyToWords();
                    double          totalAmount   = Convert.ToDouble(db.GetCheckRegister(startdatedp.SelectedDate, enddatedp.SelectedDate, accountId).Sum(m => m.Amount).Value);
                    string          amountInWords = convert.NumberToWords(totalAmount).ToUpper();

                    ReportDataSet ds = new ReportDataSet();
                    ds.Locale = CultureInfo.InvariantCulture;
                    DataTable checkRegisterList = ds.Tables["CheckRegisterDataTable"];
                    foreach (var checkregister in result)
                    {
                        DataRow dr = checkRegisterList.Rows.Add();
                        dr.SetField("FundName", checkregister.FundName);
                        dr.SetField("Branch", checkregister.Branch);
                        dr.SetField("AccountNumber", checkregister.AccountNumber);
                        dr.SetField("BankName", checkregister.BankName);
                        dr.SetField("DateCreated", checkregister.DateCreated);
                        dr.SetField("CheckNo", checkregister.CheckNo);
                        dr.SetField("CompanyName", checkregister.CompanyName);
                        dr.SetField("Amount", checkregister.Amount);
                        dr.SetField("AmountInWords", amountInWords);
                        dr.SetField("Status", checkregister.Status);
                    }

                    ReportDocument report;
                    report = new CheckDisbursement.Report.AccountantCheckDisbursementReport();
                    report.SetDataSource(checkRegisterList);
                    report.SetParameterValue("Signatory1", SystemClass.GetSignatory(signatories.CityAccountant));
                    report.SetParameterValue("Signatory2", SystemClass.GetSignatory(signatories.AccountantRepresentative));
                    report.SetParameterValue("AdviceNo", account.AdviceNo.HasValue ? account.AdviceNo.ToString() : "");
                    report.SetParameterValue("employee", "Generated By: " + SystemClass.Employee(App.EmployeeID));
                    reportviewer.ViewerCore.ReportSource = report;
                }
            }
            else
            {
                MessageBox.Show(SystemClass.DBConnectionErrorMessage);
            }
        }