private void Generate3()
        {
            mReportForM12 master = (mReportForM12)this.Master;
            string unitType = ddlUnitType.SelectedValue;
            int companyId = Convert.ToInt32(hdfCompanyId.Value);

            FlM1ReportTDS flM1ReportTDS = new FlM1ReportTDS();

            // Get Data
            LiquiForce.LFSLive.BL.CWP.FullLengthLining.FlM1Report flM1Report = new LiquiForce.LFSLive.BL.CWP.FullLengthLining.FlM1Report(flM1ReportTDS);
            LiquiForce.LFSLive.BL.CWP.FullLengthLining.FlM12Report flM2Report = new LiquiForce.LFSLive.BL.CWP.FullLengthLining.FlM12Report(flM1ReportTDS);

            GetM1Data(flM1Report, unitType, companyId);
            GetM2Data(flM2Report, unitType);

            // ... set properties to master page
            //FlM1ReportTDS dataSet = new FlM1ReportTDS();
            //dataSet.M1ReportByClient.Merge(flM1Report, true);
            //dataSet.M2_SECTION.Merge(flM2Report, true);

            master.Data3 = flM1ReportTDS;
            master.Table1 = flM1Report.TableName;
            master.Table2 = flM2Report.TableName;

            // Get report
            if (flM2Report.Table.Rows.Count > 0 || flM1Report.Table.Rows.Count > 0)
            {
                if (master.Format3 == "pdf")
                {
                    master.Report3 = new FlM12Report();

                    if (ddlClient.SelectedValue != "-1")
                    {
                        // ... for client
                        int currentClientId = Int32.Parse(ddlClient.SelectedValue);

                        CompaniesGateway companiesGateway = new CompaniesGateway();
                        companiesGateway.LoadByCompaniesId(currentClientId, companyId);

                        master.SetParameter3("Client", companiesGateway.GetName(currentClientId));
                    }
                    else
                    {
                        master.SetParameter3("Client", "All");
                    }

                    if (ddlProject.SelectedValue != "-1")
                    {
                        // ... for project
                        int currentProjectId = Int32.Parse(ddlProject.SelectedValue);

                        ProjectGateway projectGateway = new ProjectGateway();
                        projectGateway.LoadByProjectId(currentProjectId);

                        string name = projectGateway.GetName(currentProjectId);
                        master.SetParameter3("Project", name);
                    }
                    else
                    {
                        master.SetParameter3("Project", "All");
                    }

                    master.SetParameter3("UnitType", unitType);

                    int loginId = Convert.ToInt32(Session["loginID"]);

                    LoginGateway loginGateway = new LoginGateway();
                    loginGateway.LoadByLoginId(loginId, companyId);
                    string user = loginGateway.GetLastName(loginId, companyId) + " " + loginGateway.GetFirstName(loginId, companyId);
                    master.SetParameter3("User", user.Trim());
                }
                else
                {
                    //master.Report2 = new FlM12ReportExport();
                }
            }
        }
        private void Generate()
        {
            mReportForM12 master = (mReportForM12)this.Master;

            string unitType = ddlUnitType.SelectedValue;
            int companyId = Int32.Parse(hdfCompanyId.Value);

            LiquiForce.LFSLive.BL.CWP.FullLengthLining.FlM1Report flM1Report = new LiquiForce.LFSLive.BL.CWP.FullLengthLining.FlM1Report();

            Page.Validate();
            if (Page.IsValid)
            {
                // Get Data
                // For all clients
                if (ddlClient.SelectedValue == "-1")
                {
                    // validate checkboxes
                    if (cbxSectionId.Checked)
                    {
                        ArrayList sectionsId = new ArrayList();
                        foreach (ListItem lst in cbxlSectionId.Items)
                        {
                            if (lst.Selected)
                            {
                                sectionsId.Add(lst.Value);
                            }
                        }

                        flM1Report.LoadBySectionId(companyId, sectionsId, unitType);
                    }
                    else
                    {
                        if (cbxDate.Checked)
                        {
                            DateTime m1Date = DateTime.Parse(tkrdpDate.SelectedDate.Value.ToShortDateString());
                            flM1Report.LoadByDate(companyId, m1Date.ToShortDateString(), unitType);
                        }
                        else
                        {
                            if (cbxStreet.Checked)
                            {
                                flM1Report.LoadByStreet(companyId, "%" + tbxStreet.Text.Trim() + "%", unitType);
                            }
                            else
                            {
                                if (cbxSubArea.Checked)
                                {
                                    flM1Report.LoadBySubArea(companyId, "%" + tbxSubArea.Text.Trim() + "%", unitType);
                                }
                                else
                                {
                                    flM1Report.Load(companyId, unitType);
                                }
                            }
                        }
                    }
                }

                // For specific client
                else
                {
                    // For all projects
                    if (ddlProject.SelectedValue == "-1")
                    {
                        if (cbxSectionId.Checked)
                        {
                            ArrayList sectionsId = new ArrayList();
                            foreach (ListItem lst in cbxlSectionId.Items)
                            {
                                if (lst.Selected)
                                {
                                    sectionsId.Add(lst.Value);
                                }
                            }

                            flM1Report.LoadByCompaniesIdSectionId(companyId, int.Parse(ddlClient.SelectedValue), unitType, sectionsId);
                        }
                        else
                        {
                            if (cbxDate.Checked)
                            {
                                DateTime m1Date = DateTime.Parse(tkrdpDate.SelectedDate.Value.ToShortDateString());
                                flM1Report.LoadByCompaniesIdDate(companyId, int.Parse(ddlClient.SelectedValue), unitType, m1Date.ToShortDateString());
                            }
                            else
                            {
                                if (cbxStreet.Checked)
                                {
                                    flM1Report.LoadByCompaniesIdStreet(companyId, int.Parse(ddlClient.SelectedValue), unitType, "%" + tbxStreet.Text.Trim() + "%");
                                }
                                else
                                {
                                    if (cbxSubArea.Checked)
                                    {
                                        flM1Report.LoadByCompaniesIdSubArea(companyId, int.Parse(ddlClient.SelectedValue), unitType, "%" + tbxSubArea.Text.Trim() + "%");
                                    }
                                    else
                                    {
                                        flM1Report.LoadByCompaniesId(companyId, int.Parse(ddlClient.SelectedValue), unitType);
                                    }
                                }
                            }
                        }
                    }
                    // For specific project
                    else
                    {
                        if (cbxSectionId.Checked)
                        {
                            ArrayList sectionsId = new ArrayList();
                            foreach (ListItem lst in cbxlSectionId.Items)
                            {
                                if (lst.Selected)
                                {
                                    sectionsId.Add(lst.Value);
                                }
                            }

                            flM1Report.LoadByCompaniesIdProjectIdSectionId(companyId, int.Parse(ddlClient.SelectedValue), int.Parse(ddlProject.SelectedValue), unitType, sectionsId);
                        }
                        else
                        {
                            if (cbxDate.Checked)
                            {
                                DateTime m1Date = DateTime.Parse(tkrdpDate.SelectedDate.Value.ToShortDateString());
                                flM1Report.LoadByCompaniesIdProjectIdDate(companyId, int.Parse(ddlClient.SelectedValue), int.Parse(ddlProject.SelectedValue), unitType, m1Date.ToShortDateString());
                            }
                            else
                            {
                                if (cbxStreet.Checked)
                                {
                                    flM1Report.LoadByCompaniesIdProjectIdStreet(companyId, int.Parse(ddlClient.SelectedValue), int.Parse(ddlProject.SelectedValue), unitType, "%" + tbxStreet.Text.Trim() + "%");
                                }
                                else
                                {
                                    if (cbxSubArea.Checked)
                                    {
                                        flM1Report.LoadByCompaniesIdProjectIdSubArea(companyId, int.Parse(ddlClient.SelectedValue), int.Parse(ddlProject.SelectedValue), unitType, "%" + tbxSubArea.Text.Trim() + "%");
                                    }
                                    else
                                    {
                                        flM1Report.LoadByCompaniesIdProjectId(companyId, int.Parse(ddlClient.SelectedValue), int.Parse(ddlProject.SelectedValue), unitType);
                                    }
                                }
                            }
                        }
                    }
                }
            }

            // ... set properties to master page
            master.Data1 = flM1Report.Data;
            master.Table1 = flM1Report.TableName;

            // Get report
            if (flM1Report.Table.Rows.Count > 0)
            {
                if (master.Format1 == "pdf")
                {
                    master.Report1 = new FlM1Report();
                }
                else
                {
                    master.Report1 = new FlM1ReportExport();
                }

                // ... set parameters to report
                if (master.Format1 == "pdf")
                {
                    if (ddlClient.SelectedValue != "-1")
                    {
                        // ... for client
                        int currentClientId = Int32.Parse(ddlClient.SelectedValue);
                        CompaniesGateway companiesGateway = new CompaniesGateway();
                        companiesGateway.LoadByCompaniesId(currentClientId, companyId);
                        master.SetParameter1("Client", companiesGateway.GetName(currentClientId));
                    }
                    else
                    {
                        master.SetParameter1("Client", "All");
                    }

                    if (ddlProject.SelectedValue != "-1")
                    {
                        // ... for project
                        int currentProjectId = Int32.Parse(ddlProject.SelectedValue);
                        ProjectGateway projectGateway = new ProjectGateway();
                        projectGateway.LoadByProjectId(currentProjectId);
                        string name = projectGateway.GetName(currentProjectId);
                        master.SetParameter1("Project", name);
                    }
                    else
                    {
                        master.SetParameter1("Project", "All");
                    }

                    master.SetParameter1("UnitType", unitType);

                    int loginId = Convert.ToInt32(Session["loginID"]);

                    LoginGateway loginGateway = new LoginGateway();
                    loginGateway.LoadByLoginId(loginId, companyId);
                    string user = loginGateway.GetLastName(loginId, companyId) + " " + loginGateway.GetFirstName(loginId, companyId);
                    master.SetParameter1("User", user.Trim());
                }
            }
        }