示例#1
0
        protected void ddlSpecification_SelectedIndexChanged(object sender, EventArgs e)
        {
            tb_m_specification component = new tb_m_specification().SelectByID(int.Parse(ddlSpecification.SelectedValue));

            if (component != null)
            {
                lbResultDesc.Text = String.Format("The Specification is based on Seagate's Doc  {0} for {1}", component.A + "" + component.B, component.C);
            }
        }
示例#2
0
 protected void cbCheckBox_CheckedChanged(object sender, EventArgs e)
 {
     if (cbCheckBox.Checked)
     {
         lbResultDesc.Text = String.Format("This sample is no {0} specification reference", "Seagate");
     }
     else
     {
         tb_m_specification component = new tb_m_specification().SelectByID(int.Parse(ddlSpecification.SelectedValue));
         if (component != null)
         {
             lbResultDesc.Text = String.Format("The Specification is based on Seagate's Doc  {0} for {1}", component.A + "" + component.B, component.C);
         }
     }
 }
示例#3
0
        private void initialPage()
        {
            ddlAssignTo.Items.Clear();
            ddlAssignTo.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.LOGIN_SELECT_SPEC), Convert.ToInt32(StatusEnum.LOGIN_SELECT_SPEC) + ""));
            ddlAssignTo.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.CHEMIST_TESTING), Convert.ToInt32(StatusEnum.CHEMIST_TESTING) + ""));
            ddlAssignTo.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.SR_CHEMIST_CHECKING), Convert.ToInt32(StatusEnum.SR_CHEMIST_CHECKING) + ""));
            ddlAssignTo.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.ADMIN_CONVERT_WORD), Convert.ToInt32(StatusEnum.ADMIN_CONVERT_WORD) + ""));
            ddlAssignTo.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.LABMANAGER_CHECKING), Convert.ToInt32(StatusEnum.LABMANAGER_CHECKING) + ""));
            ddlAssignTo.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.ADMIN_CONVERT_PDF), Convert.ToInt32(StatusEnum.ADMIN_CONVERT_PDF) + ""));

            tb_m_specification comp = new tb_m_specification();

            comp.specification_id = this.jobSample.specification_id;
            comp.template_id      = this.jobSample.template_id;

            ddlSpecification.Items.Clear();
            ddlSpecification.DataSource = comp.SelectAll();
            ddlSpecification.DataBind();
            ddlSpecification.Items.Insert(0, new ListItem(Constants.PLEASE_SELECT, "0"));



            #region "SAMPLE"
            this.jobSample = new job_sample().SelectByID(this.SampleID);
            StatusEnum status = (StatusEnum)Enum.Parse(typeof(StatusEnum), this.jobSample.job_status.ToString(), true);
            if (this.jobSample != null)
            {
                lbJobStatus.Text = Constants.GetEnumDescription(status);


                RoleEnum userRole = (RoleEnum)Enum.Parse(typeof(RoleEnum), userLogin.role_id.ToString(), true);

                pRemark.Visible        = false;
                pDisapprove.Visible    = false;
                pSpecification.Visible = false;
                pStatus.Visible        = false;
                pUploadfile.Visible    = false;
                pDownload.Visible      = false;
                btnSubmit.Visible      = false;
                switch (userRole)
                {
                case RoleEnum.LOGIN:
                    if (status == StatusEnum.LOGIN_SELECT_SPEC)
                    {
                        pRemark.Visible             = false;
                        pDisapprove.Visible         = false;
                        pSpecification.Visible      = true;
                        pStatus.Visible             = false;
                        pUploadfile.Visible         = false;
                        pDownload.Visible           = false;
                        btnSubmit.Visible           = true;
                        gvResult.Columns[5].Visible = false;
                        gvResult.Columns[6].Visible = false;
                    }
                    break;

                case RoleEnum.CHEMIST:
                    if (status == StatusEnum.CHEMIST_TESTING)
                    {
                        pRemark.Visible             = false;
                        pDisapprove.Visible         = false;
                        pSpecification.Visible      = false;
                        pStatus.Visible             = false;
                        pUploadfile.Visible         = false;
                        pDownload.Visible           = false;
                        btnSubmit.Visible           = true;
                        gvResult.Columns[5].Visible = true;
                        gvResult.Columns[6].Visible = false;
                    }
                    break;

                case RoleEnum.SR_CHEMIST:
                    if (status == StatusEnum.SR_CHEMIST_CHECKING)
                    {
                        ddlStatus.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.SR_CHEMIST_APPROVE), Convert.ToInt32(StatusEnum.SR_CHEMIST_APPROVE) + ""));
                        ddlStatus.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.SR_CHEMIST_DISAPPROVE), Convert.ToInt32(StatusEnum.SR_CHEMIST_DISAPPROVE) + ""));
                        pRemark.Visible             = false;
                        pDisapprove.Visible         = false;
                        pSpecification.Visible      = false;
                        pStatus.Visible             = true;
                        pUploadfile.Visible         = false;
                        pDownload.Visible           = false;
                        btnSubmit.Visible           = true;
                        gvResult.Columns[5].Visible = false;
                        gvResult.Columns[6].Visible = false;
                    }
                    break;

                case RoleEnum.ADMIN:
                    if (status == StatusEnum.ADMIN_CONVERT_PDF || status == StatusEnum.ADMIN_CONVERT_WORD)
                    {
                        pRemark.Visible             = false;
                        pDisapprove.Visible         = false;
                        pSpecification.Visible      = false;
                        pStatus.Visible             = false;
                        pUploadfile.Visible         = true;
                        pDownload.Visible           = true;
                        btnSubmit.Visible           = true;
                        gvResult.Columns[5].Visible = false;
                        gvResult.Columns[6].Visible = false;
                    }
                    break;

                case RoleEnum.LABMANAGER:
                    if (status == StatusEnum.LABMANAGER_CHECKING)
                    {
                        ddlStatus.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.LABMANAGER_APPROVE), Convert.ToInt32(StatusEnum.LABMANAGER_APPROVE) + ""));
                        ddlStatus.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.LABMANAGER_DISAPPROVE), Convert.ToInt32(StatusEnum.LABMANAGER_DISAPPROVE) + ""));
                        pRemark.Visible             = false;
                        pDisapprove.Visible         = false;
                        pSpecification.Visible      = false;
                        pStatus.Visible             = true;
                        pUploadfile.Visible         = false;
                        pDownload.Visible           = true;
                        btnSubmit.Visible           = true;
                        gvResult.Columns[5].Visible = false;
                        gvResult.Columns[6].Visible = false;
                    }
                    break;
                }

                txtDateAnalyzed.Text = (this.jobSample.date_chemist_alalyze != null) ? this.jobSample.date_chemist_alalyze.Value.ToString("dd/MM/yyyy") : DateTime.Now.ToString("dd/MM/yyyy");
                pAnalyzeDate.Visible = userRole == RoleEnum.CHEMIST;
            }
            #endregion
            #region "WORKING"
            this.coverpages = template_seagate_copperwire_coverpage.FindAllBySampleID(this.SampleID);
            this.refImg     = template_seagate_copperwire_img.FindAllBySampleID(this.SampleID);
            if (this.refImg != null && this.refImg.Count > 0)
            {
                gvRefImages.DataSource = this.refImg;
                gvRefImages.DataBind();
            }
            if (this.coverpages != null && this.coverpages.Count > 0)
            {
                this.CommandName = CommandNameEnum.Edit;
                template_seagate_copperwire_coverpage cover = this.coverpages[0];
                ddlSpecification.SelectedValue = cover.specification_id.ToString();

                cbCheckBox.Checked = (this.jobSample.is_no_spec == null) ? false : this.jobSample.is_no_spec.Equals("1") ? true : false;
                if (cbCheckBox.Checked)
                {
                    lbResultDesc.Text = String.Format("This sample is no {0} specification reference", "Seagate");
                }
                else
                {
                    tb_m_specification component = new tb_m_specification().SelectByID(int.Parse(ddlSpecification.SelectedValue));
                    if (component != null)
                    {
                        lbResultDesc.Text = String.Format("The Specification is based on Seagate's Doc  {0} for {1}", component.A + "" + component.B, component.C);
                    }
                }



                txtNumberOfPiecesUsedForExtraction.Text = this.coverpages[0].number_of_pieces_used_for_extraction;
                txtProcedureNo.Text = this.coverpages[0].procedureNo;


                gvResult.DataSource = this.coverpages;
                gvResult.DataBind();
            }
            else
            {
                this.CommandName = CommandNameEnum.Add;

                lbResultDesc.Text = String.Format("The Specification is based on Seagate's Doc  {0} for {1}", String.Empty, String.Empty);

                this.coverpages = new List <template_seagate_copperwire_coverpage>();
                template_seagate_copperwire_coverpage cov = new template_seagate_copperwire_coverpage();

                cov.ID               = 1;
                cov.sample_id        = this.SampleID;
                cov.specification_id = Convert.ToInt32(ddlSpecification.SelectedValue);

                cov.number_of_pieces_used_for_extraction = txtNumberOfPiecesUsedForExtraction.Text;

                cov.copper_wire_corrosion_test = "80oC,48hours";
                cov.specification_limit        = "Corrosion on the copper wire when exposed to the test must be less than level 2 ";
                cov.result = "";
                this.coverpages.Add(cov);
                gvResult.DataSource = this.coverpages;
                gvResult.DataBind();
            }
            #endregion


            if (status == StatusEnum.CHEMIST_TESTING || userLogin.role_id == Convert.ToInt32(RoleEnum.CHEMIST))
            {
                pRefImage.Visible              = true;
                gvResult.Columns[5].Visible    = true;
                gvResult.Columns[6].Visible    = false;
                gvRefImages.Columns[2].Visible = true;
                txtProcedureNo.ReadOnly        = false;
                txtNumberOfPiecesUsedForExtraction.ReadOnly = false;
            }
            else
            {
                pRefImage.Visible              = false;
                gvResult.Columns[5].Visible    = false;
                gvResult.Columns[6].Visible    = false;
                gvRefImages.Columns[2].Visible = false;
                txtProcedureNo.ReadOnly        = true;
                txtNumberOfPiecesUsedForExtraction.ReadOnly = true;
            }

            switch (lbJobStatus.Text)
            {
            case "CONVERT_PDF":
                litDownloadIcon.Text = "<i class=\"fa fa-file-pdf-o\"></i>";
                break;

            default:
                litDownloadIcon.Text = "<i class=\"fa fa-file-word-o\"></i>";
                break;
            }
        }
        private void initialPage()
        {
            ddlAssignTo.Items.Clear();
            ddlAssignTo.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.LOGIN_SELECT_SPEC), Convert.ToInt32(StatusEnum.LOGIN_SELECT_SPEC) + ""));
            ddlAssignTo.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.CHEMIST_TESTING), Convert.ToInt32(StatusEnum.CHEMIST_TESTING) + ""));
            ddlAssignTo.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.SR_CHEMIST_CHECKING), Convert.ToInt32(StatusEnum.SR_CHEMIST_CHECKING) + ""));
            ddlAssignTo.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.ADMIN_CONVERT_WORD), Convert.ToInt32(StatusEnum.ADMIN_CONVERT_WORD) + ""));
            ddlAssignTo.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.LABMANAGER_CHECKING), Convert.ToInt32(StatusEnum.LABMANAGER_CHECKING) + ""));
            ddlAssignTo.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.ADMIN_CONVERT_PDF), Convert.ToInt32(StatusEnum.ADMIN_CONVERT_PDF) + ""));

            tb_m_specification comp = new tb_m_specification();

            comp.specification_id = this.jobSample.specification_id;
            comp.template_id      = this.jobSample.template_id;

            List <tb_m_specification> listSpec = comp.SelectAll().ToList();

            ddlMethod.Items.Clear();
            ddlMethod.DataSource = listSpec.Where(x => !x.A.Equals("Procedure") && !x.A.Equals("0"));
            ddlMethod.DataBind();
            ddlMethod.Items.Insert(0, new ListItem(Constants.PLEASE_SELECT, "0"));

            ddlSpecification.Items.Clear();
            ddlSpecification.DataSource = listSpec.Where(x => !x.B.Equals("Specification") && !x.B.Equals("0"));
            ddlSpecification.DataBind();
            ddlSpecification.Items.Insert(0, new ListItem(Constants.PLEASE_SELECT, "0"));


            ddlTemp.Items.Clear();
            ddlTemp.DataSource = listSpec.Where(x => !x.C.Equals("Temperature Humidity Parameters") && !x.C.Equals("0"));
            ddlTemp.DataBind();
            ddlTemp.Items.Insert(0, new ListItem(Constants.PLEASE_SELECT, "0"));

            //ddlComponent.Items.Clear();
            //ddlComponent.DataSource = comp.SelectAll();
            //ddlComponent.DataBind();
            //ddlComponent.Items.Insert(0, new ListItem(Constants.PLEASE_SELECT, "0"));

            //ddlSpecification.Items.Clear();
            //ddlSpecification.DataSource = comp.SelectAll();
            //ddlSpecification.DataBind();
            //ddlSpecification.Items.Insert(0, new ListItem(Constants.PLEASE_SELECT, "0"));



            #region "SAMPLE"
            this.jobSample = new job_sample().SelectByID(this.SampleID);
            StatusEnum status = (StatusEnum)Enum.Parse(typeof(StatusEnum), this.jobSample.job_status.ToString(), true);
            if (this.jobSample != null)
            {
                lbJobStatus.Text = Constants.GetEnumDescription(status);


                RoleEnum userRole = (RoleEnum)Enum.Parse(typeof(RoleEnum), userLogin.role_id.ToString(), true);

                pRemark.Visible        = false;
                pDisapprove.Visible    = false;
                pSpecification.Visible = false;
                pStatus.Visible        = false;
                pUploadfile.Visible    = false;
                pDownload.Visible      = false;
                btnSubmit.Visible      = false;
                switch (userRole)
                {
                case RoleEnum.LOGIN:
                    if (status == StatusEnum.LOGIN_SELECT_SPEC)
                    {
                        pRemark.Visible             = false;
                        pDisapprove.Visible         = false;
                        pSpecification.Visible      = true;
                        pStatus.Visible             = false;
                        pUploadfile.Visible         = false;
                        pDownload.Visible           = false;
                        btnSubmit.Visible           = true;
                        gvResult.Columns[4].Visible = false;
                    }
                    break;

                case RoleEnum.CHEMIST:
                    if (status == StatusEnum.CHEMIST_TESTING)
                    {
                        pRemark.Visible             = false;
                        pDisapprove.Visible         = false;
                        pSpecification.Visible      = false;
                        pStatus.Visible             = false;
                        pUploadfile.Visible         = false;
                        pDownload.Visible           = false;
                        btnSubmit.Visible           = true;
                        gvResult.Columns[4].Visible = true;
                    }
                    break;

                case RoleEnum.SR_CHEMIST:
                    if (status == StatusEnum.SR_CHEMIST_CHECKING)
                    {
                        ddlStatus.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.SR_CHEMIST_APPROVE), Convert.ToInt32(StatusEnum.SR_CHEMIST_APPROVE) + ""));
                        ddlStatus.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.SR_CHEMIST_DISAPPROVE), Convert.ToInt32(StatusEnum.SR_CHEMIST_DISAPPROVE) + ""));
                        pRemark.Visible             = false;
                        pDisapprove.Visible         = false;
                        pSpecification.Visible      = false;
                        pStatus.Visible             = true;
                        pUploadfile.Visible         = false;
                        pDownload.Visible           = false;
                        btnSubmit.Visible           = true;
                        gvResult.Columns[4].Visible = false;
                    }
                    break;

                case RoleEnum.ADMIN:
                    if (status == StatusEnum.ADMIN_CONVERT_PDF || status == StatusEnum.ADMIN_CONVERT_WORD)
                    {
                        pRemark.Visible             = false;
                        pDisapprove.Visible         = false;
                        pSpecification.Visible      = false;
                        pStatus.Visible             = false;
                        pUploadfile.Visible         = true;
                        pDownload.Visible           = true;
                        btnSubmit.Visible           = true;
                        gvResult.Columns[4].Visible = false;
                    }
                    break;

                case RoleEnum.LABMANAGER:
                    if (status == StatusEnum.LABMANAGER_CHECKING)
                    {
                        ddlStatus.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.LABMANAGER_APPROVE), Convert.ToInt32(StatusEnum.LABMANAGER_APPROVE) + ""));
                        ddlStatus.Items.Add(new ListItem(Constants.GetEnumDescription(StatusEnum.LABMANAGER_DISAPPROVE), Convert.ToInt32(StatusEnum.LABMANAGER_DISAPPROVE) + ""));
                        pRemark.Visible             = false;
                        pDisapprove.Visible         = false;
                        pSpecification.Visible      = false;
                        pStatus.Visible             = true;
                        pUploadfile.Visible         = false;
                        pDownload.Visible           = true;
                        btnSubmit.Visible           = true;
                        gvResult.Columns[4].Visible = false;
                    }
                    break;
                }
                txtDateAnalyzed.Text = (this.jobSample.date_chemist_alalyze != null) ? this.jobSample.date_chemist_alalyze.Value.ToString("dd/MM/yyyy") : DateTime.Now.ToString("dd/MM/yyyy");
                pAnalyzeDate.Visible = userRole == RoleEnum.CHEMIST;
            }
            #endregion
            #region "WORKING"
            this.coverpages = template_wd_corrosion_coverpage.FindAllBySampleID(this.SampleID);
            this.refImg     = template_wd_corrosion_img.FindAllBySampleID(this.SampleID);
            if (this.refImg != null && this.refImg.Count > 0)
            {
                gvRefImages.DataSource = this.refImg;
                gvRefImages.DataBind();
            }
            if (this.coverpages != null && this.coverpages.Count > 0)
            {
                this.CommandName = CommandNameEnum.Edit;
                template_wd_corrosion_coverpage cover = this.coverpages[0];
                ddlSpecification.SelectedValue          = cover.specification_id.ToString();
                txtNumberOfPiecesUsedForExtraction.Text = this.coverpages[0].number_of_pieces_used_for_extraction;



                tb_m_specification procedure = new tb_m_specification().SelectByID(this.coverpages[0].procedureNo_id.Value);
                if (procedure != null)
                {
                    ddlMethod.SelectedValue = this.coverpages[0].procedureNo_id.Value.ToString();
                    txtProcedureNo.Text     = procedure.A;
                    cbCheckBox.Checked      = (this.jobSample.is_no_spec == null) ? false : this.jobSample.is_no_spec.Equals("1") ? true : false;

                    tb_m_specification specification = new tb_m_specification().SelectByID(this.coverpages[0].specification_id.Value);
                    if (specification != null)
                    {
                        ddlSpecification.SelectedValue = this.coverpages[0].specification_id.Value.ToString();
                        if (cbCheckBox.Checked)
                        {
                            lbResultDesc.Text = String.Format("This sample is no {0} specification reference", "WD");
                        }
                        else
                        {
                            lbResultDesc.Text = String.Format("The specification is based on Western Digital 's document no. {0}", specification.B);
                        }
                    }

                    if (this.coverpages[0].temperature_humidity_parameters_id != null)
                    {
                        ddlTemp.SelectedValue = this.coverpages[0].temperature_humidity_parameters_id.Value.ToString();

                        tb_m_specification temp = new tb_m_specification().SelectByID(this.coverpages[0].temperature_humidity_parameters_id.Value);
                        if (temp != null)
                        {
                            this.coverpages[0].temperature_humidity_parameters = temp.C;
                        }
                    }
                }

                gvResult.DataSource = this.coverpages;
                gvResult.DataBind();
            }
            else
            {
                this.CommandName = CommandNameEnum.Add;


                this.coverpages = new List <template_wd_corrosion_coverpage>();
                template_wd_corrosion_coverpage cov = new template_wd_corrosion_coverpage();

                cov.ID        = 1;
                cov.sample_id = this.SampleID;
                cov.number_of_pieces_used_for_extraction = txtNumberOfPiecesUsedForExtraction.Text;

                cov.temperature_humidity_parameters = "85oC, 85%RH, 24hours";
                cov.specification = "No observable discoloration or spots at 40x";
                cov.result        = "";
                this.coverpages.Add(cov);
                gvResult.DataSource = this.coverpages;
                gvResult.DataBind();
            }
            #endregion

            if (status == StatusEnum.CHEMIST_TESTING || userLogin.role_id == Convert.ToInt32(RoleEnum.CHEMIST))
            {
                //#region ":: STAMP ANALYZED DATE ::"
                //if (userLogin.role_id == Convert.ToInt32(RoleEnum.CHEMIST))
                //{
                //    if (this.jobSample.date_chemist_alalyze == null)
                //    {
                //        this.jobSample.date_chemist_alalyze = DateTime.Now;
                //        this.jobSample.Update();
                //    }
                //}
                //#endregion


                pRefImage.Visible              = true;
                gvResult.Columns[3].Visible    = true;
                gvResult.Columns[4].Visible    = false;
                gvRefImages.Columns[2].Visible = true;
                txtProcedureNo.ReadOnly        = false;
                txtNumberOfPiecesUsedForExtraction.ReadOnly = false;
            }
            else
            {
                pRefImage.Visible              = false;
                gvResult.Columns[3].Visible    = false;
                gvResult.Columns[4].Visible    = false;
                gvRefImages.Columns[2].Visible = false;
                txtProcedureNo.ReadOnly        = true;
                txtNumberOfPiecesUsedForExtraction.ReadOnly = true;
            }

            switch (lbJobStatus.Text)
            {
            case "CONVERT_PDF":
                litDownloadIcon.Text = "<i class=\"fa fa-file-pdf-o\"></i>";
                break;

            default:
                litDownloadIcon.Text = "<i class=\"fa fa-file-word-o\"></i>";
                break;
            }
        }
        protected void lbDownload_Click(object sender, EventArgs e)
        {
            tb_m_specification component = new tb_m_specification().SelectByID(this.coverpages[0].specification_id.Value);
            DataTable          dtHeader  = new DataTable("MethodProcedure");

            // Define all the columns once.
            DataColumn[] cols = { new DataColumn("ProcedureNo",                  typeof(String)),
                                  new DataColumn("NumOfPiecesUsedForExtraction", typeof(String)), };
            dtHeader.Columns.AddRange(cols);
            DataRow row = dtHeader.NewRow();

            row["ProcedureNo"] = txtProcedureNo.Text;
            row["NumOfPiecesUsedForExtraction"] = this.coverpages[0].number_of_pieces_used_for_extraction;
            dtHeader.Rows.Add(row);

            DataTable dtResult = new DataTable("Result");

            DataColumn[] cols1 = { new DataColumn("B",      typeof(String)),
                                   new DataColumn("C",      typeof(String)),
                                   new DataColumn("result", typeof(String)) };
            dtResult.Columns.AddRange(cols1);
            DataRow row1 = dtResult.NewRow();

            row1["B"]      = ddlTemp.SelectedItem.Text;
            row1["C"]      = component.D;
            row1["result"] = this.coverpages[0].result;
            dtResult.Rows.Add(row1);


            ReportHeader reportHeader = ReportHeader.getReportHeder(this.jobSample);


            ReportParameterCollection reportParameters = new ReportParameterCollection();

            reportParameters.Add(new ReportParameter("CustomerPoNo", reportHeader.cusRefNo));
            reportParameters.Add(new ReportParameter("AlsThailandRefNo", reportHeader.alsRefNo));
            reportParameters.Add(new ReportParameter("Date", reportHeader.cur_date.ToString("dd MMMM yyyy") + ""));
            reportParameters.Add(new ReportParameter("Company", reportHeader.addr1));
            reportParameters.Add(new ReportParameter("Company_addr", reportHeader.addr2));
            reportParameters.Add(new ReportParameter("DateSampleReceived", reportHeader.dateOfDampleRecieve.ToString("dd MMMM yyyy") + ""));
            reportParameters.Add(new ReportParameter("DateAnalyzed", reportHeader.dateOfAnalyze.ToString("dd MMMM yyyy") + ""));
            reportParameters.Add(new ReportParameter("DateTestCompleted", reportHeader.dateOfTestComplete.ToString("dd MMMM yyyy") + ""));
            reportParameters.Add(new ReportParameter("SampleDescription", reportHeader.description));
            reportParameters.Add(new ReportParameter("Test", "-"));
            reportParameters.Add(new ReportParameter("ResultDesc", lbResultDesc.Text));
            reportParameters.Add(new ReportParameter("AlsSingaporeRefNo", (String.IsNullOrEmpty(this.jobSample.singapore_ref_no) ? String.Empty : this.jobSample.singapore_ref_no)));

            // Variables
            Warning[] warnings;
            string[]  streamIds;
            string    mimeType  = string.Empty;
            string    encoding  = string.Empty;
            string    extension = string.Empty;


            List <template_wd_corrosion_img> dat    = new List <template_wd_corrosion_img>();
            template_wd_corrosion_img        tmp    = new template_wd_corrosion_img();
            template_wd_corrosion_img        corImg = this.refImg.Where(x => x.img_type.Value == 1).FirstOrDefault();

            if (corImg != null)
            {
                tmp.img1 = CustomUtils.GetBytesFromImage(corImg.path_img1);
            }
            corImg = this.refImg.Where(x => x.img_type.Value == 2).FirstOrDefault();
            if (corImg != null)
            {
                tmp.img2 = CustomUtils.GetBytesFromImage(corImg.path_img1);
            }
            dat.Add(tmp);
            // Setup the report viewer object and get the array of bytes
            ReportViewer viewer = new ReportViewer();

            viewer.ProcessingMode         = ProcessingMode.Local;
            viewer.LocalReport.ReportPath = Server.MapPath("~/ReportObject/corrosion_wd.rdlc");
            viewer.LocalReport.SetParameters(reportParameters);
            viewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", dtHeader));          // Add datasource here
            viewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet2", dtResult));          // Add datasource here
            viewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet3", dat.ToDataTable())); // Add datasource here



            string download = String.Empty;

            StatusEnum status = (StatusEnum)Enum.Parse(typeof(StatusEnum), this.jobSample.job_status.ToString(), true);

            switch (status)
            {
            case StatusEnum.ADMIN_CONVERT_WORD:
                if (!String.IsNullOrEmpty(this.jobSample.path_word))
                {
                    Response.Redirect(String.Format("{0}{1}", Configurations.HOST, this.jobSample.path_word));
                }
                else
                {
                    byte[] bytes = viewer.LocalReport.Render("Word", null, out mimeType, out encoding, out extension, out streamIds, out warnings);

                    if (!Directory.Exists(Server.MapPath("~/Report/")))
                    {
                        Directory.CreateDirectory(Server.MapPath("~/Report/"));
                    }
                    using (FileStream fs = File.Create(Server.MapPath("~/Report/") + this.jobSample.job_number + "_orginal." + extension))
                    {
                        fs.Write(bytes, 0, bytes.Length);
                    }
                    #region "Insert Footer & Header from template"
                    Document doc1 = new Document();
                    doc1.LoadFromFile(Server.MapPath("~/template/") + "Blank Letter Head - EL.doc");
                    Spire.Doc.HeaderFooter header = doc1.Sections[0].HeadersFooters.Header;
                    Spire.Doc.HeaderFooter footer = doc1.Sections[0].HeadersFooters.Footer;
                    Document doc2 = new Document(Server.MapPath("~/Report/") + this.jobSample.job_number + "_orginal." + extension);
                    foreach (Section section in doc2.Sections)
                    {
                        foreach (DocumentObject obj in header.ChildObjects)
                        {
                            section.HeadersFooters.Header.ChildObjects.Add(obj.Clone());
                        }
                        foreach (DocumentObject obj in footer.ChildObjects)
                        {
                            section.HeadersFooters.Footer.ChildObjects.Add(obj.Clone());
                        }
                    }



                    doc2.SaveToFile(Server.MapPath("~/Report/") + this.jobSample.job_number + "." + extension);
                    #endregion
                    Response.ContentType = mimeType;
                    Response.AddHeader("Content-Disposition", "attachment; filename=" + this.jobSample.job_number + "." + extension);
                    Response.WriteFile(Server.MapPath("~/Report/" + this.jobSample.job_number + "." + extension));
                    Response.Flush();

                    #region "Delete After Download"
                    String deleteFile1 = Server.MapPath("~/Report/") + this.jobSample.job_number + "." + extension;
                    String deleteFile2 = Server.MapPath("~/Report/") + this.jobSample.job_number + "_orginal." + extension;

                    if (File.Exists(deleteFile1))
                    {
                        File.Delete(deleteFile1);
                    }
                    if (File.Exists(deleteFile2))
                    {
                        File.Delete(deleteFile2);
                    }
                    #endregion
                }
                break;

            case StatusEnum.LABMANAGER_CHECKING:
            case StatusEnum.LABMANAGER_APPROVE:
            case StatusEnum.LABMANAGER_DISAPPROVE:
                if (!String.IsNullOrEmpty(this.jobSample.path_word))
                {
                    Response.Redirect(String.Format("{0}{1}", Configurations.HOST, this.jobSample.path_word));
                }
                break;

            case StatusEnum.ADMIN_CONVERT_PDF:
                if (!String.IsNullOrEmpty(this.jobSample.path_word))
                {
                    Response.Redirect(String.Format("{0}{1}", Configurations.HOST, this.jobSample.path_word));
                }

                //if (!String.IsNullOrEmpty(this.jobSample.path_word))
                //{
                //    Word2Pdf objWorPdf = new Word2Pdf();
                //    objWorPdf.InputLocation = String.Format("{0}{1}", Configurations.PATH_DRIVE, this.jobSample.path_word);
                //    objWorPdf.OutputLocation = String.Format("{0}{1}", Configurations.PATH_DRIVE, this.jobSample.path_word).Replace("doc", "pdf");
                //    try
                //    {
                //        objWorPdf.Word2PdfCOnversion();
                //        Response.Redirect(String.Format("{0}{1}", Configurations.HOST, this.jobSample.path_word).Replace("doc", "pdf"));

                //    }
                //    catch (Exception ex)
                //    {
                //        Console.WriteLine();
                //        Response.Redirect(String.Format("{0}{1}", Configurations.HOST, this.jobSample.path_word));

                //    }
                //}
                break;
            }
        }