コード例 #1
0
        public void SetData(tb_patient _patient)
        {
            patient       = _patient;
            txtMaSo.Text  = patient.PatientID;
            txtHoTen.Text = patient.FullName;
            ((CustomControl.Item)cbGioiTinh.SelectedItem).Name = (patient.Gender != null && !patient.Gender.Equals(""))?patient.Gender:"Khác";
            txtDiDong.Text = patient.MobilePhone;
            if (patient.Birthday != null)
            {
                this.dtpNgaySinh.Checked = true;
                dtpNgaySinh.Value        = (DateTime)patient.Birthday;
            }
            else
            {
                this.dtpNgaySinh.Checked = false;
            }
            txtHomThu.Text = patient.Email;
            if (patient.Marital != null)
            {
                cbHonNhan.SelectedValue = patient.Marital;
            }
            if (patient.ProfessionID != null && !patient.ProfessionID.Equals(""))
            {
                cbNgheNghiep.SelectedValue = patient.ProfessionID;
            }
            txtDiaChi.Text = patient.Address;
            txtGhiChu.Text = patient.Note;

            SetEnableComponents(false);
        }
コード例 #2
0
        private bool CheckDataInput()
        {
            // Thêm mới thông tin
            if (patient == null)
            {
                // Kiểm tra có trùng mã ID
                tb_patient _patient = PatientModelManage.Instance.FindPatientByCode(txtMaSo.Text);
                if (_patient != null)
                {
                    MessageBoxEX.DialogMessageBox("Thông báo", "Mã bệnh nhân đã tồn tại", "Vui lòng kiểm tra mã bệnh nhân. Mã này đã tồn tại trong hệ thống");
                    return(false);
                }
            }
            // Sửa lại thông tin
            else
            {
                return(true);
            }

            // Kiểm tra nhập tên khác rỗng
            if (txtHoTen.Text.Equals(""))
            {
                MessageBoxEX.DialogMessageBox("Thông báo", "Tên bệnh nhân không được để trống", "Trường tên không được để trống. Yêu cầu phải nhập tên bệnh nhân");
                return(false);
            }

            return(true);
        }
コード例 #3
0
 public bool RemovePatient(string patientID)
 {
     using (ModelEntities database = new ModelEntities())
     {
         tb_patient patient = database.tb_patient.SingleOrDefault(p => p.PatientID == patientID);
         database.tb_patient.Remove(patient);
         database.SaveChanges();
         return(true);
     }
 }
コード例 #4
0
 public void ResetGui()
 {
     patient                  = null;
     txtMaSo.Text             = "";
     txtHoTen.Text            = "";
     dtpNgaySinh.Checked      = false;
     txtDiaChi.Text           = "";
     cbGioiTinh.SelectedIndex = 0;
     txtDiDong.Text           = "";
     txtHomThu.Text           = "";
     txtGhiChu.Text           = "";
     AutoCodePatient();
 }
コード例 #5
0
 private void grvDSBenhNhan_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     if (this.grvDSBenhNhan.CurrentRow != null)
     {
         tb_patient         patient = (tb_patient)this.grvDSBenhNhan.CurrentRow.DataBoundItem;
         PanelCreatePatient panel   = new PanelCreatePatient();
         panel.Dock             = DockStyle.Fill;
         panel.PanelListPatient = this;
         panel.SetData(patient);
         FormDialogMain form = new FormDialogMain(panel);
         form.Text           = "Chi tiết bệnh nhân";
         form.TitleForm      = "Chi tiết hồ sơ bệnh nhân";
         form.DesciptionForm = "Hiển thị hồ sơ thông tin chi tiết của bệnh nhân";
         form.ShowDialog();
     }
 }
コード例 #6
0
 private void mnButton_Del_Click(object sender, EventArgs e)
 {
     if (this.grvDSBenhNhan.CurrentRow != null)
     {
         tb_patient   patient = (tb_patient)this.grvDSBenhNhan.CurrentRow.DataBoundItem;
         DialogResult result  = ManagerPartient.CustomControl.MessageBoxEX.DialogMessageBox("Thông báo", "Bạn chắc chắn muốn xóa bệnh nhân '" + patient.FullName + "' chứ?", "Dữ liệu xóa sẽ không thể lấy lại, bạn nên cân nhắc trước khi xóa");
         if (result.Equals(DialogResult.OK))
         {
             bool flag = PatientModelManage.Instance.RemovePatient(patient.PatientID);
             if (flag)
             {
                 Int32 rowToDelete = this.grvDSBenhNhan.Rows.GetFirstRow(DataGridViewElementStates.Selected);
                 this.grvDSBenhNhan.Rows.RemoveAt(rowToDelete);
                 this.grvDSBenhNhan.ClearSelection();
             }
         }
     }
 }
コード例 #7
0
        public bool UpdatePatient(tb_patient _patient)
        {
            using (ModelEntities database = new ModelEntities())
            {
                tb_patient patient = database.tb_patient.SingleOrDefault(p => p.PatientID == _patient.PatientID);
                patient.FullName     = _patient.FullName;
                patient.Birthday     = _patient.Birthday;
                patient.Address      = _patient.Address;
                patient.Gender       = _patient.Gender;
                patient.MobilePhone  = _patient.MobilePhone;
                patient.Email        = _patient.Email;
                patient.ProfessionID = _patient.tb_profession.ProfessionID;
                patient.Marital      = _patient.Marital;
                patient.Note         = _patient.Note;

                database.SaveChanges();
                return(true);
            }
        }
コード例 #8
0
        private tb_patient GetData()
        {
            patient           = new tb_patient();
            patient.PatientID = txtMaSo.Text;
            patient.FullName  = txtHoTen.Text;
            if (dtpNgaySinh.Checked)
            {
                patient.Birthday = new DateTime(dtpNgaySinh.Value.Year, dtpNgaySinh.Value.Month, dtpNgaySinh.Value.Day);
            }
            patient.Address     = txtDiaChi.Text;
            patient.Gender      = ((CustomControl.Item)cbGioiTinh.SelectedItem).Value;
            patient.MobilePhone = txtDiDong.Text;
            patient.Marital     = ((CustomControl.Item)cbHonNhan.SelectedItem).Value;
            if (cbNgheNghiep.SelectedItem != null)
            {
                patient.tb_profession = (tb_profession)cbNgheNghiep.SelectedItem;
            }
            patient.Email = txtHomThu.Text;
            patient.Note  = txtGhiChu.Text;

            return(patient);
        }
コード例 #9
0
ファイル: PanelRestoreData.cs プロジェクト: anhnnp/Nhakhoaso
        public void finish()
        {
            if(rbRetoreAll.Checked)
            {
                if (!txtPathFile.Text.Contains(".bak"))
                {
                    MessageBox.Show("File không hợp lệ !");
                    return;
                }

                ManagerPartient.CustomControl.FormLoad f = new ManagerPartient.CustomControl.FormLoad();
                f.TopMost = true;
                f.TopLevel = true;
                f.Size = new System.Drawing.Size(SystemInformation.VirtualScreen.Width, SystemInformation.VirtualScreen.Height);
                f.WindowState = FormWindowState.Maximized;
                f.Show();

                try
                {
                    con = new SqlConnection("Data Source=.\\SQLEXPRESS;Database=Master;data source=.; uid=sa; pwd=123456;");
                    con.Open();
                    cmd = new SqlCommand("ALTER DATABASE nks_db SET SINGLE_USER WITH ROLLBACK IMMEDIATE", con);
                    cmd.ExecuteNonQuery();
                    cmd = new SqlCommand("Restore database nks_db from disk='" + txtPathFile.Text + "' with replace", con);
                    cmd.ExecuteNonQuery();
                    cmd = new SqlCommand("alter database nks_db set multi_user", con);
                    cmd.ExecuteNonQuery();
                    con.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    f.Close();
                }

                DialogResult dialogResult = MessageBoxEX.DialogMessageBox("Thông báo", "Khôi phục dữ liệu thành công", "");
                if (dialogResult.Equals(DialogResult.OK))
                {
                    this.ParentForm.Close();
                    System.Diagnostics.Process.Start(Application.ExecutablePath);
                    //Application.Exit();
                    System.Diagnostics.Process.GetCurrentProcess().Kill();
                }
            }
            else
            {
                if (rbInsertData.Checked)
                {
                    List<tb_patient> patients = new List<tb_patient>();
                    List<tb_patient> patientsNotVaild = new List<tb_patient>();
                    bool flagRowEmpty = false;
                    DataTable tableSheet = ExcelWriter.ImportExcel(txtPathFile.Text);

                    for (int i = 0; i < tableSheet.Rows.Count; i++)
                    {
                        // Duyệt từng dòng lấy dữ liệu
                        tb_patient patient = new tb_patient();
                        patient.PatientID = tableSheet.Rows[i]["PatientID"].ToString();
                        patient.FullName = tableSheet.Rows[i]["FullName"].ToString();
                        Object birthday = tableSheet.Rows[i]["Birthday"];
                        if (birthday != null && !birthday.ToString().Equals(""))
                            patient.Birthday = DateTime.Parse(birthday.ToString(), new System.Globalization.CultureInfo("en-CA"));
                        patient.Gender = (tableSheet.Rows[i]["Gender"].ToString().Equals("Nam") ? "Male" : (tableSheet.Rows[i]["Gender"].ToString().Equals("Nữ") ? "Female" : "Other"));
                        patient.MobilePhone = tableSheet.Rows[i]["MobilePhone"].ToString();
                        patient.Tel = tableSheet.Rows[i]["Tel"].ToString();
                        patient.Email = tableSheet.Rows[i]["Email"].ToString();
                        patient.Address = tableSheet.Rows[i]["Address"].ToString();
                        patient.Note = tableSheet.Rows[i]["_Note"].ToString();

                        // Kiểm tra dòng này đã là dòng trống chưa?
                        if (patient.PatientID.Equals("") && patient.FullName.Equals("") && patient.Address.Equals(""))
                        {
                            if (flagRowEmpty)
                                break;
                            flagRowEmpty = true;
                        }
                        else flagRowEmpty = false;

                        // Không phải dòng trống thì add list
                        if (!flagRowEmpty)
                        {
                            // Kiểm tra cell mã không được bỏ trống
                            if (!patient.PatientID.Equals(""))
                            {
                                // Kiểm tra có trùng mã không?
                                tb_patient patientChk = PatientModelManage.Instance.FindPatientByCode(patient.PatientID);
                                if (patientChk != null)
                                {
                                    patient.Gender = patient.Gender.Equals("Male") ? "Nam" : (patient.Gender.Equals("Female") ? "Nữ" : "Khác");
                                    patientsNotVaild.Add(patient);
                                }
                                else
                                    patients.Add(patient);
                            }
                            else
                            {
                                patient.Gender = patient.Gender.Equals("Male") ? "Nam" : (patient.Gender.Equals("Female") ? "Nữ" : "Khác");
                                // Nếu bất kì lỗi gì thì add vào list ko hợp lệ
                                patientsNotVaild.Add(patient);
                            }
                        }
                    }

                    if (patientsNotVaild.Count > 0)
                    {
                        DialogResult result = MessageBoxEX.DialogMessageBox("Thông báo", "Dữ liệu trong file excel có lỗi. Bạn muốn tiếp tục không ghi dữ liệu vào hệ thống?", "Nếu tiếp tục bạn chương trình sẽ xuất ra file Excel các bản ghi lỗi. Còn các bản ghi hợp lệ sẽ được lưu vào trong hệ thống");

                        // Ghi dữ liệu lỗi ra file Excel và hiển thị nó lên
                        string directoryPath = System.IO.Path.GetDirectoryName(txtPathFile.Text);
                        ExcelWriter.WriteExcelFile<tb_patient>(directoryPath + "\\dataError.xls", patientsNotVaild, true);
                        if (result.Equals(DialogResult.Cancel))
                            return;
                    }

                    if (patients.Count > 0)
                    {
                        ManagerPartient.CustomControl.FormLoad f = new ManagerPartient.CustomControl.FormLoad();
                        f.TopMost = true;
                        f.TopLevel = true;
                        f.Size = new System.Drawing.Size(SystemInformation.VirtualScreen.Width,SystemInformation.VirtualScreen.Height);
                        f.WindowState = FormWindowState.Maximized;
                        f.Show();
                        int num = 0;
                        foreach (tb_patient p in patients)
                        {
                            bool flagSave = PatientModelManage.Instance.CreatePatient(p);
                            if (flagSave) num += 1;
                        }
                        f.Close();
                        DialogResult dialogResult = MessageBoxEX.DialogMessageBox("Thông báo", "Đã hoàn thành thêm " + num + " bản ghi vào hệ thống", "");
                        if (dialogResult.Equals(DialogResult.OK))
                            this.ParentForm.Close();
                        return;
                    }
                    else
                    {
                        MessageBoxEX.DialogMessageBox("Thông báo", "Dữ liệu trong file excel trống.", "Bạn hãy kiểm tra lại");
                        return;
                    }
                }
            }
        }
コード例 #10
0
        private tb_patient GetData()
        {
            patient = new tb_patient();
            patient.PatientID = txtMaSo.Text;
            patient.FullName = txtHoTen.Text;
            if(dtpNgaySinh.Checked)
                patient.Birthday = new DateTime(dtpNgaySinh.Value.Year, dtpNgaySinh.Value.Month, dtpNgaySinh.Value.Day);
            patient.Address = txtDiaChi.Text;
            patient.Gender = ((CustomControl.Item)cbGioiTinh.SelectedItem).Value;
            patient.MobilePhone = txtDiDong.Text;
            patient.Marital = ((CustomControl.Item)cbHonNhan.SelectedItem).Value;
            if (cbNgheNghiep.SelectedItem != null)
                patient.tb_profession = (tb_profession)cbNgheNghiep.SelectedItem;
            patient.Email = txtHomThu.Text;
            patient.Note = txtGhiChu.Text;

            return patient;
        }
コード例 #11
0
        public void SetData(tb_patient _patient)
        {
            patient = _patient;
            txtMaSo.Text = patient.PatientID;
            txtHoTen.Text = patient.FullName;
            ((CustomControl.Item)cbGioiTinh.SelectedItem).Name = (patient.Gender != null && !patient.Gender.Equals(""))?patient.Gender:"Khác";
            txtDiDong.Text = patient.MobilePhone;
            if (patient.Birthday != null)
            {
                this.dtpNgaySinh.Checked = true;
                dtpNgaySinh.Value = (DateTime)patient.Birthday;
            }
            else
            {
                this.dtpNgaySinh.Checked = false;
            }
            txtHomThu.Text = patient.Email;
            if (patient.Marital != null)
                cbHonNhan.SelectedValue = patient.Marital;
            if (patient.ProfessionID != null && !patient.ProfessionID.Equals(""))
                cbNgheNghiep.SelectedValue = patient.ProfessionID;
            txtDiaChi.Text = patient.Address;
            txtGhiChu.Text = patient.Note;

            SetEnableComponents(false);
        }
コード例 #12
0
 public void ResetGui()
 {
     patient = null;
     txtMaSo.Text = "";
     txtHoTen.Text = "";
     dtpNgaySinh.Checked = false;
     txtDiaChi.Text = "";
     cbGioiTinh.SelectedIndex = 0;
     txtDiDong.Text = "";
     txtHomThu.Text = "";
     txtGhiChu.Text = "";
     AutoCodePatient();
 }
コード例 #13
0
 public bool CreatePatient(tb_patient _patient)
 {
     dataContext.tb_patient.Add(_patient);
     dataContext.SaveChanges();
     return true;
 }
コード例 #14
0
        public bool UpdatePatient(tb_patient _patient)
        {
            using (ModelEntities database = new ModelEntities())
            {
                tb_patient patient = database.tb_patient.SingleOrDefault(p => p.PatientID == _patient.PatientID);
                patient.FullName = _patient.FullName;
                patient.Birthday = _patient.Birthday;
                patient.Address = _patient.Address;
                patient.Gender = _patient.Gender;
                patient.MobilePhone = _patient.MobilePhone;
                patient.Email = _patient.Email;
                patient.ProfessionID = _patient.tb_profession.ProfessionID;
                patient.Marital = _patient.Marital;
                patient.Note = _patient.Note;

                database.SaveChanges();
                return true;
            }
        }
コード例 #15
0
 public bool CreatePatient(tb_patient _patient)
 {
     dataContext.tb_patient.Add(_patient);
     dataContext.SaveChanges();
     return(true);
 }
コード例 #16
0
        public void finish()
        {
            if (rbRetoreAll.Checked)
            {
                if (!txtPathFile.Text.Contains(".bak"))
                {
                    MessageBox.Show("File không hợp lệ !");
                    return;
                }

                ManagerPartient.CustomControl.FormLoad f = new ManagerPartient.CustomControl.FormLoad();
                f.TopMost     = true;
                f.TopLevel    = true;
                f.Size        = new System.Drawing.Size(SystemInformation.VirtualScreen.Width, SystemInformation.VirtualScreen.Height);
                f.WindowState = FormWindowState.Maximized;
                f.Show();

                try
                {
                    con = new SqlConnection("Data Source=.\\SQLEXPRESS;Database=Master;data source=.; uid=sa; pwd=123456;");
                    con.Open();
                    cmd = new SqlCommand("ALTER DATABASE nks_db SET SINGLE_USER WITH ROLLBACK IMMEDIATE", con);
                    cmd.ExecuteNonQuery();
                    cmd = new SqlCommand("Restore database nks_db from disk='" + txtPathFile.Text + "' with replace", con);
                    cmd.ExecuteNonQuery();
                    cmd = new SqlCommand("alter database nks_db set multi_user", con);
                    cmd.ExecuteNonQuery();
                    con.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                finally
                {
                    f.Close();
                }


                DialogResult dialogResult = MessageBoxEX.DialogMessageBox("Thông báo", "Khôi phục dữ liệu thành công", "");
                if (dialogResult.Equals(DialogResult.OK))
                {
                    this.ParentForm.Close();
                    System.Diagnostics.Process.Start(Application.ExecutablePath);
                    //Application.Exit();
                    System.Diagnostics.Process.GetCurrentProcess().Kill();
                }
            }
            else
            {
                if (rbInsertData.Checked)
                {
                    List <tb_patient> patients         = new List <tb_patient>();
                    List <tb_patient> patientsNotVaild = new List <tb_patient>();
                    bool      flagRowEmpty             = false;
                    DataTable tableSheet = ExcelWriter.ImportExcel(txtPathFile.Text);

                    for (int i = 0; i < tableSheet.Rows.Count; i++)
                    {
                        // Duyệt từng dòng lấy dữ liệu
                        tb_patient patient = new tb_patient();
                        patient.PatientID = tableSheet.Rows[i]["PatientID"].ToString();
                        patient.FullName  = tableSheet.Rows[i]["FullName"].ToString();
                        Object birthday = tableSheet.Rows[i]["Birthday"];
                        if (birthday != null && !birthday.ToString().Equals(""))
                        {
                            patient.Birthday = DateTime.Parse(birthday.ToString(), new System.Globalization.CultureInfo("en-CA"));
                        }
                        patient.Gender      = (tableSheet.Rows[i]["Gender"].ToString().Equals("Nam") ? "Male" : (tableSheet.Rows[i]["Gender"].ToString().Equals("Nữ") ? "Female" : "Other"));
                        patient.MobilePhone = tableSheet.Rows[i]["MobilePhone"].ToString();
                        patient.Tel         = tableSheet.Rows[i]["Tel"].ToString();
                        patient.Email       = tableSheet.Rows[i]["Email"].ToString();
                        patient.Address     = tableSheet.Rows[i]["Address"].ToString();
                        patient.Note        = tableSheet.Rows[i]["_Note"].ToString();

                        // Kiểm tra dòng này đã là dòng trống chưa?
                        if (patient.PatientID.Equals("") && patient.FullName.Equals("") && patient.Address.Equals(""))
                        {
                            if (flagRowEmpty)
                            {
                                break;
                            }
                            flagRowEmpty = true;
                        }
                        else
                        {
                            flagRowEmpty = false;
                        }

                        // Không phải dòng trống thì add list
                        if (!flagRowEmpty)
                        {
                            // Kiểm tra cell mã không được bỏ trống
                            if (!patient.PatientID.Equals(""))
                            {
                                // Kiểm tra có trùng mã không?
                                tb_patient patientChk = PatientModelManage.Instance.FindPatientByCode(patient.PatientID);
                                if (patientChk != null)
                                {
                                    patient.Gender = patient.Gender.Equals("Male") ? "Nam" : (patient.Gender.Equals("Female") ? "Nữ" : "Khác");
                                    patientsNotVaild.Add(patient);
                                }
                                else
                                {
                                    patients.Add(patient);
                                }
                            }
                            else
                            {
                                patient.Gender = patient.Gender.Equals("Male") ? "Nam" : (patient.Gender.Equals("Female") ? "Nữ" : "Khác");
                                // Nếu bất kì lỗi gì thì add vào list ko hợp lệ
                                patientsNotVaild.Add(patient);
                            }
                        }
                    }

                    if (patientsNotVaild.Count > 0)
                    {
                        DialogResult result = MessageBoxEX.DialogMessageBox("Thông báo", "Dữ liệu trong file excel có lỗi. Bạn muốn tiếp tục không ghi dữ liệu vào hệ thống?", "Nếu tiếp tục bạn chương trình sẽ xuất ra file Excel các bản ghi lỗi. Còn các bản ghi hợp lệ sẽ được lưu vào trong hệ thống");

                        // Ghi dữ liệu lỗi ra file Excel và hiển thị nó lên
                        string directoryPath = System.IO.Path.GetDirectoryName(txtPathFile.Text);
                        ExcelWriter.WriteExcelFile <tb_patient>(directoryPath + "\\dataError.xls", patientsNotVaild, true);
                        if (result.Equals(DialogResult.Cancel))
                        {
                            return;
                        }
                    }

                    if (patients.Count > 0)
                    {
                        ManagerPartient.CustomControl.FormLoad f = new ManagerPartient.CustomControl.FormLoad();
                        f.TopMost     = true;
                        f.TopLevel    = true;
                        f.Size        = new System.Drawing.Size(SystemInformation.VirtualScreen.Width, SystemInformation.VirtualScreen.Height);
                        f.WindowState = FormWindowState.Maximized;
                        f.Show();
                        int num = 0;
                        foreach (tb_patient p in patients)
                        {
                            bool flagSave = PatientModelManage.Instance.CreatePatient(p);
                            if (flagSave)
                            {
                                num += 1;
                            }
                        }
                        f.Close();
                        DialogResult dialogResult = MessageBoxEX.DialogMessageBox("Thông báo", "Đã hoàn thành thêm " + num + " bản ghi vào hệ thống", "");
                        if (dialogResult.Equals(DialogResult.OK))
                        {
                            this.ParentForm.Close();
                        }
                        return;
                    }
                    else
                    {
                        MessageBoxEX.DialogMessageBox("Thông báo", "Dữ liệu trong file excel trống.", "Bạn hãy kiểm tra lại");
                        return;
                    }
                }
            }
        }