Ejemplo n.º 1
0
 static void Main(string[] args)
 {
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     //Application.Run(new Form1());
     var isAutoMassConvert = false;
     if (args.Length > 0)
     {
         for(int i = 0; i < args.Length; i++)
         {
             if (args[i].ToLower().Trim() == "auto")
             {
                 isAutoMassConvert = true;
             }
             else
             {
                 var clsTempData = new clsTempData();
                 clsTempData.Username = args[i];
             }
         }
     }
     if (isAutoMassConvert)
     {
         Application.Run(new AutoMassConvert());
     }
     else
     {
         Application.Run(new MDIMassConvert());
     }
 }
 private void setDefault()
 {
     #region Variable
     var clsTempData = new clsTempData();
     var dt = new DataTable();
     #endregion
     #region Procedure
     dt = clsTempData.getPayorMapSummary();
     if(dt!=null && dt.Rows.Count > 0)
     {
         gvDefault.DataSource = dt;
     }
     else
     {
         gvDefault.DataSource = null;
     }
     #endregion
 }
 private void ConvertResult_Load(object sender, EventArgs e)
 {
     #region Variable
     var clsTempData = new clsTempData();
     var dt = new DataTable();
     #endregion
     #region Procedure
     dt = clsTempData.dtConvertResult;
     if(dt!=null && dt.Rows.Count > 0)
     {
         lblDefault.Text = "พบข้อมูลทั้งหมด " + dt.Rows.Count.ToString() + "";
         gvDefault.DataSource = dt;
     }
     else
     {
         lblDefault.Text = "ไม่พบข้อมูล";
     }
     #endregion
 }
        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            #region Variable
            var countLoop = 0;
            var SQLPT = new StringBuilder();
            var clsTempData = new clsTempData();
            var outMessage = "";
            countSuccess = 0;
            countExist = 0;
            countFail = 0;
            #endregion
            setRadButton(btConvert, false);
            setRadButton(btCancel, true);
            setPictureBox(anWaiting, true);
            #region FindMaxLoop
            int CountCheckBox = 0;
            for (int r = 0; r <= gvPatient.Rows.Count - 1; r++)
            {
                //Loop ทำงานเฉพาะคนที่ Check Box
                if (Convert.ToBoolean(gvPatient.Rows[r].Cells["Check"].Value) == true)
                {
                    CountCheckBox++;
                }
            }
            #endregion
            setProgressBar(progressBar1, CountCheckBox, 0);
            clsTempData.dtConvertResult = null;
            for (int i = 0; i <= gvPatient.Rows.Count - 1; i++)
            {
                if (backgroundWorker1.CancellationPending)
                {
                    setProgressBar(progressBar1, CountCheckBox, 0);
                    e.Cancel = true;
                    setRadButton(btCancel, false);
                    MessageBox.Show("ขั้นตอนถูกยกเลิกโดย User"+Environment.NewLine+
                        "ดำเนินการไปแล้วทั้งสิ้น "+countLoop.ToString()+" จากทั้งหมด "+CountCheckBox.ToString()+" รายการ", "Cancel by User.", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    return;
                }
                //Loop ทำงานเฉพาะคนที่ Check Box
                if (Convert.ToBoolean(gvPatient.Rows[i].Cells["Check"].Value) == true)
                {
                    MassConvertLogHN = gvPatient.Rows[i].Cells["HN"].Value.ToString().Trim();
                    MassConvertLogPatientUID = gvPatient.Rows[i].Cells["PatientUID"].Value.ToString().Trim();
                    var forename = gvPatient.Rows[i].Cells["Name"].Value.ToString().Trim();
                    var surname = gvPatient.Rows[i].Cells["LastName"].Value.ToString().Trim();
                    var doe = gvPatient.Rows[i].Cells["DOE"].Value;
                    countLoop += 1;
                    setLabel(lblStatus, string.Format("Converting order of {0} {1}", gvPatient.Rows[i].Cells["Name"].Value.ToString().Trim(), gvPatient.Rows[i].Cells["LastName"].Value.ToString().Trim()));
                    #region setConvertResult
                    if (!clsTempData.setConvertResult(out outMessage,
                        gvPatient.Rows[i].Cells["HN"].Value.ToString(),
                        gvPatient.Rows[i].Cells["Name"].Value.ToString().Trim() + " " + gvPatient.Rows[i].Cells["LastName"].Value.ToString().Trim(),
                        "Start",
                        "",
                        ""))
                    {
                        MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    #endregion
                    #region SQLQuery
                    SQLPT.Append("SELECT * FROM [PatientScheduleOrder] ps");
                    SQLPT.Append(" inner join Patient p on p.UID = ps.PatientUID ");
                    SQLPT.Append(" and p.Forename = N'" + forename + "'");
                    SQLPT.Append(" and Surname = N'" + surname + "'");
                    SQLPT.Append(" and ps.ScheduledDttm between '" + Convert.ToDateTime(doe).ToString("yyyy-MM-dd HH:mm:ss") + "' and '" + Convert.ToDateTime(doe).ToString("yyyy-MM-dd HH:mm:ss") + "'");
                    SQLPT.Append(" and ps.StatusFlag = 'A'");
                    #endregion
                    DataTable dt = new DataTable();
                    dt = db.Select_OrderNo(SQLPT.ToString());
                    SQLPT.Length = 0;SQLPT.Capacity = 0;
                    if (dt!=null && dt.Rows.Count > 0)
                    {
                        #region setConvertResult
                        if (!clsTempData.setConvertResult(out outMessage,
                            "",
                            "",
                            "Select_OrderNo",
                            "Success",
                            ""))
                        {
                            MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        #endregion
                        ConvertPreOrder(dt.Rows[0]["ScheduleOrderNumber"].ToString());
                    }
                    else
                    {
                        #region setConvertResult
                        if (!clsTempData.setConvertResult(out outMessage,
                            "",
                            "",
                            "Select_OrderNo",
                            "No Row",
                            ""))
                        {
                            MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        #endregion
                    }
                    //System.Threading.Thread.Sleep(5000);
                }
                setProgressBar(progressBar1, CountCheckBox, countLoop);
                setLabel(lblProgressDetail, string.Format("{0}/{1}", countLoop, CountCheckBox));
                //setLabel(lblStatus, string.Format("Converting order ",""));
            }
            setLabel(lblProgressDetail, "");
            setPictureBox(anWaiting, false);
            setRadButton(btConvert, true);
            setRadButton(btCancel, false);
            setLabel(lblStatus, string.Format("Waiting", ""));
            setProgressBar(progressBar1, CountCheckBox, 0);

            DialogResult dr= MessageBox.Show(string.Format("Convert order successful {0} from {1}"+Environment.NewLine+"(Success : {2} Exist : {3} Fail : {4}"+Environment.NewLine+Environment.NewLine+"ต้องการดูรายละเอียดการ Convert คลิก Yes",
                countLoop.ToString(), CountCheckBox.ToString(),
                countSuccess.ToString(),
                countExist.ToString(),
                countFail.ToString()),
                "Success",
                MessageBoxButtons.YesNo,
                MessageBoxIcon.Information);
            if (dr == DialogResult.Yes)
            {
                ConvertResult cr = new ConvertResult();
                cr.ShowDialog();
            }
        }
        private void ConvertPreOrder(string OrderNo)
        {
            System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
            string careUID = "2283";
            var outMessage = "";
            var clsTempData = new clsTempData();
            var clsSQL = new clsSQLNative();

            //หาข้อมูลใน tb PatientScheduleOrder ของ OrderNumber ที่ถูกส่งมา
            DataTable Schdt = new DataTable();
            Schdt = db.Select_PatientScheduleOrder(OrderNo);
            if (Schdt != null && Schdt.Rows.Count > 0)
            {
                if (!clsTempData.setConvertResult(out outMessage,
                        "",
                        "",
                        "Select_PatientScheduleOrder",
                        "Success",
                        "OrderNo:"+OrderNo))
                {
                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                for (int x = 0; x < Schdt.Rows.Count; x++)
                {
                    MassConvertLogUID = "";
                    var outMessage2 = "";
                    var PatientVisitUID = "";
                    PatientVisitUID = Schdt.Rows[x]["PatientVisitUID"].ToString();
                    //เช็คว่ามีการ Convert แล้วหรือยัง
                    if (string.IsNullOrEmpty(PatientVisitUID) || PatientVisitUID == "0")
                    {
                        #region MassConvertLog
                        if (MassConvertLogEnable == "true")
                        {
                            MassConvertLogUID = clsSQL.Return("INSERT INTO MassConvertLog(HN,StartWhen,Username,Detail,PatientUID) OUTPUT INSERTED.UID VALUES('" + MassConvertLogHN + "',GETDATE(),'"+clsTempData.Username+"','PayorByRegisterDate','"+ MassConvertLogPatientUID + "');",clsSQLNative.DBType.SQLServer, "MobieConnect");
                        }
                        #endregion
                        #region setConvertResult
                        if (!clsTempData.setConvertResult(out outMessage2,
                            "",
                            "",
                            "เช็คว่ามีการ Convert แล้วหรือยัง",
                            "No",
                            "PatientVisitUID:" + Schdt.Rows[x]["PatientVisitUID"].ToString()))
                        {
                            MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        #endregion
                        //Update Booking ของคนไข้คนนี้ให้ Status Flag = 'U' (แสดงว่าคนไข้ได้มาตามนัด หรือ ได้ตรวจแล้ว)
                        if (db.Update_Booking_Status(Schdt.Rows[x]["PatientUID"].ToString(), Schdt.Rows[x]["ScheduledDttm"].ToString(),out outMessage) == false)
                        {
                            #region setConvertResult
                            if (!clsTempData.setConvertResult(out outMessage2,
                                "",
                                "",
                                "Update Booking ของคนไข้คนนี้ให้ Status Flag = 'U' (แสดงว่าคนไข้ได้มาตามนัด หรือ ได้ตรวจแล้ว)",
                                "Fail",
                                ""))
                            {
                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                            #endregion
                            MessageBox.Show("Cannot update booking status\n\n"+outMessage);
                        }
                        else
                        {
                            #region setConvertResult
                            if (!clsTempData.setConvertResult(out outMessage2,
                                "",
                                "",
                                "Update Booking ของคนไข้คนนี้ให้ Status Flag = 'U' (แสดงว่าคนไข้ได้มาตามนัด หรือ ได้ตรวจแล้ว)",
                                "Success",
                                ""))
                            {
                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                            #endregion
                        }

                        //หา BillPackageItem ทั้งหมดของคนไข้คนนี้
                        DataTable SchDetdt = db.Select_OrderCategory_By_ScheduleOrderNumber_Filter_Package_AllItem(Schdt.Rows[x]["UID"].ToString());

                        //dgv.DataSource = SchDetdt;

                        if (SchDetdt != null && SchDetdt.Rows.Count > 0)
                        {
                            #region setConvertResult
                            if (!clsTempData.setConvertResult(out outMessage2,
                                "",
                                "",
                                "หา BillPackageItem ทั้งหมดของคนไข้คนนี้",
                                "Found",
                                "UID:"+ Schdt.Rows[x]["UID"].ToString()))
                            {
                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                            #endregion
                            //หา BillableItem ของ Order ของคนไข้คนนี้ตาม BSMDD
                            DataTable bsmdt = db.Select_BillableItem_By_ScheduleOrderNumber_GroupBy_BSMDDUID(Schdt.Rows[x]["UID"].ToString()); //new check by BSMDDUID
                            //หา Order Category ของ Order ของคนไข้คนนี้
                            DataTable catdt = db.Select_OrderCategory_By_ScheduleOrderNumber_GroupBy_OrderCategoryUID(Schdt.Rows[x]["UID"].ToString()); //old

                            if (bsmdt != null && bsmdt.Rows.Count > 0)
                            {
                                #region setConvertResult
                                if (!clsTempData.setConvertResult(out outMessage2,
                                    "",
                                    "",
                                    "หา BillableItem ของ Order ของคนไข้คนนี้ตาม BSMDD",
                                    "Found",
                                    "UID:" + Schdt.Rows[x]["UID"].ToString()))
                                {
                                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                                #endregion
                                //หาว่า Billable Type นี้มี Medicin , Supply อยู่ด้วยหรือไม่
                                //if (CheckBillableMedicineItemTypeInsidePackage(bsmdt) == true) //New concept check by BSMDDUID
                                //{
                                //MessageBox.Show("This version not support Medicine Item inside Package");
                                //return;
                                //}
                                //==================================================
                                //GENERATE PATIENT VISIT AND CREATE VISIT NO SECTION.
                                //==================================================
                                string visitno = db.SEQID("SEQVisitID");//StoreProcedure

                                if (Encounter_Desc.ToUpper().StartsWith("H"))
                                    visitno = "H" + BU + "-" + DateTime.Today.ToString("yy") + "-" + visitno.PadLeft(6, '0').ToString();
                                else
                                    visitno = "O" + BU + "-" + DateTime.Today.ToString("yy") + "-" + visitno.PadLeft(6, '0').ToString();

                                //Insert ข้อมูลเข้า table PatientVisit แล้ว return ค่า PatientVisitUID ออกมา
                                string patvisituid = db.Insert_PatientVisit(Schdt.Rows[x]["PatientUID"].ToString(), Encounter_UID
                                   , careUID, "0", Location_UID, "0", OwnerOrganization, "mass convert", Cuser
                                   , OwnerOrganization, "0");
                                #region setConvertResult
                                if (!clsTempData.setConvertResult(out outMessage2,
                                    "",
                                    "",
                                    "Insert ข้อมูลเข้า table PatientVisit แล้ว return ค่า PatientVisitUID ออกมา",
                                    "Success",
                                    "PatientVisitUID:" + patvisituid))
                                {
                                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                                #endregion
                                //Update PatientVisitUID ใน table PatientScheduleOrder ให้เป็น PatientVisitUID จริง ๆ
                                if(db.Update_PatientScheduleOrder_By_UID(Schdt.Rows[x]["UID"].ToString(), patvisituid, Cuser))
                                {
                                    #region setConvertResult
                                    if (!clsTempData.setConvertResult(out outMessage2,
                                        "",
                                        "",
                                        "Update PatientVisitUID ใน table PatientScheduleOrder ให้เป็น PatientVisitUID จริง ๆ",
                                        "Success",
                                        "PatientVisitUID:" + patvisituid))
                                    {
                                        MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                    #endregion
                                }
                                else
                                {
                                    #region setConvertResult
                                    if (!clsTempData.setConvertResult(out outMessage2,
                                        "",
                                        "",
                                        "Update PatientVisitUID ใน table PatientScheduleOrder ให้เป็น PatientVisitUID จริง ๆ",
                                        "Fail",
                                        "PatientVisitUID:" + patvisituid))
                                    {
                                        MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                    #endregion
                                }
                                countSuccess += 1;

                                //Insert ข้อมูลเข้า table PatientVisitPayor แล้ว return ค่า PatientVisitPayorUID ออกมา
                                //string patientVisitPayorUID = db.Insert_PatientVisitPayor(patvisituid, Schdt.Rows[x]["PatientUID"].ToString()
                                //    , ((DataRowView)cboPayorOffice.SelectedItem).Row.ItemArray[0].ToString(), ((DataRowView)cboPolicy.SelectedItem).Row.ItemArray[0].ToString(),
                                //((DataRowView)cboPolicy.SelectedItem).Row.ItemArray[1].ToString(), "", "MassCovert", Cuser, "A", OwnerOrganization, ((DataRowView)cboPayor.SelectedItem).Row.ItemArray[0].ToString(),
                                //((DataRowView)cboAgreement.SelectedItem).Row.ItemArray[0].ToString(), "", "", ((DataRowView)cboAgreement.SelectedItem).Row.ItemArray[2].ToString(), "0");
                                string patientVisitPayorUID = db.Insert_PatientVisitPayor(patvisituid, Schdt.Rows[x]["PatientUID"].ToString()
                                    , cboPayorOffice.SelectedItem.Value.ToString(), cboPolicy.SelectedItem.Value.ToString(),
                                cboPolicy.SelectedItem.Text.ToString(), "", "MassCovert", Cuser, "A", OwnerOrganization, cboPayor.SelectedItem.Value.ToString(),
                                cboAgreement.SelectedItem.Value.ToString(), "", "", FindAgreementPercentTag(cboAgreement.SelectedItem.Value.ToString()), "0");
                                #region setConvertResult
                                if (!clsTempData.setConvertResult(out outMessage2,
                                    "",
                                    "",
                                    "Insert ข้อมูลเข้า table PatientVisitPayor แล้ว return ค่า PatientVisitPayorUID ออกมา",
                                    "Success",
                                    "PatientVisitPayorUID:" + patientVisitPayorUID))
                                {
                                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                                #endregion
                                //Insert ข้อมูลเข้า table PatientVisiID
                                if(db.Insert_PatientVisitID(visitno, "Y", patvisituid, Cuser, OwnerOrganization))
                                {
                                    #region setConvertResult
                                    if (!clsTempData.setConvertResult(out outMessage2,
                                        "",
                                        "",
                                        "Insert ข้อมูลเข้า table PatientVisiID",
                                        "Success",
                                        "PatientVisitUID:" + patvisituid))
                                    {
                                        MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                    #endregion
                                }
                                else
                                {
                                    #region setConvertResult
                                    if (!clsTempData.setConvertResult(out outMessage2,
                                        "",
                                        "",
                                        "Insert ข้อมูลเข้า table PatientVisiID",
                                        "Fail",
                                        "PatientVisitUID:" + patvisituid))
                                    {
                                        MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                    #endregion
                                }
                                countSuccess += 1;

                                //==============================================
                                //INSERT PATIENT PACKAGE & PACKAGE ITEM SECTION.
                                //==============================================
                                //หา Package ย่อย ของ ScheduleOrderNumber นี้
                                string packuid = string.Empty;
                                DataTable dtBDMSScheduleOrder = db.Select_BDMSPatientScheduleOrderDetail_By_ScheduleOrderUID(Schdt.Rows[x]["UID"].ToString());
                                if (dtBDMSScheduleOrder != null && dtBDMSScheduleOrder.Rows.Count > 0)
                                {
                                    #region setConvertResult
                                    if (!clsTempData.setConvertResult(out outMessage2,
                                        "",
                                        "",
                                        "หา Package ย่อย ของ ScheduleOrderNumber นี้",
                                        "Found",
                                        ""))
                                    {
                                        MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                    #endregion
                                    for (int m = 0; m < dtBDMSScheduleOrder.Rows.Count; m++)
                                    {
                                        //Insert ข้อมูลเข้า table PatientPackage ตาม ScheduleOrderNumber ที่ส่งเข้ามา  แล้ว return ค่า PackageUID ออกมา
                                        packuid = db.Insert_PatientPackage_by_ScheduleOrderNumber(Schdt.Rows[x]["UID"].ToString(), OwnerOrganization, dtBDMSScheduleOrder.Rows[m]["BillPackageUID"].ToString(), patvisituid);
                                        #region setConvertResult
                                        if (!clsTempData.setConvertResult(out outMessage2,
                                            "",
                                            "",
                                            "Insert ข้อมูลเข้า table PatientPackage ตาม ScheduleOrderNumber ที่ส่งเข้ามา  แล้ว return ค่า PackageUID ออกมา",
                                            "Success",
                                            "PackageUID:"+ packuid))
                                        {
                                            MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                        }
                                        #endregion
                                        //Insert ข้อมูลเข้า table PatientPackageItem
                                        if(db.Insert_PatientPackageItem_by_ScheduleOrderNumber_BillPackage("", packuid, OwnerOrganization))
                                        {
                                            #region setConvertResult
                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                "",
                                                "",
                                                "Insert ข้อมูลเข้า table PatientPackageItem",
                                                "Success",
                                                "PackageUID:" + packuid))
                                            {
                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                            }
                                            #endregion
                                        }
                                        else
                                        {
                                            #region setConvertResult
                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                "",
                                                "",
                                                "Insert ข้อมูลเข้า table PatientPackageItem",
                                                "Fail",
                                                "PackageUID:" + packuid))
                                            {
                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                            }
                                            #endregion
                                        }
                                        countSuccess += 1;
                                    }
                                }
                                else
                                {
                                    #region setConvertResult
                                    if (!clsTempData.setConvertResult(out outMessage2,
                                        "",
                                        "",
                                        "หา Package ย่อย ของ ScheduleOrderNumber นี้",
                                        "Not Found",
                                        ""))
                                    {
                                        MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                    #endregion
                                }
                                //วนลูป add หัว package ทั้ง program หลัก และ Option เข้า table PatientBillableItem
                                DataTable dtPktBdmsSch = db.Select_PatientPackage_By_VisitUID(patvisituid);
                                if (dtPktBdmsSch != null && dtPktBdmsSch.Rows.Count > 0)
                                {
                                    #region setConvertResult
                                    if (!clsTempData.setConvertResult(out outMessage2,
                                        "",
                                        "",
                                        "วนลูป add หัว package ทั้ง program หลัก และ Option เข้า table PatientBillableItem",
                                        "Found",
                                        "PatientVisitUID:" + patvisituid))
                                    {
                                        MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                    #endregion
                                    for (int n = 0; n < dtPktBdmsSch.Rows.Count; n++)
                                    {
                                        //INSERT PATIENT BILLABLE FOR BILL PACKAGE IDENTIFIER TYPE

                                        //Insert ข้อมูลเข้า table PatientBillableItem
                                        if(db.Insert_PatientBillableItem_For_PackageHeader(OrderNo, dtPktBdmsSch.Rows[n]["UID"].ToString(), OwnerOrganization, Cuser, patvisituid, Schdt.Rows[x]["PatientUID"].ToString(), dtPktBdmsSch.Rows[n]["BillPackageUID"].ToString()))
                                        {
                                            #region setConvertResult
                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                "",
                                                "",
                                                "Insert ข้อมูลเข้า table PatientBillableItem",
                                                "Success",
                                                ""))
                                            {
                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                            }
                                            #endregion
                                        }
                                        else
                                        {
                                            #region setConvertResult
                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                "",
                                                "",
                                                "Insert ข้อมูลเข้า table PatientBillableItem",
                                                "Fail",
                                                ""))
                                            {
                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                            }
                                            #endregion
                                        }
                                        countSuccess += 1;
                                    }
                                }
                                else
                                {
                                    #region setConvertResult
                                    if (!clsTempData.setConvertResult(out outMessage2,
                                        "",
                                        "",
                                        "วนลูป add หัว package ทั้ง program หลัก และ Option เข้า table PatientBillableItem",
                                        "Not Found",
                                        "PatientVisitUID:" + patvisituid))
                                    {
                                        MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                    #endregion
                                }
                                //วนลูปตาม Order Category
                                for (int i = 0; i < catdt.Rows.Count; i++)
                                {
                                    string SEQ = db.SEQID("SEQpatientorder");
                                    string SpecialSEQ = GenerateSequenEachType(catdt.Rows[i]["Description"].ToString().ToLower());
                                    string OrderCateType = catdt.Rows[i]["Description"].ToString().ToLower();
                                    string Identype = string.Empty;
                                    //ถ้าเป็น Order ทั่วไป
                                    if (SpecialSEQ == "nodata")
                                        Identype = "PATIENTORDER";
                                    else //ถ้าเป็น Order Lab ,Xray
                                        Identype = "REQUEST";

                                    //วนลูปทีละ BillPackageItem
                                    for (int j = 0; j < SchDetdt.Rows.Count; j++)
                                    {
                                        //เช็คว่าเป็น OrderCategory เดียวกันหรือไม่
                                        if (catdt.Rows[i]["Value"].ToString().ToLower() == SchDetdt.Rows[j]["Value"].ToString()) //Check OrderCategory must match for assign each item to specific table
                                        {
                                            string ordcat = "NULL";
                                            string ordtsubcat = "NULL";
                                            string ordtoval = "0"; //Order To Location Value
                                            //เซ๊ตค่า OrderCat
                                            if (SchDetdt.Rows[j]["ORDCTUID"].ToString() != "")
                                                ordcat = SchDetdt.Rows[j]["ORDCTUID"].ToString();

                                            //เซ็ตค่า OrderSubCat
                                            if (SchDetdt.Rows[j]["OrderSubCategoryUID"].ToString() != "")
                                                ordtsubcat = SchDetdt.Rows[j]["OrderSubCategoryUID"].ToString();

                                            //เซ็ตค่า Order To Location
                                            DataTable ordto = db.Select_OrderToLocationUID(Location_UID,
                                                 SchDetdt.Rows[j]["BillableItemUID"].ToString(), "", true);
                                            if (ordto != null && ordto.Rows.Count > 0)
                                                ordtoval = (ordto.Rows[0][0].ToString() == "" ? "0" : ordto.Rows[0][0].ToString());

                                            string patorderuid = string.Empty;
                                            //Insert ข้อมูลเข้า table PatientOrder แล้ว return PatientOrderUID ออกมา
                                            bool flaginsertPatientOrder = db.insert_PatientOrder(SEQ, Schdt.Rows[x]["PatientUID"].ToString()
                                               , patvisituid, Cuser, "mass convert"
                                               , SchDetdt.Rows[j]["ORDCTUID"].ToString()
                                               , Identype, Location_UID, ordtoval, OwnerOrganization, out patorderuid);
                                            if (flaginsertPatientOrder)
                                            {
                                                #region setConvertResult
                                                if (!clsTempData.setConvertResult(out outMessage2,
                                                    "",
                                                    "",
                                                    "Insert ข้อมูลเข้า table PatientOrder แล้ว return PatientOrderUID ออกมา",
                                                    "Success",
                                                    "PatientOrderUID:"+ patorderuid))
                                                {
                                                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                }
                                                #endregion
                                            }
                                            else
                                            {
                                                #region setConvertResult
                                                if (!clsTempData.setConvertResult(out outMessage2,
                                                    "",
                                                    "",
                                                    "Insert ข้อมูลเข้า table PatientOrder แล้ว return PatientOrderUID ออกมา",
                                                    "Fail",
                                                    "PatientOrderUID:" + patorderuid))
                                                {
                                                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                }
                                                #endregion
                                            }
                                            countSuccess += 1;

                                            //หา PatientPackageUID ของ Order และ Visit นี้
                                            DataTable dtPTPck = db.Select_PatientPackageUID_By_BillPackageItemUID(patvisituid, SchDetdt.Rows[j]["UID"].ToString());

                                            //ถ้า Insert ข้อมูลเข้า table PatientOrder ได้
                                            if (flaginsertPatientOrder)
                                            {
                                                //ถ้าเป็น Order ทั่วไปให้ set status = Raised
                                                string orddetstatus = "Raised";
                                                //ถ้าเป็น Order Lab set status = Specimen Collected
                                                if (OrderCateType.ToString().ToLower() == "lab")
                                                    orddetstatus = "Specimen Collected";
                                                //ถ้าเป็น Order Xray set status = Executed
                                                else if (OrderCateType.ToString().ToLower() == "xray")
                                                    orddetstatus = "Executed";

                                                // กลับมาเช็คต่อ หาในส่วนของ PatientOrderDetail ต่อใน Package
                                                //INSERT DATA IN PATIENT ORDER DETAIL

                                                //IdentifyingType
                                                //-------------------------------------------------------------------------------------------------
                                                //MEDICATION , REQUESTDETAIL ,SERVICECHARGE, BILLABLEEVENT, ORDERITEM, DRUGCATALOGITEM, REQUESTITEM
                                                //-------------------------------------------------------------------------------------------------

                                                string IdentTypeforOrderDetail = "";
                                                if (Identype == "PATIENTORDER")
                                                    IdentTypeforOrderDetail = "ORDERITEM";
                                                if (Identype == "REQUEST")
                                                    IdentTypeforOrderDetail = "REQUESTDETAIL";

                                                //Calculate NetAmout
                                                string NetAmount = "0";

                                                try
                                                {
                                                    int quantity = int.Parse(SchDetdt.Rows[j]["Quantity"].ToString());
                                                    int amount = int.Parse(SchDetdt.Rows[j]["Amount"].ToString());
                                                    NetAmount = (quantity * amount).ToString();
                                                }
                                                catch (Exception)
                                                {

                                                    NetAmount = "0";
                                                }

                                                string patorddetails = "0";

                                                //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                                                string requid = string.Empty;
                                                if (Identype == "REQUEST")
                                                {
                                                    //1827 SPECIMEN COLLECTED
                                                    //ถ้า Order Category เป็น Lab
                                                    if (OrderCateType.ToString().ToLower() == "lab")
                                                    {
                                                        //เช็คว่ามีการ Generate LabNo โดยโปรแกรม Pre GenLab แล้วหรือยัง
                                                        DataTable mssdt = db.Select_BDMSASTMassConvert_Between(OrderNo, OrderNo);
                                                        if (mssdt != null && mssdt.Rows.Count > 0)
                                                        {
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "เช็คว่ามีการ Generate LabNo โดยโปรแกรม Pre GenLab แล้วหรือยัง",
                                                                "Yes",
                                                                "LabNo:"+ SpecialSEQ))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                            //ถ้ามีแล้วให้ดึง LabNo ที่ถูก Generate แล้วมา  เพื่อที่จะได้ไม่ต้อง Genrate LabNo ใหม่
                                                            SpecialSEQ = mssdt.Rows[0]["LabNo"].ToString();
                                                        }
                                                        else
                                                        {
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "เช็คว่ามีการ Generate LabNo โดยโปรแกรม Pre GenLab แล้วหรือยัง",
                                                                "No",
                                                                "LabNo:" + SpecialSEQ))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                        }
                                                        //นำ Lab No ที่ Generate มาแล้วไปเช็คใน table request ว่ามีแล้วหรือยัง
                                                        DataTable labnodt = db.Select_Request_By_LabNo(SpecialSEQ);
                                                        if (labnodt != null && labnodt.Rows.Count > 0) //found lab no in database
                                                        {
                                                            //ถ้ามีแล้วให้คืนค่า RequestUID กลับมา
                                                            requid = labnodt.Rows[0]["UID"].ToString();
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "นำ Lab No ที่ Generate มาแล้วไปเช็คใน table request ว่ามีแล้วหรือยัง",
                                                                "Yes",
                                                                "RequestUID:" + requid))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                        }
                                                        else //not found lab no in database
                                                        {
                                                            //ถ้ายังไม่มี ให้ทำการ Insert ข้อมูลใหม่เข้าไปใน table request แล้ว return RequestUID ออกมา
                                                            requid = db.Insert_Request(patvisituid,Schdt.Rows[x]["PatientUID"].ToString(),Cuser,SpecialSEQ,"Specimen Collected"
                                                                        ,Location_UID, ordtoval, OwnerOrganization);
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "นำ Lab No ที่ Generate มาแล้วไปเช็คใน table request ว่ามีแล้วหรือยัง",
                                                                "No",
                                                                "RequestUID:" + requid+ " (ทำการ Insert ข้อมูลใหม่เข้าไปใน table request แล้ว return RequestUID ออกมา)"))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                        }
                                                        // Update table PatientOrder
                                                        db.Update_PatientOrder_By_UID(patorderuid, requid);
                                                        #region setConvertResult
                                                        if (!clsTempData.setConvertResult(out outMessage2,
                                                            "",
                                                            "",
                                                            "Update table PatientOrder",
                                                            "Success",
                                                            "PatientOrderUID:" + patorderuid))
                                                        {
                                                            MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                        }
                                                        #endregion
                                                        //Insert ข้อมูลเข้า table RequestDetail แล้ว return UID กลับมา
                                                        string retreqdet = db.Insert_RequestDetail(SchDetdt.Rows[j]["ItemUID"].ToString(),
                                                                    requid, Cuser, SchDetdt.Rows[j]["Comments"].ToString(), "Specimen Collected", OwnerOrganization);
                                                        //ถ้า Insert สำเร็จ
                                                        if (retreqdet != "")
                                                        {
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "Insert ข้อมูลเข้า table RequestDetail แล้ว return UID กลับมา",
                                                                "Success",
                                                                "RequestDetailUID:" + retreqdet))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                            //หาข้อมูลว่ามีการ PreOrder แล้วหรือยัง
                                                            DataTable pschdt = db.Select_PatientScheduleOrder(OrderNo);
                                                            if (pschdt != null && pschdt.Rows.Count > 0)
                                                            {
                                                                #region setConvertResult
                                                                if (!clsTempData.setConvertResult(out outMessage2,
                                                                    "",
                                                                    "",
                                                                    "หาข้อมูลว่ามีการ PreOrder แล้วหรือยัง",
                                                                    "Yes",
                                                                    "OrderNo:" + OrderNo))
                                                                {
                                                                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                                }
                                                                #endregion
                                                                //เช็ค Specimen ที่เราได้ทำตอน Generate LabNo
                                                                DataTable bspctsdt = db.Select_BDMSASTMAssSpecimenTestset_BY_PatientScheduleOrderUID_And_TestSet_HN(
                                                                              pschdt.Rows[0]["UID"].ToString(), SchDetdt.Rows[j]["RequestCode"].ToString()
                                                                              , Schdt.Rows[x]["HN"].ToString());
                                                                //ถ้ามี Specimen ตอน Generate LabNo แล้ว
                                                                if (bspctsdt != null && bspctsdt.Rows.Count > 0)
                                                                {
                                                                    #region setConvertResult
                                                                    if (!clsTempData.setConvertResult(out outMessage2,
                                                                        "",
                                                                        "",
                                                                        "เช็ค Specimen ที่เราได้ทำตอน Generate LabNo",
                                                                        "Found",
                                                                        ""))
                                                                    {
                                                                        MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                                    }
                                                                    #endregion
                                                                    //เข้าไปดึง specimen ใน table master specimen โดยดึงตาม Code ที่กำหนด
                                                                    DataTable spdt = db.Select_Specimen_By_Name(bspctsdt.Rows[0]["Specimen"].ToString());
                                                                    if (spdt != null && spdt.Rows.Count > 0)
                                                                    {
                                                                        //Insert ข้อมูล Specimen เข้า table RequestDetailSpecimen
                                                                        if(db.Insert_RequestDetailSpecimen(retreqdet, "NULL", "'Manual Entry'"
                                                                                , spdt.Rows[0]["UID"].ToString(), spdt.Rows[0]["Name"].ToString(), "0", "0"
                                                                                , "3", "0", "NULL", "0", "0", Cuser, "'Mass Convert'", Cuser
                                                                                , OwnerOrganization, "NULL", "NULL", "Specimen Collected", "''", "NULL", "NULL"))
                                                                        {
                                                                            #region setConvertResult
                                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                                "",
                                                                                "",
                                                                                "Insert ข้อมูล Specimen เข้า table RequestDetailSpecimen",
                                                                                "Success",
                                                                                ""))
                                                                            {
                                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                                            }
                                                                            #endregion
                                                                        }
                                                                        else
                                                                        {
                                                                            #region setConvertResult
                                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                                "",
                                                                                "",
                                                                                "Insert ข้อมูล Specimen เข้า table RequestDetailSpecimen",
                                                                                "Fail",
                                                                                ""))
                                                                            {
                                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                                            }
                                                                            #endregion
                                                                        }
                                                                    }
                                                                }
                                                                else
                                                                {
                                                                    #region setConvertResult
                                                                    if (!clsTempData.setConvertResult(out outMessage2,
                                                                        "",
                                                                        "",
                                                                        "เช็ค Specimen ที่เราได้ทำตอน Generate LabNo",
                                                                        "Not Found",
                                                                        ""))
                                                                    {
                                                                        MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                                    }
                                                                    #endregion
                                                                    //RequestItemUID = SchDetdt.Rows[j]["ItemUID"].ToString()
                                                                    //LabCode = SchDetdt.Rows[j]["RequestCode"].ToString()

                                                                    //ใช้ RequestItemUID ไปหาว่าใช้ Specimen code อะไร
                                                                    string speceminitem = string.Empty;
                                                                    DataTable spedt = db.Select_RequestItemSpecimen_By_RequestItemUID(SchDetdt.Rows[j]["ItemUID"].ToString(), "Y");
                                                                    if (spedt != null && spedt.Rows.Count > 0)
                                                                    {
                                                                        speceminitem = spedt.Rows[0]["SpecimenCode"].ToString();
                                                                    }
                                                                    else
                                                                    {
                                                                        spedt = db.Select_RequestItemSpecimen_By_RequestItemUID(SchDetdt.Rows[j]["ItemUID"].ToString(), "N");
                                                                        if (spedt != null && spedt.Rows.Count > 0)
                                                                            speceminitem = spedt.Rows[0]["SpecimenCode"].ToString();

                                                                    }
                                                                    //เข้าไปดึง specimen ใน table master specimen โดยดึงตาม Code ที่กำหนด
                                                                    DataTable spMasterdt = db.Select_Specimen_By_Name(spedt.Rows[0]["SpecimenCode"].ToString());
                                                                    if (spMasterdt != null && spMasterdt.Rows.Count > 0)
                                                                    {
                                                                        #region setConvertResult
                                                                        if (!clsTempData.setConvertResult(out outMessage2,
                                                                            "",
                                                                            "",
                                                                            "เข้าไปดึง specimen ใน table master specimen โดยดึงตาม Code ที่กำหนด",
                                                                            "Found",
                                                                            ""))
                                                                        {
                                                                            MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                                        }
                                                                        #endregion
                                                                        //Insert ข้อมูล Specimen เข้า table RequestDetailSpecimen
                                                                        if(db.Insert_RequestDetailSpecimen(retreqdet, "NULL", "'Manual Entry'"
                                                                                , spMasterdt.Rows[0]["UID"].ToString(), spMasterdt.Rows[0]["Name"].ToString(), "0", "0"
                                                                                , "3", "0", "NULL", "0", "0", Cuser, "'Mass Convert'", Cuser
                                                                                , OwnerOrganization, "NULL", "NULL", "Specimen Collected", "''", "NULL", "NULL"))
                                                                        {
                                                                            #region setConvertResult
                                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                                "",
                                                                                "",
                                                                                "Insert ข้อมูล Specimen เข้า table RequestDetailSpecimen",
                                                                                "Success",
                                                                                ""))
                                                                            {
                                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                                            }
                                                                            #endregion
                                                                        }
                                                                        else
                                                                        {
                                                                            #region setConvertResult
                                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                                "",
                                                                                "",
                                                                                "Insert ข้อมูล Specimen เข้า table RequestDetailSpecimen",
                                                                                "Fail",
                                                                                ""))
                                                                            {
                                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                                            }
                                                                            #endregion
                                                                        }
                                                                    }
                                                                    else
                                                                    {
                                                                        #region setConvertResult
                                                                        if (!clsTempData.setConvertResult(out outMessage2,
                                                                            "",
                                                                            "",
                                                                            "เข้าไปดึง specimen ใน table master specimen โดยดึงตาม Code ที่กำหนด",
                                                                            "Not Found",
                                                                            ""))
                                                                        {
                                                                            MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                                        }
                                                                        #endregion
                                                                    }
                                                                }
                                                            }
                                                            else
                                                            {
                                                                #region setConvertResult
                                                                if (!clsTempData.setConvertResult(out outMessage2,
                                                                    "",
                                                                    "",
                                                                    "หาข้อมูลว่ามีการ PreOrder แล้วหรือยัง",
                                                                    "No",
                                                                    "OrderNo:" + OrderNo))
                                                                {
                                                                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                                }
                                                                #endregion
                                                            }
                                                            patorddetails = db.insert_PatientOrderDetail(SEQ, retreqdet
                                                            , IdentTypeforOrderDetail, Cuser, SchDetdt.Rows[j]["BillableItemUID"].ToString(), "mass convert"
                                                            , orddetstatus, SchDetdt.Rows[j]["Quantity"].ToString()
                                                            , SchDetdt.Rows[j]["OrderSubCategoryUID"].ToString()
                                                            , SchDetdt.Rows[j]["ORDCTUID"].ToString()
                                                            , SchDetdt.Rows[j]["Amount"].ToString()
                                                            , (NetAmount == "0" ? SchDetdt.Rows[j]["Amount"].ToString() : NetAmount)
                                                            , SchDetdt.Rows[j]["Amount"].ToString()
                                                            , dtPTPck.Rows[0]["PatientPackageUID"].ToString(), OwnerOrganization, patientVisitPayorUID);
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "insert_PatientOrderDetail",
                                                                "Success",
                                                                "PatientOrderDetailUID:"+ patorddetails))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                            //Packuid
                                                        } //if (retreqdt !="")
                                                        else
                                                        {
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "Insert ข้อมูลเข้า table RequestDetail แล้ว return UID กลับมา",
                                                                "Fail",
                                                                ""))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                        }

                                                        DataTable lsdt = db.GetRequestDetail_Status(SpecialSEQ);
                                                        if (lsdt != null && lsdt.Rows.Count > 0)
                                                        {
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "GetRequestDetail_Status",
                                                                "Found",
                                                                "SpecialSEQ:" + SpecialSEQ))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                            var cstat = CheckStatus(lsdt).Split('|');
                                                            if (cstat.Count() == 2)
                                                            {
                                                                db.Update_Request_By_LabNumber(SpecialSEQ, cstat[0].ToString());
                                                                #region setConvertResult
                                                                if (!clsTempData.setConvertResult(out outMessage2,
                                                                    "",
                                                                    "",
                                                                    "Update_Request_By_LabNumber",
                                                                    "Success",
                                                                    ""))
                                                                {
                                                                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                                }
                                                                #endregion
                                                            }
                                                            else
                                                            {
                                                                #region setConvertResult
                                                                if (!clsTempData.setConvertResult(out outMessage2,
                                                                    "",
                                                                    "",
                                                                    "Update_Request_By_LabNumber",
                                                                    "Fail",
                                                                    ""))
                                                                {
                                                                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                                }
                                                                #endregion
                                                            }
                                                        }// if (lsdt != null && lsdt.Rows.Count > 0)
                                                        else
                                                        {
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "GetRequestDetail_Status",
                                                                "Not Found",
                                                                "SpecialSEQ:" + SpecialSEQ))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                        }

                                                    }//if (OrderCateType.ToString().ToLower()=="lab")
                                                    else if (OrderCateType.ToString().ToLower() == "xray")
                                                    {
                                                        //requid = db.Insert_Request(patvisituid
                                                        //  , Schdt.Rows[x]["PatientUID"].ToString(), Cuser, SpecialSEQ, "Executed"
                                                        //  , cbLocationOrder.SelectedValue.ToString(), ordtoval, OwnerOrganization);

                                                        requid = db.Insert_Request(patvisituid
                                                          , Schdt.Rows[x]["PatientUID"].ToString(), Cuser, SpecialSEQ, "Executed"
                                                          , Location_UID, ordtoval, OwnerOrganization);
                                                        #region setConvertResult
                                                        if (!clsTempData.setConvertResult(out outMessage2,
                                                            "",
                                                            "",
                                                            "Insert_Request",
                                                            "Success",
                                                            "requid:"+ requid))
                                                        {
                                                            MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                        }
                                                        #endregion

                                                        db.Update_PatientOrder_By_UID(patorderuid, requid);
                                                        #region setConvertResult
                                                        if (!clsTempData.setConvertResult(out outMessage2,
                                                            "",
                                                            "",
                                                            "Update_PatientOrder_By_UID",
                                                            "Success",
                                                            "PatientOrderUID:" + patorderuid))
                                                        {
                                                            MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                        }
                                                        #endregion

                                                        string retreqdet = db.Insert_RequestDetail(SchDetdt.Rows[j]["itemUID"].ToString(),
                                                               requid, Cuser, SchDetdt.Rows[j]["Comments"].ToString(), "Executed", OwnerOrganization);
                                                        if (retreqdet != "")
                                                        {
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "Insert_RequestDetail",
                                                                "Success",
                                                                "retreqdet:" + retreqdet))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                            patorddetails = db.insert_PatientOrderDetail(SEQ, retreqdet
                                                               , IdentTypeforOrderDetail, Cuser, SchDetdt.Rows[j]["BillableItemUID"].ToString(), "mass convert"
                                                               , orddetstatus, SchDetdt.Rows[j]["Quantity"].ToString()
                                                               , SchDetdt.Rows[j]["OrderSubCategoryUID"].ToString()
                                                               , SchDetdt.Rows[j]["ORDCTUID"].ToString()
                                                               , SchDetdt.Rows[j]["Amount"].ToString()
                                                               , (NetAmount == "0" ? SchDetdt.Rows[j]["Amount"].ToString() : NetAmount)
                                                               , SchDetdt.Rows[j]["Amount"].ToString()
                                                               , dtPTPck.Rows[0]["PatientPackageUID"].ToString(), OwnerOrganization, patientVisitPayorUID);
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "insert_PatientOrderDetail",
                                                                "Success",
                                                                "patorddetails:" + patorddetails))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                            //packuid

                                                        }//if (retreqdet != "")
                                                        else
                                                        {
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "Insert_RequestDetail",
                                                                "Fail",
                                                                ""))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                        }
                                                    }//if (OrderCateType.ToString().ToLower()=="xray")
                                                }//if (Identype=="REQUEST")
                                                else// for Identype = "ORDER"
                                                {
                                                    patorddetails = db.insert_PatientOrderDetail(SEQ, SchDetdt.Rows[j]["ItemUID"].ToString()
                                                        , IdentTypeforOrderDetail, Cuser, SchDetdt.Rows[j]["BillableItemUID"].ToString(), "mass convert"
                                                        , orddetstatus, SchDetdt.Rows[j]["Quantity"].ToString()
                                                        , SchDetdt.Rows[j]["OrderSubCategoryUID"].ToString()
                                                        , SchDetdt.Rows[j]["ORDCTUID"].ToString()
                                                        , SchDetdt.Rows[j]["Amount"].ToString()
                                                        , (NetAmount == "0" ? SchDetdt.Rows[j]["Amount"].ToString() : NetAmount)
                                                        , SchDetdt.Rows[j]["Amount"].ToString()
                                                        , dtPTPck.Rows[0]["PatientPackageUID"].ToString(), OwnerOrganization, patientVisitPayorUID);
                                                    #region setConvertResult
                                                    if (!clsTempData.setConvertResult(out outMessage2,
                                                        "",
                                                        "",
                                                        "insert_PatientOrderDetail",
                                                        "Success",
                                                        "patorddetails:" + patorddetails))
                                                    {
                                                        MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                    }
                                                    #endregion
                                                    //packuid
                                                }//=================================================================================

                                                //**********************************************************
                                                //INSERT PATIENTBILLABLEITEM SECTION
                                                //IdentifyingUID = SchDetdt.Rows[j]["ItemUID"].ToString()

                                                //**********************************************************

                                                //IdentifyingType = REQUESTITEM , OrderType = REQUEST
                                                //IdentifyingType = ORDITEM , OrderType = PATIENTORDER

                                                if (Identype == "REQUEST")//ถ้าเป็น Order Lab , Xray
                                                {
                                                    if (OrderCateType.ToString().ToLower() == "lab")
                                                    {
                                                        //error
                                                        if(db.Insert_BillableItem(Schdt.Rows[x]["PatientUID"].ToString()
                                                        , patvisituid, SchDetdt.Rows[j]["ItemUID"].ToString(), "'REQUESTITEM'", Cuser, OwnerOrganization
                                                        , SchDetdt.Rows[j]["BSMDDUID"].ToString(), SchDetdt.Rows[j]["Amount"].ToString()
                                                        , (NetAmount == "0" ? SchDetdt.Rows[j]["Amount"].ToString() : NetAmount), SchDetdt.Rows[j]["BillableItemUID"].ToString()
                                                        , SchDetdt.Rows[j]["Quantity"].ToString(), "null", "null", SchDetdt.Rows[j]["Comments"].ToString()
                                                        , "null", "null", dtPTPck.Rows[0]["PatientPackageUID"].ToString(), "'REQUEST'", requid, patorddetails, "Specimen Collected"))
                                                        {
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "Insert_BillableItem",
                                                                "Success",
                                                                ""))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                        }
                                                        else
                                                        {
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "Insert_BillableItem",
                                                                "Fail",
                                                                ""))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                        }
                                                        //packuid
                                                        countSuccess += 1;
                                                    }
                                                    else//(OrderCateType.ToString().ToLower() == "xray")
                                                    {
                                                        if(db.Insert_BillableItem(Schdt.Rows[x]["PatientUID"].ToString()
                                                        , patvisituid, SchDetdt.Rows[j]["ItemUID"].ToString(), "'REQUESTITEM'", Cuser, OwnerOrganization
                                                        , SchDetdt.Rows[j]["BSMDDUID"].ToString(), SchDetdt.Rows[j]["Amount"].ToString()
                                                        , (NetAmount == "0" ? SchDetdt.Rows[j]["Amount"].ToString() : NetAmount), SchDetdt.Rows[j]["BillableItemUID"].ToString()
                                                        , SchDetdt.Rows[j]["Quantity"].ToString(), "null", "null", SchDetdt.Rows[j]["Comments"].ToString()
                                                        , "null", "null", dtPTPck.Rows[0]["PatientPackageUID"].ToString(), "'REQUEST'", requid, patorddetails, "Executed"))
                                                        {
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "Insert_BillableItem",
                                                                "Success",
                                                                ""))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                        }
                                                        else
                                                        {
                                                            #region setConvertResult
                                                            if (!clsTempData.setConvertResult(out outMessage2,
                                                                "",
                                                                "",
                                                                "Insert_BillableItem",
                                                                "Fail",
                                                                ""))
                                                            {
                                                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                            }
                                                            #endregion
                                                        }
                                                        //packuid
                                                        countSuccess += 1;
                                                    }
                                                }
                                                else //ถ้าเป็น Order อื่น ๆ
                                                {

                                                    if(db.Insert_BillableItem(Schdt.Rows[x]["PatientUID"].ToString()
                                                        , patvisituid, SchDetdt.Rows[j]["ItemUID"].ToString(), "'ORDITEM'", Cuser, OwnerOrganization
                                                        , SchDetdt.Rows[j]["BSMDDUID"].ToString(), SchDetdt.Rows[j]["Amount"].ToString()
                                                        , (NetAmount == "0" ? SchDetdt.Rows[j]["Amount"].ToString() : NetAmount), SchDetdt.Rows[j]["BillableItemUID"].ToString()
                                                        , SchDetdt.Rows[j]["Quantity"].ToString(), "null", "null", SchDetdt.Rows[j]["Comments"].ToString()
                                                        , "null", "null", dtPTPck.Rows[0]["PatientPackageUID"].ToString(), "'PATIENTORDER'", patorderuid, patorddetails, "Raised"))
                                                    {
                                                        #region setConvertResult
                                                        if (!clsTempData.setConvertResult(out outMessage2,
                                                            "",
                                                            "",
                                                            "Insert_BillableItem",
                                                            "Success",
                                                            ""))
                                                        {
                                                            MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                        }
                                                        #endregion
                                                    }
                                                    else
                                                    {
                                                        #region setConvertResult
                                                        if (!clsTempData.setConvertResult(out outMessage2,
                                                            "",
                                                            "",
                                                            "Insert_BillableItem",
                                                            "Fail",
                                                            ""))
                                                        {
                                                            MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                                        }
                                                        #endregion
                                                    }
                                                    //packuid
                                                    countSuccess += 1;

                                                    //db.Insert_PatientBillableItem(SchDetdt.Rows[j]["UID"].ToString()
                                                    //                                        , packuid, patorddetails, "ORDITEM", patorderuid, "Raised", OwnerOrganization);

                                                }
                                            }//if (flaginsertPatientOrder)
                                        }//if (catdt.Rows[i]["Value"].ToString().ToLower() == SchDetdt.Rows[j][""].ToString())

                                    }//for (int j = 0; j < SchDetdt.Rows.Count; j++)
                                }//for (int i = 0; i < catdt.Rows.Count; i++)  ลูปตาม OrderCat

                                //=================== ส่ง EN ไป update ใน table Patient ของโปรแกรม Contact Checkup
                                string strPayor = db.Select_Payor(patvisituid);
                                db.Update_EN_IN_ContactCheckup(Schdt.Rows[x]["ScheduleOrderNumber"].ToString(), visitno, strPayor);
                                #region setConvertResult
                                if (!clsTempData.setConvertResult(out outMessage2,
                                    "",
                                    "",
                                    "ส่ง EN ไป update ใน table Patient ของโปรแกรม Contact Checkup",
                                    "Success",
                                    "ScheduleOrderNumber:"+ Schdt.Rows[x]["ScheduleOrderNumber"].ToString() + " EN:"+ visitno))
                                {
                                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                                #endregion

                                //==================== Update ใน table tblPatientList ว่าคนไข้คนนี้ได้ทำการ Convert แล้ว
                                Update_Status_In_TblPatientList(Schdt.Rows[x]["ScheduleOrderNumber"].ToString());
                                #region setConvertResult
                                if (!clsTempData.setConvertResult(out outMessage2,
                                    "",
                                    "",
                                    "Update ใน table tblPatientList ว่าคนไข้คนนี้ได้ทำการ Convert แล้ว",
                                    "Success",
                                    "ScheduleOrderNumber:" + Schdt.Rows[x]["ScheduleOrderNumber"].ToString()))
                                {
                                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                                #endregion

                                //========= Insert table PatientServiceEvent เพื่อให้สามารถค้นหาหน้า Patient List ได้
                                db.Insert_PatientServiceEvent(patvisituid);
                                #region setConvertResult
                                if (!clsTempData.setConvertResult(out outMessage2,
                                    "",
                                    "",
                                    "Insert table PatientServiceEvent เพื่อให้สามารถค้นหาหน้า Patient List ได้",
                                    "Success",
                                    "PatientVisitUID:" + patvisituid))
                                {
                                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                                #endregion
                            }
                            else
                            {
                                #region setConvertResult
                                if (!clsTempData.setConvertResult(out outMessage2,
                                    "",
                                    "",
                                    "หา BillableItem ของ Order ของคนไข้คนนี้ตาม BSMDD",
                                    "Not Found",
                                    "UID:" + Schdt.Rows[x]["UID"].ToString()))
                                {
                                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                                #endregion
                            }
                        }
                        else
                        {
                            #region setConvertResult
                            if (!clsTempData.setConvertResult(out outMessage2,
                                "",
                                "",
                                "หา BillPackageItem ทั้งหมดของคนไข้คนนี้",
                                "Not Found",
                                "UID:" + Schdt.Rows[x]["UID"].ToString()))
                            {
                                MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                            #endregion
                        }
                    }
                    else
                    {
                        countExist += 1;
                        #region setConvertResult
                        if (!clsTempData.setConvertResult(out outMessage2,
                            "",
                            "",
                            "เช็คว่ามีการ Convert แล้วหรือยัง",
                            "Yes",
                            "PatientVisitUID:" + Schdt.Rows[x]["PatientVisitUID"].ToString()))
                        {
                            MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage2, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        #endregion
                    }
                    #region MassConvertLog
                    if (MassConvertLogEnable == "true")
                    {
                        if (MassConvertLogUID != "")
                        {
                            clsSQL.Execute("UPDATE MassConvertLog SET EndWhen=GETDATE() WHERE UID="+MassConvertLogUID+";", clsSQLNative.DBType.SQLServer, "MobieConnect");
                        }
                    }
                    #endregion
                }//
            }//if (Schdt != null && Schdt.Rows.Count > 0)
            else
            {
                if (!clsTempData.setConvertResult(out outMessage,
                        "",
                        "",
                        "Select_PatientScheduleOrder",
                        "Not found",
                        "OrderNo:" + OrderNo))
                {
                    MessageBox.Show("เกิดข้อผิดพลาดขณะสร้างหน้าสรุปการ Convert" + Environment.NewLine + outMessage, "setConvertResult", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                countFail += 1;
            }
        }
        private void Find()
        {
            //if (ddlIsConverted.InvokeRequired)
            //{
            //    ddlIsConverted.Invoke(new MethodInvoker(delegate
            //    {
            //        ddlIsConverted.SelectedIndex = 0;
            //    }));
            //}
            //else
            //{
            //    ddlIsConverted.SelectedIndex = 0;
            //}
            setRadButton(btFind, false);
            setPictureBox(pbCountPT, true);
            setLabel(lblCountPT, "");
            System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
            ExcData exc = new ExcData();
            if (gvPatient.InvokeRequired)
            {
                gvPatient.Invoke(new MethodInvoker(delegate
                {
                    if (gvPatient.Rows.Count > 0)
                    {
                        gvPatient.DataSource = null;
                        gvPatient.Rows.Clear();
                    }
                }));
            }
            else
            {
                if (gvPatient.Rows.Count > 0)
                {
                    gvPatient.DataSource = null;
                    gvPatient.Rows.Clear();
                }
            }
            string DateFrom = dtpDateFrom.Value.ToString("yyyy-MM-dd") + " " + dtpTimeFrom.Value.ToString("HH:mm");
            string DateTo = dtpDateTo.Value.ToString("yyyy-MM-dd") + " " + dtpTimeTo.Value.ToString("HH:mm");
            string SQL = string.Empty;
            var strSQL = new StringBuilder();
            var clsSQL = new clsSQLNative();
            var clsTempData = new clsTempData();
            var payor = "";

            #region SQLQuery
            strSQL.Append("SELECT ");
            strSQL.Append("P.NO,");
            strSQL.Append("P.HN,");
            strSQL.Append("LTRIM(REPLACE(P.Name, P.PreName, ''))Name,");
            strSQL.Append("P.LastName,");
            strSQL.Append("P.DOE,");
            strSQL.Append("P.Payor,");
            strSQL.Append("PL.ChildCompany,");
            strSQL.Append("P.StatusOnMobile STS,");
            strSQL.Append("CL.RegDate RegisterDate,");
            strSQL.Append("P.rowguid PatientUID,");
            strSQL.Append("P.SyncWhen,'0' IsConvertPreOrder ");
            strSQL.Append("FROM ");
            strSQL.Append("Patient P ");
            strSQL.Append("INNER JOIN tblCheckList CL ON P.rowguid = CL.PatientUID AND WFID = 1 ");
            if (rbRegister.Checked)
            {
                strSQL.Append("AND (CL.ProStatus='2' OR CL.ProStatus='3') ");
            }
            strSQL.Append("LEFT JOIN tblPatientList PL ON P.rowguid = PL.PatientUID ");
            strSQL.Append("WHERE ");
            strSQL.Append("(CL.RegDate BETWEEN '" + DateFrom + "' AND '" + DateTo + "') ");
            if (rbAll.Checked)
            {
                //SQL += "AND StatusOnMobile in ('A','R') ";
            }
            else if (rbNotRegister.Checked)
            {
                strSQL.Append("AND StatusOnMobile IS NULL ");
            }
            else if (rbRegister.Checked)
            {
                strSQL.Append("AND StatusOnMobile='R' ");
            }
            if (ddlPayor.InvokeRequired)
            {
                ddlPayor.Invoke(new MethodInvoker(delegate
                {
                    if (ddlPayor.SelectedItem.ToString() != "- ทั้งหมด -")
                    {
                        payor = ddlPayor.SelectedItem.ToString();
                        payorChoose = payor;
                        strSQL.Append("AND Payor='" + payor + "' ");
                    }
                }));
            }
            else
            {
                if (ddlPayor.SelectedItem.ToString() != "- ทั้งหมด -")
                {
                    payor = ddlPayor.SelectedItem.ToString();
                    payorChoose = payor;
                    strSQL.Append("AND Payor='" + payor + "' ");
                }
            }
            strSQL.Append("ORDER BY ");
            //strSQL.Append("CL.RegDate ASC;");
            strSQL.Append("DOE DESC;");
            #endregion
            dtPatient = clsSQL.Bind(strSQL.ToString(), clsSQLNative.DBType.SQLServer, "MobieConnect");
            strSQL.Length = 0; strSQL.Capacity = 0;
            clsTempData.dtIsConverted = null;
            if (dtPatient != null && dtPatient.Rows.Count > 0)
            {
                #region Find Min&Max DOE
                var col = dtPatient.Columns["DOE"];
                var minDOE = dtPatient.AsEnumerable()
                    .Select(cols => cols.Field<DateTime>(col.ColumnName))
                    .OrderBy(p => p.Ticks)
                    .FirstOrDefault();
                var maxDOE = dtPatient.AsEnumerable()
                    .Select(cols => cols.Field<DateTime>(col.ColumnName))
                    .OrderByDescending(p => p.Ticks)
                    .FirstOrDefault();
                #endregion
                try
                {
                    //setComboBox(ddlIsConverted, 0);
                }
                catch (Exception) { }
                #region Check IsConvertPreOrder
                for (int i = 0; i < dtPatient.Rows.Count; i++)
                {
                    if (clsTempData.IsConverted(
                        dtPatient.Rows[i]["Name"].ToString(),
                        dtPatient.Rows[i]["LastName"].ToString(),
                        dtPatient.Rows[i]["DOE"].ToString(),
                        minDOE.ToString("yyyy-MM-dd HH:mm"), maxDOE.ToString("yyyy-MM-dd HH:mm")))
                    {
                        dtPatient.Rows[i]["IsConvertPreOrder"] = "1";
                    }
                }
                dtPatient.AcceptChanges();
                #endregion
                #region SearchIsConvertFilter
                /*
                if (ddlIsConverted.InvokeRequired)
                {
                    ddlIsConverted.Invoke(new MethodInvoker(delegate
                    {
                        if (ddlIsConverted.SelectedIndex > 0)
                        {
                            DataView dv = dtPatient.DefaultView;
                            if (ddlIsConverted.SelectedItem.ToString() == "เฉพาะที่ยังไม่ Convert")
                            {
                                dv.RowFilter = "IsConvertPreOrder=0";

                            }
                            else if(ddlIsConverted.SelectedItem.ToString() == "เฉพาะที่ Convert แล้ว")
                            {
                                dv.RowFilter = "IsConvertPreOrder=1";
                            }
                            dtPatient = dv.ToTable();
                        }
                    }));
                }
                */
                #endregion
                if (gvPatient.InvokeRequired)
                {
                    gvPatient.Invoke(new MethodInvoker(delegate
                    {
                        bs.DataSource = dtPatient;
                        gvPatient.DataSource = bs;
                        gvPatient.Columns["No"].Width = 20;
                        gvPatient.Columns["HN"].Width = 100;
                        gvPatient.Columns["Name"].Width = 100;
                        gvPatient.Columns["LastName"].Width = 100;
                        gvPatient.Columns["DOE"].Width = 130;
                        gvPatient.Columns["NO"].Width = 40;
                        gvPatient.Columns["Payor"].Width = 170;
                        gvPatient.Columns["ChildCompany"].Width = 170;
                        gvPatient.Columns["STS"].Width = 40;
                        gvPatient.Columns["RegisterDate"].Width = 130;
                        gvPatient.Columns["SyncWhen"].Width = 130;
                        gvPatient.Columns["IsConvertPreOrder"].IsVisible = false;
                        gvPatient.Columns["PatientUID"].IsVisible = false;
                        gvPatient.Refresh();
                    }));
                }
                else
                {
                    bs.DataSource = dtPatient;
                    gvPatient.DataSource = bs;
                    gvPatient.Columns["No"].Width = 20;
                    gvPatient.Columns["HN"].Width = 100;
                    gvPatient.Columns["Name"].Width = 100;
                    gvPatient.Columns["LastName"].Width = 100;
                    gvPatient.Columns["DOE"].Width = 130;
                    gvPatient.Columns["NO"].Width = 40;
                    gvPatient.Columns["Payor"].Width = 170;
                    gvPatient.Columns["ChildCompany"].Width = 170;
                    gvPatient.Columns["STS"].Width = 40;
                    gvPatient.Columns["RegisterDate"].Width = 130;
                    gvPatient.Columns["SyncWhen"].Width = 130;
                    gvPatient.Columns["IsConvertPreOrder"].IsVisible = false;
                    gvPatient.Columns["PatientUID"].IsVisible = false;
                    gvPatient.Refresh();
                }
                setLabel(lblCountPT, dtPatient.Rows.Count.ToString() + " Record.");
                setLabel(lblIsConvertCount, string.Format("พบข้อมูลตรงเงื่อนไข {0} รายการ", dtPatient.Rows.Count.ToString()));
                CheckAll();
                IsConvertFilter();
            }
            else
            {
                MessageBox.Show("ไม่พบข้อมูลตามเงื่อนไขที่ต้องการ", "No data.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                setLabel(lblCountPT, "0 Record.");
                bs.DataSource = null;
                if (gvPatient.InvokeRequired)
                {
                    gvPatient.Invoke(new MethodInvoker(delegate
                    {
                        gvPatient.DataSource = bs;
                        gvPatient.Refresh();
                    }));
                }
                else
                {
                    gvPatient.DataSource = bs;
                    gvPatient.Refresh();
                }
            }
            setPictureBox(pbCountPT, false);
            setRadButton(btFind, true);
        }
        private void btFind_Click(object sender, EventArgs e)
        {
            System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
            ExcData exc = new ExcData();
            if (gvPatient.Rows.Count > 0) {
                gvPatient.DataSource = null;
                gvPatient.Rows.Clear();
            }

            string DateFrom = dtpDateFrom.Value.ToString("yyyy-MM-dd") + " " + dtpTimeFrom.Value.ToString("HH:mm");
            string DateTo = dtpDateTo.Value.ToString("yyyy-MM-dd") + " " + dtpTimeTo.Value.ToString("HH:mm");
            string SQL = string.Empty;
            var strSQL = new StringBuilder();
            var clsSQL = new clsSQLNative();
            var clsTempData = new clsTempData();

            /*
            SQL = "SELECT [NO] ,HN,Forename as Name , Surname as LastName , DOE , [ChildCompany],[STS],[SyncWhen],'0' IsConvertPreOrder FROM [tblPatientList] WHERE DOE BETWEEN '" + DateFrom + "' AND '" + DateTo + "' ";
            if (rbAll.Checked)
            {
                SQL += "AND STS in ('A','R') ";
            }
            else if (rbNotRegister.Checked)
            {
                SQL += "AND STS='A' ";
            }
            else if (rbRegister.Checked)
            {
                SQL += "AND STS='R' ";
            }
            if (ddlPayor.SelectedItem.Value.ToString() != "")
            {
                SQL += "AND Payor='"+ddlPayor.SelectedItem.Value.ToString()+"' ";
            }
            SQL += "ORDER BY SyncWhen,NO";
            */
            #region SQLQuery
            strSQL.Append("SELECT ");
            strSQL.Append("P.NO,");
            strSQL.Append("P.HN,");
            strSQL.Append("LTRIM(REPLACE(P.Name, P.PreName, ''))Name,");
            strSQL.Append("P.LastName,");
            strSQL.Append("P.DOE,");
            strSQL.Append("PL.ChildCompany,");
            strSQL.Append("P.StatusOnMobile STS,");
            strSQL.Append("P.SyncWhen,'0' IsConvertPreOrder,");
            strSQL.Append("P.rowguid PatientUID ");
            strSQL.Append("FROM ");
            strSQL.Append("Patient P ");
            strSQL.Append("LEFT JOIN tblPatientList PL ON P.rowguid = PL.PatientUID ");
            if (rbRegister.Checked)
            {
                strSQL.Append("INNER JOIN tblCheckList CL ON P.rowguid = CL.PatientUID AND CL.WFID=1 AND (CL.ProStatus='3' OR CL.ProStatus='2') ");
            }
            strSQL.Append("WHERE ");
            strSQL.Append("(P.DOE BETWEEN '"+DateFrom+"' AND '"+DateTo+"') ");
            strSQL.Append("AND PL.HNStatus='A' ");
            if (rbAll.Checked)
            {
                //SQL += "AND StatusOnMobile in ('A','R') ";
            }
            else if (rbNotRegister.Checked)
            {
                strSQL.Append("AND StatusOnMobile IS NULL ");
            }
            else if (rbRegister.Checked)
            {
                strSQL.Append("AND StatusOnMobile='R' ");
            }
            if (ddlPayor.SelectedItem.ToString() != "- ทั้งหมด -")
            {
                strSQL.Append("AND Payor='" + ddlPayor.SelectedItem.ToString() + "' ");
            }
            strSQL.Append("ORDER BY SyncWhen,NO;");
            #endregion
            dtPatient = clsSQL.Bind(strSQL.ToString(), clsSQLNative.DBType.SQLServer, "MobieConnect");
            strSQL.Length = 0;strSQL.Capacity = 0;
            clsTempData.dtIsConverted = null;
            if(dtPatient!=null && dtPatient.Rows.Count > 0)
            {
                try
                {
                    ddlIsConverted.SelectedIndex = 0;
                }
                catch (Exception) { }
                #region Check IsConvertPreOrder
                for(int i = 0; i < dtPatient.Rows.Count; i++)
                {
                    if (clsTempData.IsConverted(
                        dtPatient.Rows[i]["Name"].ToString(),
                        dtPatient.Rows[i]["LastName"].ToString(),
                        dtPatient.Rows[i]["DOE"].ToString(),
                        DateFrom,DateTo))
                    {
                        dtPatient.Rows[i]["IsConvertPreOrder"] = "1";
                    }
                }
                dtPatient.AcceptChanges();
                #endregion
                bs.DataSource = dtPatient;
                gvPatient.DataSource = bs;

                gvPatient.Columns["No"].Width = 20;
                gvPatient.Columns["HN"].Width = 100;
                gvPatient.Columns["Name"].Width = 100;
                gvPatient.Columns["LastName"].Width = 100;
                gvPatient.Columns["DOE"].Width = 130;
                gvPatient.Columns["NO"].Width = 40;
                gvPatient.Columns["ChildCompany"].Width = 170;
                gvPatient.Columns["STS"].Width = 40;
                gvPatient.Columns["SyncWhen"].Width = 130;
                gvPatient.Columns["IsConvertPreOrder"].IsVisible = false;
                gvPatient.Columns["PatientUID"].IsVisible = false;
                gvPatient.Refresh();

                lblCountPT.Text = dtPatient.Rows.Count.ToString() + " Record.";
                lblIsConvertCount.Text = dtPatient.Rows.Count.ToString();

                CheckAll();
            }
            else
            {
                MessageBox.Show("ไม่พบข้อมูลตามเงื่อนไขที่ต้องการ", "No data.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                lblCountPT.Text = "0 Record.";
                bs.DataSource = null;
                gvPatient.DataSource = bs;
                gvPatient.Refresh();
            }
        }
Ejemplo n.º 8
0
 public string setPatientChecklistToMobile(string PatientGUID, string Episode, string HN, out int countChecklistSuccess, out int countChecklistExist, out int countChecklistFail, out int countChecklistUpdate)
 {
     System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
     #region Variable
     var result = "F";//F=False , S=Success , E=Exist , U=Update
     var dt = new DataTable();
     var outSQL = "";
     var clsSQLMain = new clsSQL(clsGlobal.dbTypeMain, clsGlobal.csMain);
     var clsSQLMobile = new clsSQL(clsGlobal.dbType, clsGlobal.cs);
     var clsTempData = new clsTempData();
     var strSQL = "";
     countChecklistSuccess = 0; countChecklistFail = 0; countChecklistExist = 0; countChecklistUpdate = 0;
     #endregion
     #region Procedure
     dt = clsTempData.getPatientChecklist(PatientGUID, Episode, HN);
     if (dt != null && dt.Rows.Count > 0)
     {
         for (int i = 0; i < dt.Rows.Count; i++)
         {
             var proStatusMobile = "";
             strSQL = "SELECT IFNULL(ProStatus,0)ProStatus FROM patientchecklist WHERE RowID=" + dt.Rows[i]["RowID"].ToString() + ";";
             proStatusMobile = clsSQLMobile.Return(strSQL);
             if (proStatusMobile == "")
             {
                 #region Insert
                 if (!clsSQLMobile.Insert(
                     "patientchecklist",
                     new string[,]
                     {
                         {"RowID",dt.Rows[i]["RowID"].ToString() },
                         {"PatientGUID","'"+PatientGUID+"'" },
                         {"HN","'"+HN+"'" },
                         {"Episode","'"+Episode+"'" },
                         {"CheckListID",dt.Rows[i]["CheckListID"].ToString() },
                         {"ProChkList","'"+dt.Rows[i]["ProChkList"].ToString()+"'" },
                         {"ProID",dt.Rows[i]["ProID"].ToString() },
                         {"WorkFlow","'"+dt.Rows[i]["WorkFlow"].ToString()+"'" },
                         {"WFID",dt.Rows[i]["WFID"].ToString() },
                         {"WFSequen",dt.Rows[i]["WFSequen"].ToString() },
                         {"ProStatus",dt.Rows[i]["ProStatus"].ToString() },
                         {"RegDate","NULL" },
                         {"ModifyDate","NULL" },
                         {"SyncStatus",(dt.Rows[i]["SyncWhen"]!=DBNull.Value?"'1'":"'0'") },
                         {"SyncWhen",(dt.Rows[i]["SyncWhen"]!=DBNull.Value?"'"+DateTime.Parse(dt.Rows[i]["SyncWhen"].ToString()).ToString("yyyy-MM-dd HH:mm")+"'":"NULL") },
                         {"CUser","'"+clsGlobal.WindowsLogon()+"'" },
                         {"MWhen","NOW()" },
                         {"MUser","'"+clsGlobal.WindowsLogon()+"'" },
                     },
                     new string[,] { { } },
                     out outSQL, true
                     ))
                 {
                     result = "F";
                     countChecklistFail += 1;
                 }
                 else
                 {
                     result = "S";
                     countChecklistSuccess += 1;
                 }
                 #endregion
             }
             else if (int.Parse(dt.Rows[i]["ProStatus"].ToString()) > int.Parse(proStatusMobile))
             {
                 #region Update
                 if (!clsSQLMobile.Update(
                     "patientchecklist",
                     new string[,]
                     {
                         {"ProStatus",dt.Rows[i]["ProStatus"].ToString() },
                         {"RegDate",(dt.Rows[i]["RegDate"]!=DBNull.Value?"'"+DateTime.Parse(dt.Rows[i]["RegDate"].ToString()).ToString("yyyy-MM-dd HH:mm")+"'":"NULL") },
                         {"ModifyDate",(dt.Rows[i]["ModifyDate"]!=DBNull.Value?"'"+DateTime.Parse(dt.Rows[i]["ModifyDate"].ToString()).ToString("yyyy-MM-dd HH:mm")+"'":"NULL") },
                         {"SyncStatus","'0'" },
                         {"SyncWhen","NOW()" },
                         {"CUser","'"+clsGlobal.WindowsLogon()+"'" },
                         {"MWhen","NOW()" },
                         {"MUser","'"+clsGlobal.WindowsLogon()+"'" },
                     },
                     new string[,] { { } },
                     "RowID="+ dt.Rows[i]["RowID"].ToString(),
                     out outSQL, true
                     ))
                 {
                     result = "F";
                     countChecklistFail += 1;
                 }
                 else
                 {
                     result = "U";
                     countChecklistUpdate += 1;
                 }
                 #endregion
             }
             else
             {
                 result = "E";
                 countChecklistExist += 1;
             }
         }
     }
     #endregion
     return result;
 }
Ejemplo n.º 9
0
        private void ExportLab()
        {
            try
            {
                #region ReportType
                var type = getDropDownListValue(ddlType, "Name");
                var reportType = "";
                switch (type)
                {
                    case "All":
                        reportType = "ALL";
                        break;
                    case "Payor":
                        reportType = "PAYOR";
                        if (getDropDownListValue(ddlCompany, "Payor") != "- ทั้งหมด -")
                        {
                            reportType += " - " + getDropDownListValue(ddlCompany, "Payor");
                        }
                        break;
                    case "Book":
                        reportType = "BOOK";
                        if (getDropDownListValue(ddlCompany, "BookCreate") != "- ทั้งหมด -")
                        {
                            reportType += " - " + getDropDownListValue(ddlCompany, "BookCreate");
                        }
                        break;
                    default:
                        break;
                }
                #endregion

                var clsTempData = new clsTempData();
                var FileName = clsGlobal.ExecutePathBuilder() + @"Export\" + "LAB-"+ reportType + "_" + DateTime.Now.ToString("dd-MM-yyyy-HH-mm") + ".xlsx";
                var dt = new DataTable();
                FileInfo newFile = new FileInfo(FileName);
                if (newFile.Exists)
                {
                    newFile.Delete();
                    newFile = new FileInfo(FileName);
                }
                using (ExcelPackage package = new ExcelPackage(newFile))
                {
                    var rows = 1;
                    #region LabDetail
                    try
                    {
                        dt = null; rows = 1;
                        dt = clsTempData.getLabDetail(dtDOEFrom.Value, dtDOETo.Value);
                        #region CreateGroupSheet
                        var dtSheet = new DataTable();
                        if (type == "All")
                        {
                            dtSheet.Columns.Add("All");
                            dtSheet.Rows.Add("All");
                        }
                        else if (type == "Payor")
                        {
                            dtSheet = dt.DefaultView.ToTable(true, "Payor");
                        }
                        else if (type == "Book")
                        {
                            dtSheet = dt.DefaultView.ToTable(true, "BookCreate");
                        }
                        #endregion
                        if (dt != null && dt.Rows.Count > 0)
                        {
                            for(int ii = 0; ii < dtSheet.Rows.Count; ii++)
                            {
                                #region DataFilter
                                var sheetName = "";
                                var dtDetail = new DataTable();
                                var dvDetail = new DataView(dt);
                                if (type == "All")
                                {
                                    dtDetail = dt;
                                    sheetName = "All";
                                }
                                else if (type == "Payor")
                                {
                                    sheetName = dtSheet.Rows[ii][0].ToString();
                                    dvDetail.RowFilter = "Payor='" + dtSheet.Rows[ii][0].ToString() + "'";
                                    dtDetail = dvDetail.ToTable();
                                }
                                else if (type == "Book")
                                {
                                    sheetName = dtSheet.Rows[ii][0].ToString();
                                    dvDetail.RowFilter = "BookCreate='" + dtSheet.Rows[ii][0].ToString() + "'";
                                    dtDetail = dvDetail.ToTable();
                                }
                                #endregion
                                ExcelWorksheet worksheetLabDetail = package.Workbook.Worksheets.Add(sheetName);
                                worksheetLabDetail.TabColor = ColorTranslator.FromHtml("#B5E61D");

                                #region HeaderBuilder
                                int c;
                                for (c = 0; c <= dtDetail.Columns.Count - 1; c++)
                                {
                                    worksheetLabDetail.Cells[rows, c + 1].Value = dtDetail.Columns[c].ColumnName;
                                    worksheetLabDetail.Cells[rows, c + 1].Style.Font.Bold = true;
                                    worksheetLabDetail.Cells[rows, c + 1].Style.Font.Name = "Angsana New";
                                    worksheetLabDetail.Cells[rows, c + 1].Style.Font.Size = 14;
                                    worksheetLabDetail.Cells[rows, c + 1].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
                                    worksheetLabDetail.Cells[rows, c + 1].Style.Font.Color.SetColor(Color.White);
                                    worksheetLabDetail.Cells[rows, c + 1].Style.Fill.BackgroundColor.SetColor(System.Drawing.ColorTranslator.FromHtml("#31b0d3"));
                                    worksheetLabDetail.Cells[rows, c + 1].Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;
                                    worksheetLabDetail.Cells[rows, c + 1].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                                }
                                #endregion
                                #region RowsBuilder
                                DateTime outDateTime;
                                for (int r = 0; r < dtDetail.Rows.Count; r++)
                                {
                                    for (c = 0; c < dtDetail.Columns.Count; c++)
                                    {
                                        if(DateTime.TryParse(dtDetail.Rows[r][c].ToString(),out outDateTime))
                                        {
                                            worksheetLabDetail.Cells[rows + r + 1, c + 1].Style.Numberformat.Format = "dd/MM/yyyy HH:mm";
                                        }
                                        worksheetLabDetail.Cells[rows + r + 1, c + 1].Value = dtDetail.Rows[r][c];
                                        worksheetLabDetail.Cells[rows + r + 1, c + 1].Style.Font.Name = "Angsana New";
                                        worksheetLabDetail.Cells[rows + r + 1, c + 1].Style.Font.Size = 14;
                                    }
                                }
                                #endregion
                                #region ResizeColumn
                                for (c = 0; c < dtDetail.Columns.Count; c++)
                                {
                                    worksheetLabDetail.Column(c + 1).AutoFit();
                                }
                                #endregion
                            }
                        }
                    }
                    catch (Exception exDetail)
                    {
                        MessageBox.Show(exDetail.Message, "LabDetail", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    #endregion
                    package.Save();
                    DialogResult dr = MessageBox.Show("Export Seccessful!" + Environment.NewLine + Environment.NewLine + FileName + Environment.NewLine + Environment.NewLine + "ต้องการดูไฟล์คลิก Yes", "Success", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (dr == DialogResult.Yes)
                    {
                        try
                        {
                            System.Diagnostics.Process.Start(Path.GetDirectoryName(FileName));
                        }
                        catch (Exception) { }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "ExportLab Click", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 10
0
        private void setCompany()
        {
            #region Variable
            var dt = new DataTable();
            var clsTempData = new clsTempData();
            #endregion
            #region Procedure
            dt = clsTempData.getCompanyMobile(dtDOEFrom.Value, dtDOETo.Value);

            if (dt != null && dt.Rows.Count > 0)
            {
                var dr = dt.NewRow();
                dr[0] = "- ทั้งหมด -";
                dt.Rows.InsertAt(dr, 0);

                ddlCompany.DataSource = dt;
                ddlCompany.DisplayMember = "Company";
                ddlCompany.ValueMember = "Company";
            }
            else
            {
                ddlCompany.DataSource = null;
            }
            #endregion
        }
Ejemplo n.º 11
0
 private void btSave_Click(object sender, EventArgs e)
 {
     #region Variable
     var clsSQL = new clsSQLNative();
     var clsTempData = new clsTempData();
     var strSQL = new StringBuilder();
     var MassConvertPayorMapUID = "";
     var PayorUID = "";
     var AgreementUID = "";
     var PayorOfficeUID = "";
     var PolicyUID = "";
     #endregion
     #region Procedure
     foreach (ListViewItem lvi in lvDOE.SelectedItems)
     {
         MassConvertPayorMapUID = lvi.SubItems[0].Text;
     }
     #region Validation
     if (MassConvertPayorMapUID.Trim()=="")
     {
         MessageBox.Show("โปรดเลือกช่วงวันที่ออกตรวจก่อน", "Please choose", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         lvDOE.Focus();
         return;
     }
     if (lvPayor.SelectedItems.Count == 0)
     {
         MessageBox.Show("โปรดเลือกรายชื่อบริษัทก่อน", "Please choose", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         lvPayor.Focus();
         return;
     }
     if (lvDOE.SelectedItems.Count == 0)
     {
         MessageBox.Show("โปรดเลือกช่วงวันที่ออกตรวจก่อน", "Please choose", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         lvDOE.Focus();
         return;
     }
     PayorUID = getDropDownListValue(ddlPayor, "UID");
     if (PayorUID == "0")
     {
         MessageBox.Show("โปรดระบุชื่อ Payor ก่อน", "Please choose", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         ddlPayor.Focus();
         return;
     }
     AgreementUID = getDropDownListValue(ddlAgreement, "UID");
     if (AgreementUID.Trim() == "")
     {
         MessageBox.Show("โปรดระบุชื่อ Agreement ก่อน", "Please choose", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         ddlAgreement.Focus();
         return;
     }
     PayorOfficeUID = getDropDownListValue(ddlPayorOffice, "UID");
     if (PayorOfficeUID.Trim() == "")
     {
         MessageBox.Show("โปรดระบุชื่อ PayorOffice ก่อน", "Please choose", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         ddlPayorOffice.Focus();
         return;
     }
     PolicyUID = getDropDownListValue(ddlPolicy, "UID");
     if (PolicyUID.Trim() == "")
     {
         MessageBox.Show("โปรดระบุชื่อ Policy ก่อน", "Please choose", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         ddlPolicy.Focus();
         return;
     }
     #endregion
     #region SQLQuery
     strSQL.Append("UPDATE ");
     strSQL.Append("MassConvertPayorMap ");
     strSQL.Append("SET ");
     strSQL.Append("InsuranceCompanyUID=" + getDropDownListValue(ddlPayor, "UID") + ",");
     strSQL.Append("PayorAgreementUID=" + getDropDownListValue(ddlAgreement, "UID") + ",");
     strSQL.Append("PayorDetailUID=" + getDropDownListValue(ddlPayorOffice, "UID") + ",");
     strSQL.Append("PolicyMasterUID=" + getDropDownListValue(ddlPolicy, "UID") + ",");
     strSQL.Append("MWhen=GETDATE(),");
     strSQL.Append("MUser='******' ");
     strSQL.Append("WHERE ");
     strSQL.Append("UID="+ MassConvertPayorMapUID + ";");
     #endregion
     if (clsSQL.Execute(strSQL.ToString(), clsSQLNative.DBType.SQLServer, "MobieConnect"))
     {
         clsTempData.dtPayor = null;
         setPayor(txtPayorSearch.Text.Trim());
         MessageBox.Show("บันทึกข้อมูลเสร็จสิ้น", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     else
     {
         MessageBox.Show("เกิดข้อผิดพลาดขณะบันทึกข้อมูล"+Environment.NewLine+Environment.NewLine+strSQL.ToString(), "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     #endregion
 }
Ejemplo n.º 12
0
 private void bwDefault_DoWork(object sender, DoWorkEventArgs e)
 {
     #region Control
     if (btStart.InvokeRequired)
     {
         btStart.Invoke(new MethodInvoker(delegate
         {
             btStart.Enabled = false;
         }));
     }
     else
     {
         btStart.Enabled = false;
     }
     if (btStop.InvokeRequired)
     {
         btStop.Invoke(new MethodInvoker(delegate
         {
             btStop.Enabled = true;
         }));
     }
     else
     {
         btStop.Enabled = true;
     }
     if (anLoading.InvokeRequired)
     {
         anLoading.Invoke(new MethodInvoker(delegate
         {
             anLoading.Visible = true;
         }));
     }
     #endregion
     System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
     #region Variable
     var clsTempData = new clsTempData();
     var clsSQLMain = new clsSQL(clsGlobal.dbTypeMain, clsGlobal.csMain);
     var clsSQLMobile = new clsSQL(clsGlobal.dbType, clsGlobal.cs);
     var dtMobile = new DataTable();
     var dtMain = new DataTable();
     var tblPatientListSTS = "";
     var tblPatientStatusOnMobile = "";
     var outSQL = "";
     var outMessage = "";
     var countSuccess = 0; var countFail = 0; var countDuplicate = 0;
     var clsInvoker = new clsInvoker();
     var fileName = "SYNC_"+clsGlobal.ComputerName().Replace(".","")+"_"+DateTime.Now.ToString("yyyyMMddHHmmss")+".xml";
     #endregion
     #region Procedure
     try
     {
         clsGlobal.AddHours = txtAddHours.Text.Trim();
         countSuccess = 0; countFail = 0; countDuplicate = 0;
         dtMobile = clsTempData.getPatientChecklistMobile();
         clsInvoker.setListView(
             lvDefault,
             Color.Green,
             99,
             new string[] {
                 DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Start", "", "เริ่มขั้นตอนการ Sync" }
         );
         if (dtMobile != null && dtMobile.Rows.Count > 0)
         {
             clsInvoker.setListView(
                 lvDefault,
                 Color.Green,
                 99,
                 new string[] {
                     DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Syncing", "", "เตรียมดำเนินการสร้างไฟล์ทั้งหมด "+dtMobile.Rows.Count.ToString()+" รายการ" }
             );
             DirectoryInfo di = new DirectoryInfo(pathSyncLocal);
             if (!di.Exists)
             {
                 clsInvoker.setListView(
                         lvDefault,
                         Color.Red,
                         99,
                         new string[] {
                             DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Fail", "", "Folder's not exist. : "+di.FullName }
                         );
                 di.Create();
                 clsInvoker.setListView(
                         lvDefault,
                         Color.Green,
                         99,
                         new string[] {
                             DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Success", "", "สร้างโฟล์เดอร์เรียบร้อย : "+di.FullName }
                         );
             }
             FileInfo fi = new FileInfo(string.Format("{0}{1}", di.FullName, fileName));
             if (fi.Exists) { fi.Delete(); }
             if (XMLCreator(dtMobile, fi.FullName))
             {
                 clsInvoker.setListView(
                         lvDefault,
                         Color.Green,
                         99,
                         new string[] {
                             DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Success", "", "Export File Success "+dtMobile.Rows.Count.ToString()+" records. : "+fi.FullName }
                         );
                 try
                 {
                     #region CopyToServer
                     FileInfo fiServer = new FileInfo(string.Format("{0}{1}", pathSync, fileName));
                     if (fiServer.Exists)
                     {
                         clsInvoker.setListView(
                             lvDefault,
                             Color.Orange,
                             99,
                             new string[] {
                             DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Exist", "", "File Exist : "+fiServer.FullName }
                             );
                         try
                         {
                             fiServer.Delete();
                             clsInvoker.setListView(
                                 lvDefault,
                                 Color.Green,
                                 99,
                                 new string[] {
                                 DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Success", "", "Delete Exist" }
                                 );
                         }
                         catch (Exception exDelete)
                         {
                             clsInvoker.setListView(
                                 lvDefault,
                                 Color.Red,
                                 99,
                                 new string[] {
                                 DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Fail", "", "Delete Exist : "+exDelete.Message }
                                 );
                         }
                     }
                     try
                     {
                         clsInvoker.setListView(
                                 lvDefault,
                                 Color.Orange,
                                 99,
                                 new string[] {
                             DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Processing...", "", "Copy file to server : "+fiServer.FullName }
                                 );
                         fi.CopyTo(fiServer.FullName);
                         clsInvoker.setListView(
                                 lvDefault,
                                 Color.Green,
                                 99,
                                 new string[] {
                             DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Success", "", "Copy file to server" }
                                 );
                         fi.Delete();
                     }
                     catch (Exception exCopy)
                     {
                         clsInvoker.setListView(
                                 lvDefault,
                                 Color.Red,
                                 99,
                                 new string[] {
                             DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Fail", "", "Copy file to server : "+exCopy.Message }
                                 );
                         //fi.Delete();
                     }
                     #endregion
                 }
                 catch(Exception exCopyFile)
                 {
                     clsInvoker.setListView(
                             lvDefault,
                             Color.Red,
                             99,
                             new string[] {
                             DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Fail", "", "Copy file to server : "+pathSync + fileName+" : "+exCopyFile.Message }
                             );
                 }
             }
             else
             {
                 clsInvoker.setListView(
                         lvDefault,
                         Color.Red,
                         99,
                         new string[] {
                             DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Fail", "", "Export File Fail. : "+fi.FullName }
                         );
             }
             return;
             //clsInvoker.setProgressBar(pbDefault, dtMobile.Rows.Count, 0);
             //for (int i = 0; i < dtMobile.Rows.Count; i++)
             //{
             //    if (bwDefault.CancellationPending)
             //    {
             //        clsInvoker.setListView(
             //            lvDefault,
             //            Color.Green,
             //            99,
             //            new string[] {
             //                DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Cancel", "", "Cancel by user." }
             //            );
             //        e.Cancel = true;
             //        syncTimerSecondCount = 0;
             //        clsInvoker.setProgressBar(pbDefault, dtMobile.Rows.Count, 0);
             //        return;
             //    }
             //    if (!clsSQLMain.IsConnected() || !clsSQLMobile.IsConnected())
             //    {
             //        ListViewBuilder(lvDefault, Color.Red, 99,
             //            new string[] { DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Fail", "", "Cannot connect database." });
             //        continue;
             //    }
             //    #region Update tblPatientListSTS & tblPatientStatusOnMobile
             //    if (dtMobile.Rows[i]["WFID"].ToString().Trim() == "1" && float.Parse(dtMobile.Rows[i]["ProStatus"].ToString().Trim()) >= 2)
             //    {
             //        tblPatientListSTS = clsSQLMain.Return("SELECT STS FROM tblPatientList WHERE PatientUID='" + dtMobile.Rows[i]["PatientGUID"].ToString().Trim() + "';");
             //        tblPatientStatusOnMobile = clsSQLMain.Return("SELECT StatusOnMobile FROM Patient WHERE rowguid='" + dtMobile.Rows[i]["PatientGUID"].ToString().Trim() + "';");
             //        if (tblPatientListSTS != "R" || tblPatientStatusOnMobile != "R")
             //        {
             //            if (clsSQLMain.Execute("UPDATE tblPatientList SET STS='R',SyncWhen=GETDATE() WHERE PatientUID='" + dtMobile.Rows[i]["PatientGUID"].ToString().Trim() + "';UPDATE Patient SET SyncStatus='1',SyncWhen=GETDATE(),StatusOnMobile='R' WHERE rowguid='" + dtMobile.Rows[i]["PatientGUID"].ToString().Trim() + "';"))
             //            {
             //                countSuccess += 1;
             //                ListViewBuilder(lvDefault, Color.Green, 99,
             //                    new string[] { DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Success", dtMobile.Rows[i]["HN"].ToString(), "Update tblPatientList.STS,Patient.StatusOnMobile Complete." });
             //                #region UpdateSyncStatus
             //                if (clsSQLMobile.Update(
             //                    "patient",
             //                    new string[,]
             //                    {
             //                        {"SyncStatus","'1'" },
             //                        {"SyncWhen","SYSDATE()" }
             //                    },
             //                    new string[,] { { } },
             //                    "PatientGUID='" + dtMobile.Rows[i]["PatientGUID"].ToString() + "'",
             //                    out outSQL, true
             //                    ))
             //                {
             //                    ListViewBuilder(lvDefault, Color.Green, 99,
             //                        new string[] { DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Success", dtMobile.Rows[i]["HN"].ToString(), "Update SyncStatus Complete." });
             //                }
             //                else
             //                {
             //                    ListViewBuilder(lvDefault, Color.Red, 99,
             //                        new string[] { DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Fail", dtMobile.Rows[i]["HN"].ToString(), "Update SyncStatus Fail." });
             //                }
             //                #endregion
             //            }
             //            else
             //            {
             //                countFail += 1;
             //                ListViewBuilder(lvDefault, Color.Red, 99,
             //                    new string[] { DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Fail", dtMobile.Rows[i]["HN"].ToString(), "Update tblPatientList.STS Fail." });
             //            }
             //        }
             //    }
             //    #endregion
             //    dtMain = clsTempData.getPatientChecklistMain(dtMobile.Rows[i]["RowID"].ToString());
             //    if (dtMain != null && dtMain.Rows.Count > 0)
             //    {
             //        if (dtMobile.Rows[i]["ProStatus"].ToString().Trim() != dtMain.Rows[0]["ProStatus"].ToString().Trim() ||
             //            dtMobile.Rows[i]["ProStatusRemark"].ToString().Trim() != dtMain.Rows[0]["ProStatusRemark"].ToString().Trim()/* ||
             //        dtMobile.Rows[i]["RegDate"].ToString().Trim() != dtMain.Rows[0]["RegDate"].ToString().Trim() ||
             //        dtMobile.Rows[i]["ModifyDate"].ToString().Trim() != dtMain.Rows[0]["ModifyDate"].ToString().Trim()*/)
             //        {
             //            #region Update
             //            if (!clsSQLMain.Update(
             //                "tblCheckList",
             //                new string[,]
             //                {
             //                {"ProStatus",dtMobile.Rows[i]["ProStatus"].ToString().Trim() },
             //                {"ProStatusRemark","'"+dtMobile.Rows[i]["ProStatusRemark"].ToString().SQLQueryFilter()+"'" },
             //                {"RegDate",(dtMobile.Rows[i]["RegDate"].ToString()!=""?"'"+DateTime.Parse(dtMobile.Rows[i]["RegDate"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")+"'":"NULL") },
             //                {"ModifyDate",(dtMobile.Rows[i]["ModifyDate"].ToString()!=""?"'"+DateTime.Parse(dtMobile.Rows[i]["ModifyDate"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")+"'":"NULL") },
             //                {"SyncWhen","GETDATE()"}
             //                },
             //                new string[,] { { } },
             //                "RowID=" + dtMobile.Rows[i]["RowID"].ToString(), out outSQL, out outMessage, true))
             //            {
             //                #region LogUpdate
             //                countFail += 1;
             //                ListViewBuilder(lvDefault, Color.Red, 99,
             //                    new string[] { DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Fail", dtMobile.Rows[i]["HN"].ToString(), dtMobile.Rows[i]["WorkFlow"].ToString() + " : " + dtMobile.Rows[i]["ProStatus"].ToString().Trim() + "->" + dtMain.Rows[0]["ProStatus"].ToString().Trim() + Environment.NewLine + outMessage });
             //                #endregion
             //            }
             //            else
             //            {
             //                #region LogUpdate
             //                countSuccess += 1;
             //                ListViewBuilder(lvDefault, Color.Green, 99,
             //                    new string[] { DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Success", dtMobile.Rows[i]["HN"].ToString(), dtMobile.Rows[i]["WorkFlow"].ToString() + " : " + dtMobile.Rows[i]["ProStatus"].ToString().Trim() + "->" + dtMain.Rows[0]["ProStatus"].ToString().Trim() });
             //                #endregion
             //            }
             //            #endregion
             //        }
             //    }
             //    else
             //    {
             //        #region LogUpdate
             //        //countDuplicate += 1;
             //        //ListViewBuilder(lvDefault, Color.Blue, 99,
             //        //            new string[] { DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "NoChange", dtMobile.Rows[i]["HN"].ToString(), dtMobile.Rows[i]["WorkFlow"].ToString() + " : " + dtMobile.Rows[i]["ProStatus"].ToString().Trim() + "->" + dtMain.Rows[0]["ProStatus"].ToString().Trim() });
             //        #endregion
             //    }
             //    #region ProgressBar
             //    if (pbDefault.InvokeRequired)
             //    {
             //        pbDefault.Invoke(new MethodInvoker(delegate
             //        {
             //            pbDefault.Value += 1;
             //        }));
             //    }
             //    #endregion
             //}
             //#region ProgressBar
             //if (pbDefault.InvokeRequired)
             //{
             //    pbDefault.Invoke(new MethodInvoker(delegate
             //    {
             //        pbDefault.Visible = false;
             //    }));
             //}
             //#endregion
             //#region LogUpdate
             //ListViewBuilder(lvDefault, Color.Green, 99,
             //    new string[] { DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Summary", "", "SyncSuccess : " + countSuccess.ToString() + " | Fail : " + countFail.ToString() + " | NoChange : " + countDuplicate.ToString() + " " });
             //#endregion
         }
         else
         {
             clsInvoker.setListView(
                 lvDefault,
                 Color.Orange,
                 99,
                 new string[] {
                     DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Warn", "", "ไม่พบข้อมูลสำหรับการ Sync" }
             );
         }
     }
     catch (Exception exMain)
     {
         ListViewBuilder(lvDefault, Color.Red, 99,
             new string[] { DateTime.Now.ToString("dd/MM/yyyy HH:mm"), "Fail", "", exMain.Message });
         ((Default)this.ParentForm).SyncToMainText = "SyncToMain (Syncing Fail)";
         ((Default)this.ParentForm).SyncToMainTextColor = "#ED1C24";
     }
     #endregion
 }
Ejemplo n.º 13
0
        private void setSyncToMobile()
        {
            if (clsGlobal.dtPatient != null && clsGlobal.dtPatient.Rows.Count > 0)
            {
                setChecklistToMobile(clsGlobal.dtPatient);

                var countSuccess = 0; var countFail = 0; var countExist = 0;
                var countChecklistSuccess = 0; var countChecklistFail = 0; var countChecklistExist = 0;var countChecklistUpdate = 0;
                var outMessage = "";
                if (setPatientToMobile(clsGlobal.dtPatient, out countSuccess, out countFail, out countExist, out countChecklistSuccess, out countChecklistFail, out countChecklistExist,out countChecklistUpdate, out outMessage))
                {
                    if (lblSyncToMobile.InvokeRequired)
                    {
                        lblSyncToMobile.Invoke(new MethodInvoker(delegate
                        {
                            lblSyncToMobile.Text = string.Format(
                                "Sync ข้อมูลสู่ระบบ Mobile เสร็จสิ้น" + Environment.NewLine + Environment.NewLine +
                                "    @Patient Success : {0} , Exist : {1} , Fail : {2}" + Environment.NewLine +
                                "    @Checklist Success: {3} , Exist : {4} , Fail : {5} , Update : {6}",
                                countSuccess.ToString(),
                                countExist.ToString(),
                                countFail.ToString(),
                                countChecklistSuccess.ToString(),
                                countChecklistExist.ToString(),
                                countChecklistFail.ToString(),
                                countChecklistUpdate.ToString()
                                );
                        }));
                    }
                    //MessageBox.Show("Sync ข้อมูลสู่ระบบ Mobile เสร็จสิ้น" + Environment.NewLine +
                    //    "@Patient Success : " + countSuccess.ToString() +
                    //    " , Exist : " + countExist.ToString() +
                    //    " , Fail : " + countFail.ToString() + Environment.NewLine +
                    //    "@Checklist Success : " + countChecklistSuccess.ToString() +
                    //    " , Exist : " + countChecklistExist.ToString() +
                    //    " , Fail : " + countChecklistFail.ToString(),
                    //    "SyncComplete", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    if (lblSyncToMobile.InvokeRequired)
                    {
                        lblSyncToMobile.Invoke(new MethodInvoker(delegate
                        {
                            lblSyncToMobile.Text = string.Format(
                                "Sync ข้อมูลสู่ระบบ Mobile ผิดพลาด" + Environment.NewLine + Environment.NewLine +
                                "    @Patient Success : {0} , Exist : {1} , Fail : {2}" + Environment.NewLine +
                                "    @Checklist Success: {3} , Exist : {4} , Fail : {5}" + Environment.NewLine +
                                "Message Error : {6}",
                                countSuccess.ToString(),
                                countExist.ToString(),
                                countFail.ToString(),
                                countChecklistSuccess.ToString(),
                                countChecklistExist.ToString(),
                                countChecklistFail.ToString(),
                                outMessage
                                );
                        }));
                    }
                    //MessageBox.Show("Sync ข้อมูลสู่ระบบ Mobile ผิดพลาด" + Environment.NewLine +
                    //    "@Patient Success : " + countSuccess.ToString() +
                    //    " , Exist : " + countExist.ToString() +
                    //    " , Fail : " + countFail.ToString() + Environment.NewLine +
                    //    "@Checklist Success : " + countChecklistSuccess.ToString() +
                    //    " , Exist : " + countChecklistExist.ToString() +
                    //    " , Fail : " + countChecklistFail.ToString() + Environment.NewLine + Environment.NewLine +
                    //    outMessage,
                    //    "SyncComplete", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                if (lblSyncToMobile.InvokeRequired)
                {
                    lblSyncToMobile.Invoke(new MethodInvoker(delegate
                    {
                        var clsTempData = new clsTempData();
                        lblSyncToMobile.Text += clsTempData.getPatientNotHadChecklist();
                    }));
                }
            }
            else
            {
                if (lblSyncToMobile.InvokeRequired)
                {
                    lblSyncToMobile.Invoke(new MethodInvoker(delegate
                    {
                        lblSyncToMobile.Text = "ไม่พบข้อมูลที่ต้องการ Sync";
                    }));
                }
                //MessageBox.Show("ไม่พบข้อมูลที่ต้องการ Sync", "SyncFail", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Ejemplo n.º 14
0
 private void setCompany()
 {
     #region Variable
     var dt = new DataTable();
     var clsTempData = new clsTempData();
     #endregion
     #region Procedure
     dt = clsTempData.getCompany(dtDOEFrom.Value, dtDOETo.Value);
     if (dt != null && dt.Rows.Count > 0)
     {
         ddlCompany.DataSource = dt;
         ddlCompany.DisplayMember = "Company";
         ddlCompany.ValueMember = "Company";
     }
     else
     {
         ddlCompany.DataSource = null;
     }
     #endregion
 }
Ejemplo n.º 15
0
 private void Search()
 {
     #region Variable
     var dt = new DataTable();
     var clsTempData = new clsTempData();
     var countNoChecklist = 0;
     #endregion
     #region Procedure
     dt = clsTempData.getPatient(dtDOEFrom.Value, dtDOETo.Value, getDropDownListValue(ddlCompany, "Company"));
     if (dt != null && dt.Rows.Count > 0)
     {
         clsGlobal.dtPatient = dt.Copy();
         if (btSync.InvokeRequired)
         {
             btSync.Invoke(new MethodInvoker(delegate
             {
                 btSync.Enabled = true;
             }));
         }
         //lblSyncToMobile.Text = "";
         #region RemoveColumn
         string[] columns = { "PatientGUID", "LabEpisode", "Address", "Tel", "Email", "Physician", "RegType", "Programid", "DIVI", "DEP", "SEC", "POS", "LAN", "NAT", "CNT_TRY", "LOC", "Payor", "Epi_Rowid", "ORD_STS", "STS", "DR_CDE", "NTE", "Job", "BusUnit", "BusDiv", "Line", "Shift", "Location", "GrpBook", "HISExist" };
         for (int i = 0; i < columns.Length; i++)
         {
             dt.Columns.Remove(columns[i]);
         }
         dt.AcceptChanges();
         #endregion
         if (gvSyncToMobile.InvokeRequired)
         {
             gvSyncToMobile.Invoke(new MethodInvoker(delegate
             {
                 #region SortDatatable
                 if(dt!=null && dt.Rows.Count > 0)
                 {
                     for(int i = 0; i < dt.Rows.Count; i++)
                     {
                         if (int.Parse(dt.Rows[i]["ChecklistCount"].ToString()) > 0)
                         {
                             dt.Rows[i]["ChecklistCount"] = 1;
                         }
                         else
                         {
                             dt.Rows[i]["ChecklistCount"] = 0;
                         }
                     }
                     dt.AcceptChanges();
                 }
                 var dv = dt.DefaultView;
                 dv.Sort = "ChecklistCount,No";
                 #endregion
                 gvSyncToMobile.DataSource = dv.ToTable();
                 for(int i = 0; i < gvSyncToMobile.Rows.Count; i++)
                 {
                     var checklistCount = (gvSyncToMobile.Rows[i].Cells["ChecklistCount"].Value!=null?gvSyncToMobile.Rows[i].Cells["ChecklistCount"].Value.ToString():"0");
                     if (checklistCount == "0")
                     {
                         gvSyncToMobile.Rows[i].DefaultCellStyle.BackColor = ColorTranslator.FromHtml("#FF6262");
                         countNoChecklist += 1;
                     }
                 }
                 gvSyncToMobile.Columns["ChecklistCount"].Visible = false;
             }));
         }
         if (lblSyncToMobile.InvokeRequired)
         {
             lblSyncToMobile.Invoke(new MethodInvoker(delegate
             {
                 lblSyncToMobile.Text = string.Format("พบข้อมูลทั้งหมด {0} รายการ | ไม่มี Checklist {1} รายการ", dt.Rows.Count.ToString(), countNoChecklist.ToString());
             }));
         }
     }
     else
     {
         clsGlobal.dtPatient = null;
         if (btSync.InvokeRequired)
         {
             btSync.Invoke(new MethodInvoker(delegate
             {
                 btSync.Enabled = false;
             }));
         }
         if (lblSyncToMobile.InvokeRequired)
         {
             lblSyncToMobile.Invoke(new MethodInvoker(delegate
             {
                 lblSyncToMobile.Text = "- ไม่พบข้อมูลที่ต้องการ -";
             }));
         }
     }
     #endregion
 }
Ejemplo n.º 16
0
 private void Search()
 {
     #region Variable
     var dt = new DataTable();
     var clsTempData = new clsTempData();
     var SyncStatus = "";
     #endregion
     #region Procedure
     var type = getDropDownListValue(ddlType, "Name");
     switch (type)
     {
         case "All":
             dt = clsTempData.getPatientMobileByAll(dtDOEFrom.Value, dtDOETo.Value,(cbHeavyMetal.Checked? false : true));
             break;
         case "Payor":
             dt = clsTempData.getPatientMobile(dtDOEFrom.Value, dtDOETo.Value, (getDropDownListValue(ddlCompany, "Company")!="- ทั้งหมด -"? getDropDownListValue(ddlCompany, "Company"):""), (cbHeavyMetal.Checked ? false : true));
             break;
         case "Book":
             dt = clsTempData.getPatientMobileByBookCreate(dtDOEFrom.Value, dtDOETo.Value, (getDropDownListValue(ddlCompany, "BookCreate")!="- ทั้งหมด -"? getDropDownListValue(ddlCompany, "BookCreate"):""), (cbHeavyMetal.Checked ? false : true));
             break;
         default:
             break;
     }
     if (dt != null && dt.Rows.Count > 0)
     {
         #region DebugZone
         //var dv = new DataView(dt);
         //dv.RowFilter = "hn='15-12-010101' OR hn='15-07-015322'";
         //dt = dv.ToTable();
         #endregion
         dt.Columns.Remove("PatientGUID");
         if (btExport.InvokeRequired)
         {
             btExport.Invoke(new MethodInvoker(delegate
             {
                 btExport.Enabled = true;
             }));
         }
         if (lblDefault.InvokeRequired)
         {
             lblDefault.Invoke(new MethodInvoker(delegate
             {
                 lblDefault.Text = "";
             }));
         }
         #region AddColumns
         dt.Columns.Add("Summary", typeof(string));
         dt.Columns.Add("Remark", typeof(string));
         dt.Columns.Add("RemarkCancel", typeof(string));
         #endregion
         #region FillData
         for (int i = 0; i < dt.Rows.Count; i++)
         {
             if (dt.Rows[i]["CountChecklistAll"].ToString() != "0" && dt.Rows[i]["CountChecklistAll"].ToString() == dt.Rows[i]["CountChecklistComplete"].ToString() && dt.Rows[i]["CountChecklistAll"].ToString() != dt.Rows[i]["CountChecklistCancel"].ToString())
             {
                 dt.Rows[i]["Summary"] = "ตรวจแล้ว";
                 dt.Rows[i]["Remark"] = "ตรวจครบทุกรายการ";
             }
             else if (dt.Rows[i]["CountChecklistAll"].ToString() == dt.Rows[i]["CountChecklistCancel"].ToString())
             {
                 dt.Rows[i]["Summary"] = "ยกเลิกตรวจ";
                 dt.Rows[i]["Remark"] = "";
             }
             else if (dt.Rows[i]["CountChecklistComplete"].ToString() != "0" && dt.Rows[i]["CountChecklistAll"].ToString() != dt.Rows[i]["CountChecklistComplete"].ToString())
             {
                 if(dt.Rows[i]["RegisStatus"].ToString()!="0")
                 {
                     dt.Rows[i]["Summary"] = "ตรวจแล้ว-มีค้างตรวจ";
                     dt.Rows[i]["Remark"] = dt.Rows[i]["ProgramPending"];
                 }
                 else if (dt.Rows[i]["DateRegis"] != DBNull.Value)
                 {
                     dt.Rows[i]["Summary"] = "ค้างคืนเอกสาร";
                     dt.Rows[i]["Remark"] = "";
                 }
                 else
                 {
                     dt.Rows[i]["Summary"] = "ตรวจแล้ว-มีค้างตรวจ";
                     dt.Rows[i]["Remark"] = dt.Rows[i]["ProgramPending"];
                 }
             }
             else if (dt.Rows[i]["CountChecklistComplete"].ToString() == "0" && dt.Rows[i]["CountChecklistAll"].ToString() != "0")
             {
                 //มี DateRegis และ WFID1 = 2 ค้างคืนเอกสาร
                 if (dt.Rows[i]["DateRegis"] != DBNull.Value && dt.Rows[i]["RegisProStatus2"].ToString()!="0")
                 {
                     dt.Rows[i]["Summary"] = "ค้างคืนเอกสาร";
                     dt.Rows[i]["Remark"] = "";
                 }
                 else
                 {
                     dt.Rows[i]["Summary"] = "ยังไม่ได้เข้ารับการตรวจ";
                     dt.Rows[i]["Remark"] = "";
                 }
             }
             else
             {
                 dt.Rows[i]["Summary"] = "ยังไม่ได้เข้ารับการตรวจ";
                 dt.Rows[i]["Remark"] = "";
             }
             if (dt.Rows[i]["ProgramCancel"].ToString() != "")
             {
                 dt.Rows[i]["RemarkCancel"] = dt.Rows[i]["ProgramCancel"].ToString();
             }
         }
         dt.AcceptChanges();
         #endregion
         #region RemoveColumn
         string[] columns = { "RegisProStatus2", "CountChecklistAll", "CountChecklistComplete", "CountChecklistCancel", "ProgramPending", "ProgramCancel", "RegisStatus" };
         for (int i = 0; i < columns.Length; i++)
         {
             dt.Columns.Remove(columns[i]);
         }
         dt.AcceptChanges();
         #endregion
         clsGlobal.dtPatient = dt.Copy();
         clsGlobal.dtPatient.Columns.Remove("SyncWhen");
         clsGlobal.dtPatient.Columns.Remove("SyncStatus");
         if (gvDefault.InvokeRequired)
         {
             gvDefault.Invoke(new MethodInvoker(delegate
             {
                 gvDefault.DataSource = dt;
                 #region HighlightSync
                 for (int i = 0; i < gvDefault.Rows.Count; i++)
                 {
                     if(gvDefault.Rows[i].Cells["SyncStatus"].Value!= null)
                     {
                         SyncStatus = gvDefault.Rows[i].Cells["SyncStatus"].Value.ToString().Trim();
                     }
                     else { SyncStatus = "0"; }
                     if (SyncStatus == "1")
                     {
                         gvDefault.Rows[i].DefaultCellStyle.BackColor = ColorTranslator.FromHtml("#FFDD68");
                     }
                 }
                 #endregion
             }));
         }
         if (lblDefault.InvokeRequired)
         {
             lblDefault.Invoke(new MethodInvoker(delegate
             {
                 lblDefault.Text = string.Format("พบข้อมูลทั้งหมด {0} รายการ", dt.Rows.Count.ToString());
             }));
         }
     }
     else
     {
         clsGlobal.dtPatient = null;
         if (gvDefault.InvokeRequired)
         {
             gvDefault.Invoke(new MethodInvoker(delegate
             {
                 gvDefault.DataSource = null;
             }));
         }
         if (btExport.InvokeRequired)
         {
             btExport.Invoke(new MethodInvoker(delegate
             {
                 btExport.Enabled = false;
             }));
         }
         if (lblDefault.InvokeRequired)
         {
             lblDefault.Invoke(new MethodInvoker(delegate
             {
                 lblDefault.Text = "- ไม่พบข้อมูลที่ต้องการ -";
             }));
         }
     }
     #endregion
 }
Ejemplo n.º 17
0
        private void Export()
        {
            try
            {
                if (pbDefault.InvokeRequired)
                {
                    pbDefault.Invoke(new MethodInvoker(delegate
                    {
                        pbDefault.Maximum = 6;
                        pbDefault.Value = 1;
                    }));
                }
                var clsTempData = new clsTempData();
                var reportType = "";
                #region ReportType
                var type = getDropDownListValue(ddlType, "Name");
                switch (type)
                {
                    case "All":
                        reportType = "ALL";
                        break;
                    case "Payor":
                        reportType = "PAYOR";
                        if(getDropDownListValue(ddlCompany, "Payor")!="- ทั้งหมด -")
                        {
                            reportType += " - " + getDropDownListValue(ddlCompany, "Payor");
                        }
                        break;
                    case "Book":
                        reportType = "BOOK";
                        if (getDropDownListValue(ddlCompany, "BookCreate") != "- ทั้งหมด -")
                        {
                            reportType += " - " + getDropDownListValue(ddlCompany, "BookCreate");
                        }
                        break;
                    default:
                        break;
                }
                #endregion
                var FileName = clsGlobal.ExecutePathBuilder() + @"Export\" + reportType + "_" + DateTime.Now.ToString("dd-MM-yyyy-HH-mm") + ".xlsx";
                var dt = new DataTable();
                dt = clsGlobal.dtPatient;
                FileInfo newFile = new FileInfo(FileName);
                if (newFile.Exists)
                {
                    newFile.Delete();
                    newFile = new FileInfo(FileName);
                }
                using (ExcelPackage package = new ExcelPackage(newFile))
                {
                    var rows = 1;
                    #region Summary
                    var columnSummaryComplete = 0;
                    var columnSummaryInComplete = 0;
                    List<int> summaryCompletes = new List<int>();
                    List<int> summaryInCompletes = new List<int>();
                    #region FindSummaryColumn
                    columnSummaryComplete = clsTempData.getMaxDateRegis(dtDOEFrom.Value, dtDOETo.Value);
                    //if (columnSummaryComplete > 0)
                    //{
                        columnSummaryComplete += 3;
                        columnSummaryInComplete = columnSummaryComplete + 1;
                    //}
                    #endregion
                    var dtSummary = clsTempData.getPatientMobileByAll(dtDOEFrom.Value, dtDOETo.Value);
                    if(dtSummary!=null && dtSummary.Rows.Count > 0)
                    {
                        #region Replace DateTime with Date
                        for(int i = 0; i < dtSummary.Rows.Count; i++)
                        {
                            if(dtSummary.Rows[i]["DateRegis"]!=DBNull.Value && dtSummary.Rows[i]["DateRegis"].ToString() != "")
                            {
                                dtSummary.Rows[i]["DateRegis"] = DateTime.Parse(dtSummary.Rows[i]["DateRegis"].ToString()).ToString("yyyy-MM-dd");
                            }
                        }
                        dtSummary.AcceptChanges();
                        #endregion
                        ExcelWorksheet worksheetSummary = package.Workbook.Worksheets.Add("Summary");
                        #region Header
                        var headers = new string[] { "Payor", "จำนวนทั้งหมด"};
                        var iHeader = 0;
                        for (iHeader = 0; iHeader < headers.Length; iHeader++)
                        {
                            worksheetSummary.Cells[rows, iHeader + 1].Value = headers[iHeader];

                            worksheetSummary.Cells[rows, iHeader + 1].Style.Font.Bold = true;
                            worksheetSummary.Cells[rows, iHeader + 1].Style.Font.Name = "Angsana New";
                            worksheetSummary.Cells[rows, iHeader + 1].Style.Font.Size = 14;
                            worksheetSummary.Cells[rows, iHeader + 1].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
                            worksheetSummary.Cells[rows, iHeader + 1].Style.Font.Color.SetColor(Color.White);
                            worksheetSummary.Cells[rows, iHeader + 1].Style.Fill.BackgroundColor.SetColor(System.Drawing.ColorTranslator.FromHtml("#31b0d3"));
                            worksheetSummary.Cells[rows, iHeader + 1].Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;
                            worksheetSummary.Cells[rows, iHeader + 1].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                        }
                        #region HeaderSummary
                        worksheetSummary.Cells[rows, columnSummaryComplete].Value = "รวมตรวจเสร็จ";

                        worksheetSummary.Cells[rows, columnSummaryComplete].Style.Font.Bold = true;
                        worksheetSummary.Cells[rows, columnSummaryComplete].Style.Font.Name = "Angsana New";
                        worksheetSummary.Cells[rows, columnSummaryComplete].Style.Font.Size = 14;
                        worksheetSummary.Cells[rows, columnSummaryComplete].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
                        worksheetSummary.Cells[rows, columnSummaryComplete].Style.Font.Color.SetColor(Color.White);
                        worksheetSummary.Cells[rows, columnSummaryComplete].Style.Fill.BackgroundColor.SetColor(System.Drawing.ColorTranslator.FromHtml("#31b0d3"));
                        worksheetSummary.Cells[rows, columnSummaryComplete].Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;
                        worksheetSummary.Cells[rows, columnSummaryComplete].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;

                        worksheetSummary.Cells[rows, columnSummaryInComplete].Value = "รวมค้างตรวจ";

                        worksheetSummary.Cells[rows, columnSummaryInComplete].Style.Font.Bold = true;
                        worksheetSummary.Cells[rows, columnSummaryInComplete].Style.Font.Name = "Angsana New";
                        worksheetSummary.Cells[rows, columnSummaryInComplete].Style.Font.Size = 14;
                        worksheetSummary.Cells[rows, columnSummaryInComplete].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
                        worksheetSummary.Cells[rows, columnSummaryInComplete].Style.Font.Color.SetColor(Color.White);
                        worksheetSummary.Cells[rows, columnSummaryInComplete].Style.Fill.BackgroundColor.SetColor(System.Drawing.ColorTranslator.FromHtml("#31b0d3"));
                        worksheetSummary.Cells[rows, columnSummaryInComplete].Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;
                        worksheetSummary.Cells[rows, columnSummaryInComplete].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                        #endregion
                        #endregion
                        var dtSummaryPayor = dtSummary.DefaultView.ToTable(true, "Payor");
                        #region LoopByPayor
                        for (int i = 0; i < dtSummaryPayor.Rows.Count; i++)
                        {
                            var dvSummaryPayorDetail = new DataView(dtSummary);
                            var dtSummaryPayorDetail = new DataTable();

                            dvSummaryPayorDetail.RowFilter = "Payor='"+dtSummaryPayor.Rows[i][0].ToString()+"'";
                            dvSummaryPayorDetail.Sort = "DateRegis";
                            dtSummaryPayorDetail = dvSummaryPayorDetail.ToTable();
                            if(dtSummaryPayorDetail != null && dtSummaryPayorDetail.Rows.Count > 0)
                            {
                                rows += 1;
                                #region Payor
                                worksheetSummary.Cells[rows, 1].Value = dtSummaryPayor.Rows[i]["Payor"].ToString();
                                worksheetSummary.Cells[rows, 1].Style.Font.Name = "Angsana New";
                                worksheetSummary.Cells[rows, 1].Style.Font.Size = 14;
                                #endregion
                                #region CountAll
                                worksheetSummary.Cells[rows, 2].Value = dtSummaryPayorDetail.Rows.Count;
                                worksheetSummary.Cells[rows, 2].Style.Font.Name = "Angsana New";
                                worksheetSummary.Cells[rows, 2].Style.Font.Size = 14;
                                worksheetSummary.Cells[rows, 2].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                                #endregion
                                #region DistinctDateRegis
                                var dtSummaryDateRegis = dtSummaryPayorDetail.DefaultView.ToTable(true, "DateRegis");
                                var summaryComplete = 0;
                                if(dtSummaryDateRegis != null && dtSummaryDateRegis.Rows.Count > 0)
                                {
                                    #region LoopByRegisDateDetail
                                    var columnTemp = 3;//Start 3
                                    for(int r = 0; r < dtSummaryDateRegis.Rows.Count; r++)
                                    {
                                        if (dtSummaryDateRegis.Rows[r]["DateRegis"].ToString() != "")
                                        {
                                            var dvSummaryDateRegisDetail = new DataView(dtSummaryPayorDetail);
                                            var dtSummaryDateRegisDetail = new DataTable();
                                            var sumByDay = 0;

                                            dvSummaryDateRegisDetail.RowFilter = "DateRegis='"+ DateTime.Parse(dtSummaryDateRegis.Rows[r]["DateRegis"].ToString()).ToString("yyyy-MM-dd HH:mm") + "'";
                                            dtSummaryDateRegisDetail = dvSummaryDateRegisDetail.ToTable();
                                            #region CompleteSumByDay
                                            for(int s = 0; s < dtSummaryDateRegisDetail.Rows.Count; s++)
                                            {
                                                if (int.Parse(dtSummaryDateRegisDetail.Rows[s]["CountChecklistAll"].ToString()) ==
                                                    int.Parse(dtSummaryDateRegisDetail.Rows[s]["CountChecklistComplete"].ToString()))
                                                {
                                                    sumByDay += 1;
                                                }
                                            }
                                            #endregion
                                            #region SetHeader
                                            worksheetSummary.Cells[1, columnTemp].Value = "Day "+(r).ToString();

                                            worksheetSummary.Cells[1, columnTemp].Style.Font.Bold = true;
                                            worksheetSummary.Cells[1, columnTemp].Style.Font.Name = "Angsana New";
                                            worksheetSummary.Cells[1, columnTemp].Style.Font.Size = 14;
                                            worksheetSummary.Cells[1, columnTemp].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
                                            worksheetSummary.Cells[1, columnTemp].Style.Font.Color.SetColor(Color.White);
                                            worksheetSummary.Cells[1, columnTemp].Style.Fill.BackgroundColor.SetColor(System.Drawing.ColorTranslator.FromHtml("#66C2DC"));
                                            worksheetSummary.Cells[1, columnTemp].Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;
                                            worksheetSummary.Cells[1, columnTemp].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                                            #endregion
                                            #region SetValue
                                            summaryComplete += sumByDay;
                                            worksheetSummary.Cells[rows, columnTemp].Value = sumByDay;
                                            worksheetSummary.Cells[rows, columnTemp].AddComment(DateTime.Parse(dtSummaryDateRegis.Rows[r]["DateRegis"].ToString()).ToString("dd/MM/yyyy HH:mm"), "วันที่");
                                            worksheetSummary.Cells[rows, columnTemp].Style.Font.Name = "Angsana New";
                                            worksheetSummary.Cells[rows, columnTemp].Style.Font.Size = 14;
                                            worksheetSummary.Cells[rows, columnTemp].Style.WrapText = true;
                                            worksheetSummary.Cells[rows, columnTemp].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                                            columnTemp += 1;
                                            #endregion
                                        }
                                    }
                                    #endregion
                                }
                                #region SummaryComplete
                                worksheetSummary.Cells[rows, columnSummaryComplete].Value = summaryComplete;
                                worksheetSummary.Cells[rows, columnSummaryComplete].Style.Font.Name = "Angsana New";
                                worksheetSummary.Cells[rows, columnSummaryComplete].Style.Font.Size = 14;
                                worksheetSummary.Cells[rows, columnSummaryComplete].Style.WrapText = true;
                                worksheetSummary.Cells[rows, columnSummaryComplete].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                                #endregion
                                #region SummaryInComplete
                                worksheetSummary.Cells[rows, columnSummaryInComplete].Value = dtSummaryPayorDetail.Rows.Count-summaryComplete;
                                worksheetSummary.Cells[rows, columnSummaryInComplete].Style.Font.Name = "Angsana New";
                                worksheetSummary.Cells[rows, columnSummaryInComplete].Style.Font.Size = 14;
                                worksheetSummary.Cells[rows, columnSummaryInComplete].Style.WrapText = true;
                                worksheetSummary.Cells[rows, columnSummaryInComplete].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                                #endregion
                                #endregion
                            }
                        }
                        #endregion
                        #region ResizeColumn
                        for (int resizeC = 0; resizeC < 50; resizeC++)
                        {
                            worksheetSummary.Column(resizeC + 1).AutoFit();
                        }
                        #endregion
                    }
                    #endregion
                    rows = 1;
                    if (pbDefault.InvokeRequired)
                    {
                        pbDefault.Invoke(new MethodInvoker(delegate
                        {
                            pbDefault.Value += 1;
                        }));
                    }
                    #region LabSummary
                    try
                    {
                        ExcelWorksheet worksheetLabSummary = package.Workbook.Worksheets.Add("LabSummary");
                        var dtLabSummary = new DataTable(); rows = 1;
                        dtLabSummary = clsTempData.getLabSummary();
                        if (dtLabSummary != null && dtLabSummary.Rows.Count > 0)
                        {
                            #region HeaderBuilder
                            worksheetLabSummary.Cells[rows, 1].Value = "Company";
                            worksheetLabSummary.Cells[rows, 2].Value = "DateAccept";
                            worksheetLabSummary.Cells[rows, 3].Value = "Blood";
                            worksheetLabSummary.Cells[rows, 4].Value = "Urine";
                            worksheetLabSummary.Cells[rows, 5].Value = "Stool";
                            worksheetLabSummary.Cells[rows, 6].Value = "HeavyMetal";
                            for (int c = 0; c < 6; c++)
                            {
                                worksheetLabSummary.Cells[rows, c + 1].Style.Font.Bold = true;
                                worksheetLabSummary.Cells[rows, c + 1].Style.Font.Name = "Angsana New";
                                worksheetLabSummary.Cells[rows, c + 1].Style.Font.Size = 14;
                                worksheetLabSummary.Cells[rows, c + 1].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
                                worksheetLabSummary.Cells[rows, c + 1].Style.Font.Color.SetColor(Color.White);
                                worksheetLabSummary.Cells[rows, c + 1].Style.Fill.BackgroundColor.SetColor(System.Drawing.ColorTranslator.FromHtml("#31b0d3"));
                                worksheetLabSummary.Cells[rows, c + 1].Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;
                                worksheetLabSummary.Cells[rows, c + 1].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                            }
                            #endregion
                            #region RowsBuilder
                            for (int r = 0; r < dtLabSummary.Rows.Count; r++)
                            {
                                worksheetLabSummary.Cells[rows + r + 1, 1].Value = dtLabSummary.Rows[r]["Company"].ToString();
                                worksheetLabSummary.Cells[rows + r + 1, 1].Style.Font.Name = "Angsana New";
                                worksheetLabSummary.Cells[rows + r + 1, 1].Style.Font.Size = 14;
                                worksheetLabSummary.Cells[rows + r + 1, 2].Value = DateTime.Parse(dtLabSummary.Rows[r]["DateAccept"].ToString()).ToString("dd/MM/yyyy");
                                worksheetLabSummary.Cells[rows + r + 1, 2].Style.Font.Name = "Angsana New";
                                worksheetLabSummary.Cells[rows + r + 1, 2].Style.Font.Size = 14;
                                worksheetLabSummary.Cells[rows + r + 1, 2].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                                worksheetLabSummary.Cells[rows + r + 1, 3].Value = dtLabSummary.Rows[r]["CountBloodComplete"].ToString() + " of " + dtLabSummary.Rows[r]["CountBloodAll"].ToString();
                                worksheetLabSummary.Cells[rows + r + 1, 3].Style.Font.Name = "Angsana New";
                                worksheetLabSummary.Cells[rows + r + 1, 3].Style.Font.Size = 14;
                                worksheetLabSummary.Cells[rows + r + 1, 3].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                                worksheetLabSummary.Cells[rows + r + 1, 4].Value = dtLabSummary.Rows[r]["CountUrineComplete"].ToString() + " of " + dtLabSummary.Rows[r]["CountUrineAll"].ToString();
                                worksheetLabSummary.Cells[rows + r + 1, 4].Style.Font.Name = "Angsana New";
                                worksheetLabSummary.Cells[rows + r + 1, 4].Style.Font.Size = 14;
                                worksheetLabSummary.Cells[rows + r + 1, 4].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                                worksheetLabSummary.Cells[rows + r + 1, 5].Value = dtLabSummary.Rows[r]["CountStoolComplete"].ToString() + " of " + dtLabSummary.Rows[r]["CountStoolAll"].ToString();
                                worksheetLabSummary.Cells[rows + r + 1, 5].Style.Font.Name = "Angsana New";
                                worksheetLabSummary.Cells[rows + r + 1, 5].Style.Font.Size = 14;
                                worksheetLabSummary.Cells[rows + r + 1, 5].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                                worksheetLabSummary.Cells[rows + r + 1, 6].Value = dtLabSummary.Rows[r]["CountHeavyMetalComplete"].ToString() + " of " + dtLabSummary.Rows[r]["CountHeavyMetalAll"].ToString();
                                worksheetLabSummary.Cells[rows + r + 1, 6].Style.Font.Name = "Angsana New";
                                worksheetLabSummary.Cells[rows + r + 1, 6].Style.Font.Size = 14;
                                worksheetLabSummary.Cells[rows + r + 1, 6].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                            }
                            #endregion
                            #region ResizeColumn
                            for (int c = 0; c < 6; c++)
                            {
                                worksheetLabSummary.Column(c + 1).AutoFit();
                            }
                            #endregion
                        }
                    }
                    catch (Exception exDetail)
                    {
                        MessageBox.Show(exDetail.Message, "LabSummary", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    #endregion
                    if (pbDefault.InvokeRequired)
                    {
                        pbDefault.Invoke(new MethodInvoker(delegate
                        {
                            pbDefault.Value += 1;
                        }));
                    }
                    #region Detail
                    try
                    {
                        #region CreateGroupSheet
                        var dtDetailHeader = new DataTable();
                        if (type == "All")
                        {
                            dtDetailHeader.Columns.Add("All");
                            dtDetailHeader.Rows.Add("All");
                        }
                        else if (type == "Payor")
                        {
                            dtDetailHeader = dt.DefaultView.ToTable(true, "Payor");
                        }
                        else if (type == "Book")
                        {
                            #region TrimValue
                            //for(int t = 0; t < dt.Rows.Count; t++)
                            //{
                            //    dt.Rows[t]["BookCreate"] = dt.Rows[t]["BookCreate"].ToString().Trim();
                            //}
                            //dt.AcceptChanges();
                            #endregion
                            dtDetailHeader = dt.DefaultView.ToTable(true, "BookCreate");
                        }
                        #endregion
                        #region CreateSheetDetail
                        for (int i = 0; i < dtDetailHeader.Rows.Count; i++)
                        {
                            #region DataFilter
                            var sheetName = "";
                            var dtDetailDetail = new DataTable();
                            var dvDetailDetail = new DataView(dt);
                            if (type == "All")
                            {
                                dtDetailDetail = dt;
                                sheetName = "Detail - All";
                            }
                            else if (type == "Payor")
                            {
                                sheetName = "Detail - " + dtDetailHeader.Rows[i][0].ToString();
                                dvDetailDetail.RowFilter = "Payor='" + dtDetailHeader.Rows[i][0].ToString() + "'";
                                dtDetailDetail = dvDetailDetail.ToTable();
                            }
                            else if (type == "Book")
                            {
                                sheetName = "Detail - " + dtDetailHeader.Rows[i][0].ToString();
                                dvDetailDetail.RowFilter = "BookCreate='" + dtDetailHeader.Rows[i][0].ToString() + "'";
                                dtDetailDetail = dvDetailDetail.ToTable();
                            }
                            #endregion
                            ExcelWorksheet worksheet=null;
                            try
                            {
                                worksheet = package.Workbook.Worksheets.Add(sheetName);
                            }
                            catch (Exception)
                            {
                                worksheet = package.Workbook.Worksheets.Add(sheetName+" ("+i.ToString()+")");
                            }
                            worksheet.TabColor = ColorTranslator.FromHtml("#FFC90E");
                            //worksheet.Cells["A1"].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
                            //worksheet.Cells["A1"].Style.Fill.BackgroundColor.SetColor(ColorTranslator.FromHtml("#FFC90E"));

                            rows = 1;
                            #region HeaderBuilder
                            for (int c = 0; c <= dtDetailDetail.Columns.Count - 1; c++)
                            {
                                worksheet.Cells[rows, c + 1].Value = dtDetailDetail.Columns[c].ColumnName;

                                worksheet.Cells[rows, c + 1].Style.Font.Bold = true;
                                worksheet.Cells[rows, c + 1].Style.Font.Name = "Angsana New";
                                worksheet.Cells[rows, c + 1].Style.Font.Size = 14;
                                worksheet.Cells[rows, c + 1].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
                                worksheet.Cells[rows, c + 1].Style.Font.Color.SetColor(Color.White);
                                worksheet.Cells[rows, c + 1].Style.Fill.BackgroundColor.SetColor(System.Drawing.ColorTranslator.FromHtml("#31b0d3"));
                                worksheet.Cells[rows, c + 1].Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;
                                worksheet.Cells[rows, c + 1].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                            }
                            #endregion
                            #region RowsBuilder
                            for (int r = 0; r < dtDetailDetail.Rows.Count; r++)
                            {
                                for (int c = 0; c < dtDetailDetail.Columns.Count; c++)
                                {
                                    //กรณีฟิลด์เป็นข้อมูลวันที่ ให้คงรูปแบบไว้เพื่อง่ายในการฟิลด์เตอร์
                                    if (dtDetailDetail.Columns[c].ColumnName.Contains("Date") && dtDetailDetail.Rows[r][c].ToString()!="" && dtDetailDetail.Rows[r][c]!=DBNull.Value)
                                    {
                                        try
                                        {
                                            worksheet.Cells[rows + r + 1, c + 1].Value = DateTime.Parse(dtDetailDetail.Rows[r][c].ToString());
                                            worksheet.Cells[rows + r + 1, c + 1].Style.Numberformat.Format = "dd/MM/yyyy HH:mm";
                                        }
                                        catch (Exception)
                                        {
                                            worksheet.Cells[rows + r + 1, c + 1].Value = dtDetailDetail.Rows[r][c].ToString();
                                        }
                                    }
                                    else
                                    {
                                        worksheet.Cells[rows + r + 1, c + 1].Value = dtDetailDetail.Rows[r][c].ToString();
                                    }
                                    worksheet.Cells[rows + r + 1, c + 1].Style.Font.Name = "Angsana New";
                                    worksheet.Cells[rows + r + 1, c + 1].Style.Font.Size = 14;
                                }
                            }
                            #endregion
                            #region ResizeColumn
                            //for (int c = 0; c < dtDetailDetail.Columns.Count; c++)
                            //{
                            //    if (!dtDetailDetail.Columns[c+1].ColumnName.ToLower().Trim().Contains("remark"))
                            //    {
                            //        worksheet.Column(c + 1).AutoFit();
                            //    }
                            //}
                            for(int c=1;c< 200; c++)
                            {
                                if(worksheet.Cells[1, c].Value!= null)
                                {
                                    if (!worksheet.Cells[1, c].Value.ToString().Trim().ToLower().Contains("remark") &&
                                        !worksheet.Cells[1, c].Value.ToString().Trim().ToLower().Contains("programdetail") &&
                                        worksheet.Cells[1, c].Value.ToString().Trim() != "")
                                    {
                                        worksheet.Column(c).AutoFit();
                                    }
                                }
                            }
                            #endregion
                        }
                        #endregion
                    }
                    catch (Exception exDetail)
                    {
                        MessageBox.Show(exDetail.Message, "Detail", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    #endregion
                    if (pbDefault.InvokeRequired)
                    {
                        pbDefault.Invoke(new MethodInvoker(delegate
                        {
                            pbDefault.Value += 1;
                        }));
                    }
                    #region LabDetail
                    try
                    {
                        dt = null; rows = 1;
                        #region CreateGroupSheet
                        var dtLabHeader = new DataTable();
                        if (type == "All")
                        {
                            dt = clsTempData.getLabDetailByAll(dtDOEFrom.Value, dtDOETo.Value);
                            dtLabHeader.Columns.Add("All");
                            dtLabHeader.Rows.Add("All");
                        }
                        else if (type == "Payor")
                        {
                            dt = clsTempData.getLabDetail(dtDOEFrom.Value, dtDOETo.Value, getDropDownListValue(ddlCompany, "Company"));
                            dtLabHeader = dt.DefaultView.ToTable(true, "Payor");
                        }
                        else if (type == "Book")
                        {
                            dt = clsTempData.getLabDetailByBook(dtDOEFrom.Value, dtDOETo.Value, getDropDownListValue(ddlCompany, "BookCreate"));
                            #region TrimValue
                            //for (int t = 0; t < dt.Rows.Count; t++)
                            //{
                            //    dt.Rows[t]["BookCreate"] = dt.Rows[t]["BookCreate"].ToString().Trim();
                            //}
                            //dt.AcceptChanges();
                            #endregion
                            dtLabHeader = dt.DefaultView.ToTable(true, "BookCreate");
                        }
                        #endregion
                        if (dt != null && dt.Rows.Count > 0)
                        {
                            for(int i = 0; i < dtLabHeader.Rows.Count; i++)
                            {
                                #region DataFilter
                                var sheetName = "";
                                var dtLabDetail = new DataTable();
                                var dvLabDetail = new DataView(dt);
                                if (type == "All")
                                {
                                    dtLabDetail = dt;
                                    sheetName = "Lab - All";
                                }
                                else if (type == "Payor")
                                {
                                    sheetName = "Lab - " + dtLabHeader.Rows[i][0].ToString();
                                    dvLabDetail.RowFilter = "Payor='" + dtLabHeader.Rows[i][0].ToString() + "'";
                                    dtLabDetail = dvLabDetail.ToTable();
                                }
                                else if (type == "Book")
                                {
                                    sheetName = "Lab - " + dtLabHeader.Rows[i][0].ToString();
                                    dvLabDetail.RowFilter = "BookCreate='" + dtLabHeader.Rows[i][0].ToString() + "'";
                                    dtLabDetail = dvLabDetail.ToTable();
                                }
                                #endregion
                                ExcelWorksheet worksheetLabDetail = package.Workbook.Worksheets.Add(sheetName);
                                worksheetLabDetail.TabColor = ColorTranslator.FromHtml("#FF7F27");
                                #region HeaderBuilder
                                int c;
                                for (c = 0; c <= dtLabDetail.Columns.Count - 1; c++)
                                {
                                    if (dtLabDetail.Columns[c].ColumnName == "AcceptDateBlood" ||
                                            dtLabDetail.Columns[c].ColumnName == "AcceptDateUrine" ||
                                            dtLabDetail.Columns[c].ColumnName == "AcceptDateStool" ||
                                            dtLabDetail.Columns[c].ColumnName == "AcceptDateHeavyMetal")
                                    {
                                        worksheetLabDetail.Cells[rows, c + 1].Value = dtLabDetail.Columns[c].ColumnName.Replace("AcceptDate", "");
                                    }
                                    else if (dtLabDetail.Columns[c].ColumnName == "CountLabPending")
                                    {
                                        worksheetLabDetail.Cells[rows, c + 1].Value = "Remark";
                                    }
                                    else
                                    {
                                        worksheetLabDetail.Cells[rows, c + 1].Value = dtLabDetail.Columns[c].ColumnName;
                                    }
                                    worksheetLabDetail.Cells[rows, c + 1].Style.Font.Bold = true;
                                    worksheetLabDetail.Cells[rows, c + 1].Style.Font.Name = "Angsana New";
                                    worksheetLabDetail.Cells[rows, c + 1].Style.Font.Size = 14;
                                    worksheetLabDetail.Cells[rows, c + 1].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
                                    worksheetLabDetail.Cells[rows, c + 1].Style.Font.Color.SetColor(Color.White);
                                    worksheetLabDetail.Cells[rows, c + 1].Style.Fill.BackgroundColor.SetColor(System.Drawing.ColorTranslator.FromHtml("#31b0d3"));
                                    worksheetLabDetail.Cells[rows, c + 1].Style.VerticalAlignment = OfficeOpenXml.Style.ExcelVerticalAlignment.Center;
                                    worksheetLabDetail.Cells[rows, c + 1].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center;
                                }
                                #endregion
                                #region RowsBuilder
                                for (int r = 0; r < dtLabDetail.Rows.Count; r++)
                                {
                                    for (c = 0; c < dtLabDetail.Columns.Count; c++)
                                    {
                                        if (dtLabDetail.Columns[c].ColumnName == "AcceptDateBlood" ||
                                            dtLabDetail.Columns[c].ColumnName == "AcceptDateUrine" ||
                                            dtLabDetail.Columns[c].ColumnName == "AcceptDateStool" ||
                                            dtLabDetail.Columns[c].ColumnName == "AcceptDateHeavyMetal")
                                        {
                                            if (dtLabDetail.Columns[c].ColumnName == "AcceptDateBlood")
                                            {
                                                worksheetLabDetail.Cells[rows + r + 1, c + 1].Value = (dtLabDetail.Rows[r][c].ToString() == "" ? (dtLabDetail.Rows[r]["CountChecklistBlood"].ToString() == "0" ? "" : "ยังไม่เก็บ Specimen") : dtLabDetail.Rows[r][c].ToString());
                                            }
                                            else if (dtLabDetail.Columns[c].ColumnName == "AcceptDateUrine")
                                            {
                                                worksheetLabDetail.Cells[rows + r + 1, c + 1].Value = (dtLabDetail.Rows[r][c].ToString() == "" ? (dtLabDetail.Rows[r]["CountChecklistUrine"].ToString() == "0" ? "" : "ยังไม่เก็บ Specimen") : dtLabDetail.Rows[r][c].ToString());
                                            }
                                            else if (dtLabDetail.Columns[c].ColumnName == "AcceptDateStool")
                                            {
                                                worksheetLabDetail.Cells[rows + r + 1, c + 1].Value = (dtLabDetail.Rows[r][c].ToString() == "" ? (dtLabDetail.Rows[r]["CountChecklistStool"].ToString() == "0" ? "" : "ยังไม่เก็บ Specimen") : dtLabDetail.Rows[r][c].ToString());
                                            }
                                            else if (dtLabDetail.Columns[c].ColumnName == "AcceptDateHeavyMetal")
                                            {
                                                worksheetLabDetail.Cells[rows + r + 1, c + 1].Value = (dtLabDetail.Rows[r][c].ToString() == "" ? (dtLabDetail.Rows[r]["CountChecklistHeavyMetal"].ToString() == "0" ? "" : "ยังไม่เก็บ Specimen") : dtLabDetail.Rows[r][c].ToString());
                                            }
                                            worksheetLabDetail.Cells[rows + r + 1, c + 1].Style.Font.Name = "Angsana New";
                                            worksheetLabDetail.Cells[rows + r + 1, c + 1].Style.Font.Size = 14;
                                        }
                                        else if (dtLabDetail.Columns[c].ColumnName == "CountLabPending")
                                        {
                                            var remark = "";
                                            if (dtLabDetail.Rows[r]["CountLabPending"].ToString() != "0" &&
                                                (
                                                    dtLabDetail.Rows[r]["AcceptDateBlood"].ToString() != "" ||
                                                    dtLabDetail.Rows[r]["AcceptDateUrine"].ToString() != "" ||
                                                    dtLabDetail.Rows[r]["AcceptDateStool"].ToString() != "" ||
                                                    dtLabDetail.Rows[r]["AcceptDateHeavyMetal"].ToString() != ""
                                                ))
                                            {
                                                remark = "Reg.Date:" + dtLabDetail.Rows[r]["RegisterDate"].ToString();
                                            }
                                            else if (dtLabDetail.Rows[r]["CountLabPending"].ToString() != "0" &&
                                                (
                                                    dtLabDetail.Rows[r]["AcceptDateBlood"].ToString() == "" &&
                                                    dtLabDetail.Rows[r]["AcceptDateUrine"].ToString() == "" &&
                                                    dtLabDetail.Rows[r]["AcceptDateStool"].ToString() == "" &&
                                                    dtLabDetail.Rows[r]["AcceptDateHeavyMetal"].ToString() == ""
                                                ))
                                            {
                                                remark = "ยังไม่ได้เข้ารับการตรวจ";
                                            }

                                            worksheetLabDetail.Cells[rows + r + 1, c + 1].Value = remark;
                                            worksheetLabDetail.Cells[rows + r + 1, c + 1].Style.Font.Name = "Angsana New";
                                            worksheetLabDetail.Cells[rows + r + 1, c + 1].Style.Font.Size = 14;
                                        }
                                        else
                                        {
                                            worksheetLabDetail.Cells[rows + r + 1, c + 1].Value = dtLabDetail.Rows[r][c].ToString();
                                            worksheetLabDetail.Cells[rows + r + 1, c + 1].Style.Font.Name = "Angsana New";
                                            worksheetLabDetail.Cells[rows + r + 1, c + 1].Style.Font.Size = 14;
                                        }
                                    }
                                }
                                #endregion
                                #region ResizeColumn
                                for (c = 0; c < dtLabDetail.Columns.Count; c++)
                                {
                                    //if (!dtLabDetail.Columns[c + 1].ColumnName.ToLower().Trim().Contains("remark"))
                                    //{
                                        worksheetLabDetail.Column(c + 1).AutoFit();
                                    //}
                                }
                                #endregion
                                #region HiddenColumn
                                int totalRows = worksheetLabDetail.Dimension.End.Row;
                                int totalCols = worksheetLabDetail.Dimension.End.Column;
                                var range = worksheetLabDetail.Cells[1, 1, 1, totalCols];
                                for (int ii = 1; ii <= totalCols; ii++)
                                {
                                    if (range[1, ii].Address != "" && range[1, ii].Value != null && range[1, ii].Value.ToString() == "RegisterDate")
                                    {
                                        worksheetLabDetail.Column(ii).Hidden = true;
                                    }
                                    else if (range[1, ii].Address != "" && range[1, ii].Value != null && range[1, ii].Value.ToString() == "CountChecklistBlood")
                                    {
                                        worksheetLabDetail.Column(ii).Hidden = true;
                                    }
                                    else if (range[1, ii].Address != "" && range[1, ii].Value != null && range[1, ii].Value.ToString() == "CountChecklistUrine")
                                    {
                                        worksheetLabDetail.Column(ii).Hidden = true;
                                    }
                                    else if (range[1, ii].Address != "" && range[1, ii].Value != null && range[1, ii].Value.ToString() == "CountChecklistStool")
                                    {
                                        worksheetLabDetail.Column(ii).Hidden = true;
                                    }
                                    else if (range[1, ii].Address != "" && range[1, ii].Value != null && range[1, ii].Value.ToString() == "CountChecklistHeavyMetal")
                                    {
                                        worksheetLabDetail.Column(ii).Hidden = true;
                                    }
                                }
                                #endregion
                            }
                        }
                    }
                    catch (Exception exDetail)
                    {
                        MessageBox.Show(exDetail.Message, "LabDetail", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    #endregion
                    if (pbDefault.InvokeRequired)
                    {
                        pbDefault.Invoke(new MethodInvoker(delegate
                        {
                            pbDefault.Value += 1;
                        }));
                    }
                    package.Save();
                    if (pbDefault.InvokeRequired)
                    {
                        pbDefault.Invoke(new MethodInvoker(delegate
                        {
                            pbDefault.Value += 1;
                        }));
                    }
                    DialogResult dr = MessageBox.Show("Export Seccessful!" + Environment.NewLine + Environment.NewLine + FileName + Environment.NewLine + Environment.NewLine + "ต้องการดูไฟล์คลิก Yes", "Success", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (dr == DialogResult.Yes)
                    {
                        try
                        {
                            System.Diagnostics.Process.Start(Path.GetDirectoryName(FileName));
                        }
                        catch (Exception) { }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Export Click", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 18
0
 private void setDOE(string searchPayor)
 {
     #region Variable
     var dt = new DataTable();
     var clsTempData = new clsTempData();
     #endregion
     #region Procedure
     lblPayor.Text = searchPayor;
     if (lvDOE.Items.Count > 0)
     {
         lvDOE.Items.Clear();
     }
     dt = clsTempData.getDOE(searchPayor);
     if (dt != null && dt.Rows.Count > 0)
     {
         for (int i = 0; i < dt.Rows.Count; i++)
         {
             lvDOE.Items.Add(new ListViewItem(new string[]
             {
                 dt.Rows[i]["UID"].ToString(),
                 DateTime.Parse(dt.Rows[i]["DOEFrom"].ToString()).ToString("yyyy-MM-dd HH:mm"),
                 DateTime.Parse(dt.Rows[i]["DOETo"].ToString()).ToString("yyyy-MM-dd HH:mm")
             }
             ));
         }
         lvDOE.Columns[0].Width = 0;
         lvDOE.Columns[1].Width = (lvDOE.Width / 2);
         //lvDOE.Columns[0].TextAlign = HorizontalAlignment.Center;
         lvDOE.Columns[2].Width = -2;
         //lvDOE.Columns[1].TextAlign = HorizontalAlignment.Center;
         lblDOEResult.Text = string.Format("พบข้อมูล {0} รายการ", dt.Rows.Count.ToString());
     }
     else
     {
         lblDOEResult.Text = string.Format("พบข้อมูล {0} รายการ", "0");
     }
     #endregion
 }
Ejemplo n.º 19
0
        private void setType()
        {
            #region Variable
            var clsTempData = new clsTempData();
            var dt = new DataTable();
            #endregion
            #region Procedure
            dt = clsTempData.getReportType();
            if(dt!=null && dt.Rows.Count > 0)
            {
                ddlType.DataSource = dt;
                ddlType.DisplayMember = "Name";
                ddlType.ValueMember = "UID";

                ddlType.SelectedIndex = 0;

                ddlCompany.Enabled = false;
            }
            #endregion
        }
Ejemplo n.º 20
0
 private void setPayor(string searchName="")
 {
     #region Variable
     var clsTempData = new clsTempData();
     var dt = new DataTable();
     #endregion
     #region Procedure
     if (lvPayor.Items.Count > 0)
     {
         lvPayor.Items.Clear();
     }
     dt = clsTempData.getPayor(searchName);
     if (dt != null && dt.Rows.Count > 0)
     {
         for (int i = 0; i < dt.Rows.Count; i++)
         {
             lvPayor.Items.Add(dt.Rows[i]["Payor"].ToString().Trim());
             if (dt.Rows[i]["CountMap"].ToString() != "0")
             {
                 lvPayor.Items[i].BackColor = ColorTranslator.FromHtml("#FFC90E");
             }
         }
         lvPayor.Columns[0].Width = -2;
         lblPayorSearchResult.Text = string.Format("พบข้อมูล {0} รายการ", dt.Rows.Count.ToString());
     }
     else
     {
         lblPayorSearchResult.Text = string.Format("พบข้อมูล {0} รายการ", "0");
     }
     setClearPayorDetail();
     #endregion
 }
        private void bwDefault_DoWork(object sender, DoWorkEventArgs e)
        {
            #region Variable
            var clsTempData=new clsTempData();
            var clsInvoker = new clsInvoker();
            var dt = new DataTable();
            var doeFrom = "";
            var doeTo = "";
            var registerFrom = "";
            var registerTo = "";
            var payor = "";
            #endregion
            #region Procedure
            if (clsInvoker.getDateTimePickerChecked(dtDOEFrom)) doeFrom = clsInvoker.getDateTimePickerValue(dtDOEFrom).Value.ToString("yyyy-MM-dd HH:mm");
            if (clsInvoker.getDateTimePickerChecked(dtDOETo)) doeTo = clsInvoker.getDateTimePickerValue(dtDOETo).Value.ToString("yyyy-MM-dd HH:mm");
            if (clsInvoker.getDateTimePickerChecked(dtREGFrom)) registerFrom = clsInvoker.getDateTimePickerValue(dtREGFrom).Value.ToString("yyyy-MM-dd HH:mm");
            if (clsInvoker.getDateTimePickerChecked(dtREGTo)) registerTo = clsInvoker.getDateTimePickerValue(dtREGTo).Value.ToString("yyyy-MM-dd HH:mm");
            if (clsInvoker.getComboBox(ddlPayor)!="- ทั้งหมด -") payor = clsInvoker.getComboBox(ddlPayor);
            dt = clsTempData.getPatientAutoMassConvert(doeFrom, doeTo, registerFrom, registerTo, payor);
            if(dt!=null && dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (!bwDefault.CancellationPending)
                    {
                        #region ListViewUpdate
                        clsInvoker.setListView(lvDefault, new string[]
                        {
                            DateTime.Now.ToString("yyyy-MM-dd HH:mm"),
                            dt.Rows[i]["HN"].ToString(),
                            dt.Rows[i]["Name"].ToString()+" "+dt.Rows[i]["LastName"].ToString(),
                            dt.Rows[i]["Payor"].ToString(),
                            dt.Rows[i]["DOE"].ToString(),
                            dt.Rows[i]["InsuranceCompanyName"].ToString(),
                            dt.Rows[i]["PayorAgreementName"].ToString(),
                            dt.Rows[i]["PayorDetailName"].ToString(),
                            dt.Rows[i]["PolicyMasterName"].ToString()
                        });
                        #endregion

                    }
                    else
                    {
                        #region ListViewUpdate
                        clsInvoker.setListView(lvDefault, new string[]
                        {
                            DateTime.Now.ToString("yyyy-MM-dd HH:mm"),
                            "",
                            "Cancel by User",
                            "",
                            "",
                            "",
                            "",
                            "",
                            ""
                        });
                        #endregion
                        break;
                    }
                }
            }
            else
            {
                #region ListViewUpdate
                clsInvoker.setListView(lvDefault, new string[]
                {
                    DateTime.Now.ToString("yyyy-MM-dd HH:mm"),
                    "",
                    "Don't found data for convert",
                    "",
                    "",
                    "",
                    "",
                    "",
                    ""
                });
                #endregion
            }
            #endregion
        }
        private void getPatient()
        {
            System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
            #region Variable
            var dt = new DataTable();
            var clsTempData = new clsTempData();
            var mobileStatus = "";
            #endregion
            #region Procedure
            if (rbAll.Checked)
            {
                mobileStatus = "All";
            }
            else if (rbNotRegister.Checked)
            {
                mobileStatus = "NotRegister";

            }
            else if (rbRegister.Checked)
            {
                mobileStatus = "Register";
            }
            dt = clsTempData.getPatient(dtDOEFrom.Value,dtDOETo.Value,getPayor(),mobileStatus);
            clsTempData.dtIsConverted = null;
            if (dt!=null && dt.Rows.Count > 0)
            {
                #region Check IsConvertPreOrder
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (clsTempData.IsConverted(
                        dt.Rows[i]["Name"].ToString().Replace(dt.Rows[i]["PreName"].ToString(),""),
                        dt.Rows[i]["LastName"].ToString(),
                        dt.Rows[i]["DOE"].ToString(),
                        dtDOEFrom.Value.ToString("yyyy-MM-dd HH:mm"), dtDOETo.Value.ToString("yyyy-MM-dd HH:mm")))
                    {
                        dt.Rows[i]["IsConvertPreOrder"] = "1";
                    }
                }
                dt.AcceptChanges();
                #endregion
                lblSearchResult.Text = string.Format("พบข้อมูลทั้งหมด {0} รายการ",dt.Rows.Count.ToString());
                gvPatient.DataSource = dt;
                gvPatient.Columns["PreName"].Visible = false;
                gvPatient.Columns["IsConvertPreOrder"].Visible = false;
            }
            else
            {
                lblSearchResult.Text = string.Format("ไม่พบข้อมูลที่ต้องการ");
                gvPatient.DataSource = null;
            }
            #endregion
        }