Beispiel #1
0
        public static ReportHeader getReportHeder(job_sample _sample)
        {
            ReportHeader rpt = new ReportHeader();

            job_info _job = new job_info();

            _job = _job.SelectByID(_sample.job_id);
            if (_job != null)
            {
                m_customer _cus = new m_customer();
                _cus = _cus.SelectByID(_job.customer_id);

                m_customer_address addr = new m_customer_address();
                addr = addr.SelectByID(_job.customer_address_id.Value);

                if (_cus != null)
                {
                    rpt.addr1 = _cus.company_name;
                    rpt.addr2 = addr.address;
                }
                rpt.cusRefNo = _job.customer_ref_no;// (_sample.sample_po== null) ? String.Empty : _sample.sample_po.ToString();
                rpt.cur_date = DateTime.Now;

                rpt.dateOfDampleRecieve = Convert.ToDateTime(_job.date_of_receive);
                rpt.dateOfAnalyze       = Convert.ToDateTime(_sample.date_chemist_alalyze);
                rpt.dateOfTestComplete  = Convert.ToDateTime(_sample.date_chemist_complete);

                //ATT / ELP / 16 / XXXX(เลขจ็อบ) - XX(Test)

                int phisicalYear = Convert.ToInt16(DateTime.Now.Year.ToString().Substring(2));
                if (DateTime.Now.Month < 4)
                {
                    phisicalYear = Convert.ToInt16(DateTime.Now.Year.ToString().Substring(2)) - 1;
                }

                String AmRetest = String.Empty;
                switch (_sample.amend_or_retest)
                {
                case "AM":
                    AmRetest = (_sample.amend_count > 0) ? "AM" + _sample.amend_count + "/" : String.Empty;
                    break;

                case "R":
                    AmRetest = (_sample.retest_count > 0) ? "R" + _sample.retest_count + "/" : String.Empty;
                    break;
                }

                String[] tmp = _sample.job_number.Split('-');
                rpt.alsRefNo    = String.Format("{0}ATT/{1}/{2}/{3}-{4}", AmRetest, tmp[0], phisicalYear, tmp[1], tmp[2]);// _sample.job_number.ToString();
                rpt.description = (String.IsNullOrEmpty(_sample.description) ? String.Empty : "Description:" + _sample.description + "\n") +
                                  (String.IsNullOrEmpty(_sample.model) ? String.Empty : "Model:" + _sample.model + "\n") +
                                  (String.IsNullOrEmpty(_sample.surface_area) ? String.Empty : "Surface Area:" + _sample.surface_area + "\n") +
                                  (!String.IsNullOrEmpty(_sample.remarks) ? "Remark: " + _sample.remarks + "\n" : "");

                rpt.model         = _sample.model;
                rpt.surface_areas = _sample.surface_area;
                rpt.remark        = _sample.remarks;
            }
            return(rpt);
        }
Beispiel #2
0
 public ReportBiz(job_sample _jobSample)
 {
     this.doc       = new Document();
     this.s         = this.doc.AddSection();
     this.jobSample = _jobSample;
     Setup();
 }
        public void initialInfo(job_info _job, job_sample _sample)
        {
            /*INFO*/
            if (_job != null && _sample != null)
            {
                m_customer cus = new m_customer();
                cus                       = cus.SelectByID(_job.customer_id);
                lbPoNo.Text               = (_sample.sample_po == null) ? String.Empty : _sample.sample_po.ToString();
                lbDate.Text               = DateTime.Now.ToString("MM/dd/yyyy");
                lbCompany.Text            = String.Format("{0}<br />{1}", cus.company_name, cus.address);
                lbDateSampleReceived.Text = Convert.ToDateTime(_job.date_of_receive).ToString("MM/dd/yyyy");
                String[] tmp = _sample.job_number.Split('-');



                lbRefNo.Text = String.Format("{4}ATT/{0}/{1}/{2}-{3}", tmp[0], _job.date_of_receive.Value.ToString("yy"), tmp[1], tmp[2], (_sample.amend_count > 0 ? (_sample.amend_count == 1 ? "AM/" : "AM/" + _sample.amend_count) : ""));

                ////String.Format("AM/ATT/ELP/17/XXXX-XX")
                //lbDownloadName.Text = _sample.job_number.ToString();
                lbDateTestCompleted.Text = Convert.ToDateTime(_sample.due_date).ToString("MM/dd/yyyy");

                lbSampleDescription.Text = String.Format("Description:{0}<br />Model:{1}<br />Surface Area:{2}<br />Remark:{3}<br />", _sample.description, _sample.model, _sample.surface_area, _sample.remarks);

                m_specification mSpec = new m_specification();
                mSpec = mSpec.SelectByID(_sample.specification_id);
                m_type_of_test typeOfTest = new m_type_of_test();
                typeOfTest   = typeOfTest.SelectByID(_sample.type_of_test_id);
                txtSpec.Text = String.Format("Specification [{0}]-->Type Of Test [{1}]", (mSpec == null) ? String.Empty : mSpec.name, typeOfTest.name);
            }
        }
Beispiel #4
0
 public ReportBiz(HttpServerUtility _server, job_sample _jobSample)
 {
     this.doc       = new Document();
     this.s         = this.doc.AddSection();
     this.server    = _server;
     this.jobSample = _jobSample;
     Setup();
 }
        protected void gvJob_SelectedIndexChanged(object sender, EventArgs e)
        {
            int key = Convert.ToInt32(gvJob.SelectedDataKey.Value);

            job_sample jobSample = new job_sample().SelectByID(key);
            job_info   jobInfo   = new job_info().SelectByID(this.JobID);

            if (jobInfo != null)
            {
                m_customer cus = new m_customer().SelectByID(jobInfo.customer_id);
                m_customer_contract_person cus_con_per = new m_customer_contract_person().SelectByID(jobInfo.contract_person_id);
                lbJobNo.Text    = jobSample.job_number; // String.Format("{0}{1}", jobSample.job_running.prefix, Convert.ToInt32(jobInfo.job_number).ToString("00000"));
                lbClient.Text   = cus.company_name;     // jobInfo.m_customer.company_name;
                lbContract.Text = cus_con_per.name;     // jobInfo.m_customer_contract_person.name;


                List <job_sample> samples = job_sample.FindAllBySampleID(key);//.FindAllByJobID(jobInfo.ID);
                if (samples != null && samples.Count > 0)
                {
                    lbSample.Text = samples[0].description.Length > 30 ? samples[0].description.Substring(0, 30) + "  ..." : samples[0].description;
                    int spec_id = 0;
                    foreach (job_sample s in samples)
                    {
                        m_specification spec = new m_specification().SelectByID(s.specification_id);

                        lbSpec.Text = spec.name.Length > 15 ? spec.name.Substring(0, 15) + "...":spec.name;

                        if (spec_id != s.specification_id)
                        {
                            spec_id = s.specification_id;
                        }
                        m_type_of_test tot = new m_type_of_test().SelectByID(s.type_of_test_id);
                        type_of_test = tot.name + ","; //String.Format("<i class=\"icon-check\"></i> {0} ", tot.name);
                    }
                    lbTot.Text = type_of_test.Substring(0, type_of_test.Length - 1);
                    if (jobInfo.sample_diposition != null)
                    {
                        if (jobInfo.sample_diposition.Equals("Y"))
                        {
                            sample_diposition = "Discard";// "<i class=\"icon-check\"></i>Discard<i class=\"icon-check-empty\"></i>Return";
                        }
                        else
                        {
                            sample_diposition = "Return";// "<i class=\"icon-check-empty\"></i>Discard <i class=\"icon-check\"></i>Return";
                        }
                        lbSd.Text = sample_diposition;
                    }
                    lbSa.Text = samples[0].surface_area;
                }
            }
            else
            {
                //btnCancel_Click(null, null);
            }

            Console.WriteLine();
        }
 private void fillinScreen()
 {
     jobSample = new job_sample().SelectByID(this.SampleID);
     if (jobSample != null)
     {
     }
     else
     {
         btnCancel_Click(null, null);
     }
 }
Beispiel #7
0
 private void fillinScreen()
 {
     jobSample = new job_sample().SelectByID(this.SampleID);
     if (jobSample != null)
     {
         //txtPo.Text = jobSample.sample_po;
         txtInvoice.Text = jobSample.sample_invoice;
     }
     else
     {
         btnCancel_Click(null, null);
     }
 }
        protected void gvSample_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            this.SampleID = int.Parse(gvSample.DataKeys[e.RowIndex].Values[0].ToString());

            job_sample js = listSample.Find(x => x.ID == this.SampleID);

            if (js != null)
            {
                js.RowState         = CommandNameEnum.Delete;
                gvSample.DataSource = listSampleShow;
                gvSample.DataBind();
            }
            btnAddSampleInfo.Enabled = true;
        }
        protected void gvSample_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            String  jobNumber      = gvSample.DataKeys[e.RowIndex].Values[2].ToString();
            int     Id             = Convert.ToInt32(gvSample.DataKeys[e.RowIndex].Values[0].ToString());
            TextBox _txtRefNo      = (TextBox)gvSample.Rows[e.RowIndex].FindControl("txtRefNo");
            TextBox _txtOtherRefNo = (TextBox)gvSample.Rows[e.RowIndex].FindControl("txtOtherRefNo");

            TextBox      _txtDescriptoin         = (TextBox)gvSample.Rows[e.RowIndex].FindControl("txtDescriptoin");
            TextBox      _txtModel               = (TextBox)gvSample.Rows[e.RowIndex].FindControl("txtModel");
            TextBox      _txtSurfaceArea         = (TextBox)gvSample.Rows[e.RowIndex].FindControl("txtSurfaceArea");
            TextBox      _txtRemark              = (TextBox)gvSample.Rows[e.RowIndex].FindControl("txtRemark");
            DropDownList _ddlNoOfReport          = (DropDownList)gvSample.Rows[e.RowIndex].FindControl("ddlNoOfReport");
            DropDownList _ddlUncertaint          = (DropDownList)gvSample.Rows[e.RowIndex].FindControl("ddlUncertaint");
            DropDownList _ddlCompletionScheduled = (DropDownList)gvSample.Rows[e.RowIndex].FindControl("ddlCompletionScheduled");

            TextBox _txtPartNo   = (TextBox)gvSample.Rows[e.RowIndex].FindControl("txtPartNo");
            TextBox _txtPartName = (TextBox)gvSample.Rows[e.RowIndex].FindControl("txtPartName");
            TextBox _txtLotNo    = (TextBox)gvSample.Rows[e.RowIndex].FindControl("txtLotNo");


            job_sample jobSample = listSample.Find(x => x.ID == Id);

            if (jobSample != null)
            {
                jobSample.job_id = objJobInfo.ID;
                //if (this.CommandName == CommandNameEnum.Add)
                //{
                jobSample.job_number = _txtRefNo.Text;
                //}
                jobSample.description  = _txtDescriptoin.Text;
                jobSample.model        = _txtModel.Text;
                jobSample.surface_area = _txtSurfaceArea.Text;
                jobSample.remarks      = _txtRemark.Text;
                jobSample.other_ref_no = _txtOtherRefNo.Text;
                jobSample.no_of_report = Convert.ToInt16(_ddlNoOfReport.SelectedValue);
                jobSample.uncertainty  = _ddlUncertaint.SelectedValue;
                jobSample.status_completion_scheduled = Convert.ToInt32(_ddlCompletionScheduled.SelectedValue);

                jobSample.part_no   = _txtPartNo.Text;
                jobSample.part_name = _txtPartName.Text;
                jobSample.lot_no    = _txtLotNo.Text;
            }
            gvSample.EditIndex  = -1;
            gvSample.DataSource = listSampleShow;
            gvSample.DataBind();
            btnAddSampleInfo.Enabled = true;
        }
Beispiel #10
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 fillinScreen()
        {
            type_of_test = "";
            job_sample jobSample = new job_sample().SelectByID(this.SampleID);
            job_info   jobInfo   = new job_info().SelectByID(this.JobID);

            if (jobInfo != null)
            {
                m_customer cus = new m_customer().SelectByID(jobInfo.customer_id);
                m_customer_contract_person cus_con_per = new m_customer_contract_person().SelectByID(jobInfo.contract_person_id);
                lbClient.Text   = cus.company_name; // jobInfo.m_customer.company_name;
                lbContract.Text = cus_con_per.name; // jobInfo.m_customer_contract_person.name;


                List <job_sample> samples = job_sample.FindAllByJobID(jobInfo.ID);
                if (samples != null && samples.Count > 0)
                {
                    lbSample.Text = samples[0].description.Length > 30 ? samples[0].description.Substring(0, 30) + "  ..." : samples[0].description;
                    int spec_id = 0;
                    int index   = 0;
                    foreach (job_sample s in samples)
                    {
                        if (index == 0)
                        {
                            lbJobNo.Text = s.job_number.Split('-')[0] + "-" + s.job_number.Split('-')[1] + "-" + s.job_number.Split('-')[2] + ",";// String.Format("{0}{1}", jobSample.job_running.prefix, Convert.ToInt32(jobInfo.job_number).ToString("00000"));
                        }
                        else
                        {
                            lbJobNo.Text += s.job_number.Split('-')[2] + ",";
                        }
                        m_specification spec = new m_specification().SelectByID(s.specification_id);

                        lbSpec.Text = spec.name.Length > 15 ? spec.name.Substring(0, 15) + "..." : spec.name;
                        if (spec_id != s.specification_id)
                        {
                            spec_id = s.specification_id;
                        }
                        m_type_of_test tot = new m_type_of_test().SelectByID(s.type_of_test_id);
                        type_of_test += tot.name + ","; //String.Format("<i class=\"icon-check\"></i> {0} ", tot.name);
                        index++;
                    }

                    lbTot.Text = type_of_test.Substring(0, type_of_test.Length - 1);
                    if (jobInfo.sample_diposition != null)
                    {
                        if (jobInfo.sample_diposition.Equals("Y"))
                        {
                            sample_diposition = "Discard";// "<i class=\"icon-check\"></i>Discard<i class=\"icon-check-empty\"></i>Return";
                        }
                        else
                        {
                            sample_diposition = "Return";// "<i class=\"icon-check-empty\"></i>Discard <i class=\"icon-check\"></i>Return";
                        }
                        lbSd.Text = sample_diposition;
                    }
                    lbSa.Text = samples[0].surface_area;
                }

                lbJobNo.Text = lbJobNo.Text.Substring(0, lbJobNo.Text.Length - 1);
                ///
                ReportParameterCollection reportParameters = new ReportParameterCollection();

                reportParameters.Add(new ReportParameter("pJobNo", lbJobNo.Text));
                reportParameters.Add(new ReportParameter("pClient", lbClient.Text));
                reportParameters.Add(new ReportParameter("pContract", lbContract.Text));
                reportParameters.Add(new ReportParameter("pSample", lbSample.Text));
                reportParameters.Add(new ReportParameter("pSpec", lbSpec.Text));
                reportParameters.Add(new ReportParameter("pTest", lbTot.Text));
                reportParameters.Add(new ReportParameter("pSampleD", lbSd.Text));



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


                // 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/rptStricker.rdlc");
                viewer.LocalReport.SetParameters(reportParameters);
            }
            else
            {
                //btnCancel_Click(null, null);
            }
        }
        protected void btnAddSampleInfo_Click(object sender, EventArgs e)
        {
            foreach (ListItem item in lstTypeOfTest.Items)
            {
                if (item.Selected)
                {
                    m_type_of_test tmp = new m_type_of_test().SelectByID(int.Parse(item.Value));
                    if (tmp != null)
                    {
                        job_sample jobSample = new job_sample();
                        jobSample.ID          = CustomUtils.GetRandomNumberID();
                        jobSample.template_id = -1;


                        jobSample.job_id           = Convert.ToInt32(hJobID.Value);
                        jobSample.type_of_test_id  = tmp.ID;
                        jobSample.specification_id = String.IsNullOrEmpty(ddlSecification_id.SelectedValue) ? 0 : int.Parse(ddlSecification_id.SelectedValue);
                        jobSample.job_number       = ddlJobNumber.SelectedItem.Text + "-" + txtJob_number.Text + "-" + tmp.prefix;
                        jobSample.description      = txtDescriptoin.Text;
                        jobSample.model            = txtModel.Text;
                        jobSample.surface_area     = txtSurfaceArea.Text;
                        jobSample.remarks          = txtRemark.Text;
                        jobSample.no_of_report     = 1;// Convert.ToInt16(ddlNoOfReport.SelectedValue);
                        jobSample.uncertainty      = (rdUncertaintyYes.Checked) ? "Y" : "N";
                        jobSample.RowState         = CommandNameEnum.Add;
                        jobSample.job_status       = Convert.ToInt32(StatusEnum.LOGIN_CONVERT_TEMPLATE);


                        jobSample.job_role = userLogin.role_id;
                        jobSample.status_completion_scheduled = Convert.ToInt32(ddlCompletionScheduled.SelectedValue);
                        //jobSample.due_date = Convert.ToDateTime(objJobInfo.date_of_receive.Value);
                        jobSample.update_date  = Convert.ToDateTime(objJobInfo.date_of_receive.Value);
                        jobSample.update_by    = userLogin.id;
                        jobSample.is_hold      = "0";//0=Unhold
                        jobSample.part_no      = txtPartNo.Text;
                        jobSample.part_name    = txtPartName.Text;
                        jobSample.lot_no       = txtLotNo.Text;
                        jobSample.other_ref_no = txtOtherRefNo.Text;
                        #region "Special Flow"

                        /*
                         * ELP:       Login(convert template , select spec) > Chemist testing > Sr. chemist checking > Admin(Word) > Lab Manager > Admin (Upload file PDF)
                         * ELS:         Login(convert template(Ad hoc template)) >Chemist testing(Upload file) > Sr. chemist checking
                         * ELN:         Login(convert template(Ad hoc template)) > Chemist testing(Upload file) > Sr. chemist checking > Admin(Word) > Lab Manager  Admin (Upload file PDF)
                         * FA:         Login > Chemist testing(Upload file) > Admin(Word) > Lab Manager > Admin (Upload file PDF)
                         * GRP:         Login > Admin(Upload file PDF)
                         * ELWA :       Login > Chemist testing(Upload file) > Sr. chemist checking > Admin(Word) > Lab Manager > Admin (Upload file PDF)
                         * */

                        if (!String.IsNullOrEmpty(ddlJobNumber.SelectedValue))
                        {
                            switch (ddlJobNumber.SelectedItem.Text.ToUpper())
                            {
                            case "ELS":
                                jobSample.template_id = 1;
                                jobSample.job_status  = Convert.ToInt32(StatusEnum.CHEMIST_TESTING);
                                break;

                            case "ELN":

                                if (tmp.ref_template_id != null)
                                {
                                    jobSample.template_id = tmp.ref_template_id.Value;
                                }
                                else
                                {
                                    jobSample.template_id = 2;
                                }


                                jobSample.job_status = Convert.ToInt32(StatusEnum.CHEMIST_TESTING);

                                break;

                            case "FA":
                                jobSample.template_id = 3;
                                jobSample.job_status  = Convert.ToInt32(StatusEnum.CHEMIST_TESTING);
                                break;

                            case "GRP":
                                jobSample.template_id = 4;
                                jobSample.job_status  = Convert.ToInt32(StatusEnum.ADMIN_CONVERT_PDF);
                                break;

                            case "ELWA":
                                jobSample.template_id = 5;
                                jobSample.job_status  = Convert.ToInt32(StatusEnum.CHEMIST_TESTING);
                                break;

                            default:    //ELP
                                break;
                            }
                        }
                        #endregion

                        m_completion_scheduled cs = new m_completion_scheduled().SelectByID(Convert.ToInt32(jobSample.status_completion_scheduled));
                        if (cs != null)
                        {
                            if (objJobInfo != null)
                            {
                                if (Constants.OTHER_REF_NOS.Contains(jobSample.other_ref_no))
                                {
                                    jobSample.due_date_lab      = new DateTime(1, 1, 1);
                                    jobSample.due_date_customer = Convert.ToDateTime(objJobInfo.date_of_receive.Value).AddDays(Convert.ToInt32(cs.customer_due_date));
                                }
                                else
                                {
                                    jobSample.due_date          = Convert.ToDateTime(objJobInfo.date_of_receive.Value).AddDays(Convert.ToInt32(cs.value));
                                    jobSample.due_date_customer = Convert.ToDateTime(objJobInfo.date_of_receive.Value).AddDays(Convert.ToInt32(cs.customer_due_date));
                                    jobSample.due_date_lab      = Convert.ToDateTime(objJobInfo.date_of_receive.Value).AddDays(Convert.ToInt32(cs.lab_due_date));
                                }
                            }
                        }
                        else
                        {
                            //logger.Debug("m_completion_scheduled is Empty!");
                        }
                        jobSample.sample_prefix = ddlJobNumber.SelectedItem.Text;

                        listSample.Add(jobSample);
                    }
                    else
                    {
                        // not find type of test
                    }
                }
            }

            gvSample.DataSource = listSampleShow;
            gvSample.PageIndex  = 0;
            gvSample.DataBind();
            //Clear old value

            //txtDescriptoin.Text = string.Empty;
            //txtModel.Text = string.Empty;
            //txtSurfaceArea.Text = string.Empty;
            //txtRemark.Text = string.Empty;
            //rdUncertaintyNo.Checked = true;
            //ddlSecification_id.SelectedIndex = -1;
            //ddlCompletionScheduled.SelectedIndex = -1;
            lstTypeOfTest.ClearSelection();
        }
        protected void gvJob_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            CommandNameEnum        cmd = (CommandNameEnum)Enum.Parse(typeof(CommandNameEnum), e.CommandName, true);
            m_completion_scheduled cs  = new m_completion_scheduled().SelectByID(Convert.ToInt32(CompletionScheduledEnum.NORMAL));

            this.CommandName = cmd;
            this.JobID       = (cmd == CommandNameEnum.Page) ? 0 : int.Parse(e.CommandArgument.ToString().Split(Constants.CHAR_COMMA)[0]);
            this.SampleID    = (cmd == CommandNameEnum.Page) ? 0 : int.Parse(e.CommandArgument.ToString().Split(Constants.CHAR_COMMA)[1]);

            switch (cmd)
            {
            case CommandNameEnum.Edit:
            //Server.Transfer(Constants.LINK_EDIT_SAMPLE);
            //break;
            case CommandNameEnum.View:
                Server.Transfer(Constants.LINK_JOB_REQUEST);
                break;

            case CommandNameEnum.ConvertTemplate:
                Server.Transfer(Constants.LINK_JOB_CONVERT_TEMPLATE);
                break;

            case CommandNameEnum.Workflow:
                Server.Transfer(Constants.LINK_JOB_WORK_FLOW);
                break;

            case CommandNameEnum.ChangeStatus:
                Server.Transfer(Constants.LINK_JOB_CHANGE_STATUS);
                break;

            case CommandNameEnum.ChangeDueDate:
                Server.Transfer(Constants.LINK_JOB_CHANGE_DUEDATE);
                break;

            case CommandNameEnum.ChangeSrCompleteDate:
                Server.Transfer(Constants.LINK_JOB_SR_COMPLETE_DATE);
                break;

            case CommandNameEnum.ChangePo:
                Server.Transfer(Constants.LINK_JOB_CHANGE_PO);
                break;

            case CommandNameEnum.ChangeInvoice:
                Server.Transfer(Constants.LINK_JOB_CHANGE_INVOICE);
                break;

            case CommandNameEnum.Print:
                if (userLogin.role_id == Convert.ToInt32(RoleEnum.ADMIN))
                {
                    Server.Transfer(Constants.LINK_ADMIN_PRINT);
                }
                else
                {
                    Server.Transfer(Constants.LINK_JOB_PRINT_LABEL);
                }
                break;

            case CommandNameEnum.ChangeReportDate:
                Server.Transfer(Constants.LINK_REPORT_DATE);
                break;

            case CommandNameEnum.ChangeOtherRefNo:
                Server.Transfer(Constants.LINK_CHANGE_OTHER_REF_NO);
                break;

            case CommandNameEnum.ChangeSingaporeRefNo:
                Server.Transfer(Constants.LINK_CHANGE_SINGAPORE_REF_NO);
                break;

            case CommandNameEnum.Amend:
            case CommandNameEnum.Retest:
                Server.Transfer(Constants.LINK_RETEST);
                break;

            case CommandNameEnum.Hold:
                if (cs != null)
                {
                    job_sample jobSample = new job_sample().SelectByID(this.SampleID);
                    jobSample.update_date = DateTime.Now;
                    jobSample.is_hold     = "1";
                    jobSample.Update();
                    //Commit
                    GeneralManager.Commit();
                    bindingData();
                }
                break;

            case CommandNameEnum.UnHold:
                if (cs != null)
                {
                    job_sample jobSample = new job_sample().SelectByID(this.SampleID);
                    jobSample.update_date       = DateTime.Now;
                    jobSample.due_date          = (jobSample.update_date == null) ? DateTime.Now.AddDays(cs.value.Value) : jobSample.update_date.Value.AddDays(cs.value.Value);
                    jobSample.due_date_customer = (jobSample.update_date == null) ? DateTime.Now.AddDays(cs.lab_due_date.Value) : jobSample.update_date.Value.AddDays(cs.lab_due_date.Value);
                    jobSample.due_date_lab      = (jobSample.update_date == null) ? DateTime.Now.AddDays(cs.customer_due_date.Value) : jobSample.update_date.Value.AddDays(cs.customer_due_date.Value);
                    jobSample.is_hold           = "0";
                    jobSample.job_status        = Convert.ToInt16(StatusEnum.CHEMIST_TESTING);
                    jobSample.Update();
                    //Commit
                    GeneralManager.Commit();
                    bindingData();
                }
                break;

            case CommandNameEnum.ViewFile:
                Server.Transfer(Constants.LINK_VIEW_FILE);
                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 btnSave_Click(object sender, EventArgs e)
        {
            job_sample        oldSample  = new job_sample().SelectByID(this.SampleID);
            List <job_sample> jobSamples = new job_sample().findByIdAndStatus(oldSample.job_number, (this.CommandName == CommandNameEnum.Retest) ? StatusEnum.JOB_RETEST : StatusEnum.JOB_AMEND);

            job_sample newSample = new job_sample();

            newSample.template_id                 = oldSample.template_id;
            newSample.job_id                      = oldSample.job_id;
            newSample.type_of_test_id             = oldSample.type_of_test_id;
            newSample.specification_id            = oldSample.specification_id;
            newSample.job_number                  = oldSample.job_number;
            newSample.description                 = oldSample.description;
            newSample.model                       = oldSample.model;
            newSample.surface_area                = oldSample.surface_area;
            newSample.remarks                     = oldSample.remarks;
            newSample.no_of_report                = oldSample.no_of_report;
            newSample.uncertainty                 = oldSample.uncertainty;
            newSample.job_role                    = userLogin.role_id;
            newSample.status_completion_scheduled = oldSample.status_completion_scheduled;
            newSample.due_date                    = oldSample.due_date;
            newSample.due_date_customer           = oldSample.due_date_customer;
            newSample.due_date_lab                = oldSample.due_date_lab;
            newSample.path_word                   = oldSample.path_word;
            newSample.path_pdf                    = oldSample.path_pdf;
            newSample.step1owner                  = oldSample.step1owner;
            newSample.step2owner                  = oldSample.step2owner;
            newSample.step3owner                  = oldSample.step3owner;
            newSample.step4owner                  = oldSample.step4owner;
            newSample.step5owner                  = oldSample.step5owner;
            newSample.step6owner                  = oldSample.step6owner;
            newSample.step7owner                  = oldSample.step7owner;
            newSample.due_date                    = oldSample.due_date;
            newSample.is_no_spec                  = oldSample.is_no_spec;
            newSample.is_hold                     = oldSample.is_hold;
            newSample.update_date                 = DateTime.Now;
            newSample.amend_count                 = 0;
            newSample.retest_count                = 0;
            newSample.amend_or_retest             = (this.CommandName == CommandNameEnum.Amend) ? "AM" : "R";
            newSample.sample_prefix               = oldSample.sample_prefix;

            switch (newSample.amend_or_retest)
            {
            case "AM":
                newSample.amend_count = newSample.findAmendOrRetestCount(newSample.job_number, newSample.amend_or_retest) + 1;

                break;

            case "R":
                newSample.retest_count = newSample.findAmendOrRetestCount(newSample.job_number, newSample.amend_or_retest) + 1;
                break;
            }



            newSample.job_status = Convert.ToInt16(ddlStatus.SelectedValue);

            newSample.path_pdf  = String.Empty;
            newSample.path_word = String.Empty;
            newSample.Insert();
            oldSample.Update();


            //Commit
            GeneralManager.Commit();
            m_template template = new m_template().SelectByID(oldSample.template_id);

            if (template != null)
            {
                switch (Path.GetFileNameWithoutExtension(template.path_url))
                {
                case "Seagate_Copperwire":
                    template_seagate_copperwire_coverpage.CloneData(oldSample.ID, newSample.ID);
                    template_seagate_copperwire_img.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "Seagate_Corrosion":
                    template_seagate_corrosion_coverpage.CloneData(oldSample.ID, newSample.ID);
                    template_seagate_corrosion_img.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "Seagate_DHS":
                case "Seagate_DHS_V2":
                    template_seagate_dhs_coverpage.CloneData(oldSample.ID, newSample.ID);
                    tb_m_dhs_cas.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "Seagate_FTIR":
                case "Seagate_FTIR_Adhesive":
                case "Seagate_FTIR_Damper":
                case "Seagate_FTIR_Packing":
                    template_seagate_ftir_coverpage.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "Seagate_GCMS":
                case "Seagate_GCMS_2":
                case "Seagate_GCMS_3":
                    template_seagate_gcms_coverpage.CloneData(oldSample.ID, newSample.ID);
                    template_seagate_gcms_coverpage_img.CloneData(oldSample.ID, newSample.ID);
                    tb_m_gcms_cas.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "Seagate_HPA":
                case "Seagate_HPA_1":
                case "Seagate_HPA_Boyd":
                case "Seagate_HPA_Siam":
                    template_seagate_hpa_coverpage.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "Seagate_IC":
                    template_seagate_ic_coverpage.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "Seagate_LPC":
                    template_seagate_lpc_coverpage.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "WD_Corrosion":
                    template_wd_corrosion_coverpage.CloneData(oldSample.ID, newSample.ID);
                    template_wd_corrosion_img.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "WD_DHS":
                    template_wd_dhs_coverpage.CloneData(oldSample.ID, newSample.ID);
                    tb_m_dhs_cas.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "WD_FTIR":
                case "WD_FTIR_IDM":
                    template_wd_ftir_coverpage.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "WD_GCMS":
                case "WD_GCMS_CVR":
                    template_wd_gcms_coverpage.CloneData(oldSample.ID, newSample.ID);
                    tb_m_gcms_cas.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "WD_HPA_FOR_1":
                case "WD_HPA_FOR_1_V2":
                    template_wd_hpa_for1_coverpage.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "WD_HPA_FOR_3":
                    template_wd_hpa_for3_coverpage.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "WD_IC":
                    template_wd_ic_coverpage.CloneData(oldSample.ID, newSample.ID);
                    //template_wd_ir_coverpage template_wd_ir_coverpage = new template_wd_ir_coverpage();
                    break;

                case "WD_LPC":
                    template_wd_lpc_coverpage.CloneData(oldSample.ID, newSample.ID);
                    break;

                case "WD_MESA":
                case "WD_MESA_IDM":
                case "WD_MESA_InkRibon":
                    template_wd_mesa_coverpage.CloneData(oldSample.ID, newSample.ID);
                    template_wd_mesa_img.CloneData(oldSample.ID, newSample.ID);
                    break;
                }
            }
            //Commit
            GeneralManager.Commit();
            removeSession();
            MessageBox.Show(this, Resources.MSG_SAVE_SUCCESS, PreviousPath);
        }