private void DataGrid_Update_CellEditEnding(object sender, System.Windows.Controls.DataGridCellEditEndingEventArgs e) { try { string editTex = ((TextBox)e.EditingElement).Text; PatientCategories patientCategories = ((FrameworkElement)e.Row).DataContext as PatientCategories; if (!patientCategories.PatientCategory_Title.Equals(editTex)) { if (MessageBox.Show("確定將<" + patientCategories.PatientCategory_Title + ">修改為<" + editTex + ">?\r\n如果是的話,所有擁有此分類的病患分類也會被更動", "提示", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { PatientCategories updateItem = (from pc in dde.PatientCategories where pc.PatientCategory_ID == patientCategories.PatientCategory_ID select pc).First(); updateItem.PatientCategory_Title = editTex; dde.SaveChanges(); } else { pcvm.PatientCategories = dde.PatientCategories.ToList(); } } } catch (Exception ex) { Error_Log.ErrorMessageOutput(ex.ToString()); } }
private void Button_PatientCategory_Click(object sender, RoutedEventArgs e) { PatientCategories patientCategories = ((FrameworkElement)sender).DataContext as PatientCategories; using (var dde = new DigiDentalEntities()) { psvm.ListPatients = (from pc in dde.Patients where pc.PatientCategories.Any(w => w.PatientCategory_ID == patientCategories.PatientCategory_ID) select pc).ToList(); } }
private void Button_CategoryAdd_Click(object sender, RoutedEventArgs e) { try { var pc = new PatientCategories() { PatientCategory_Title = textBoxCategoryInput.Text }; dde.PatientCategories.Add(pc); dde.SaveChanges(); pcvm.PatientCategories = dde.PatientCategories.ToList(); textBoxCategoryInput.Text = string.Empty; } catch (Exception ex) { Error_Log.ErrorMessageOutput(ex.ToString()); } }
private void Button_CategoryDelete_Click(object sender, RoutedEventArgs e) { try { PatientCategories patientCategories = ((FrameworkElement)sender).DataContext as PatientCategories; if (MessageBox.Show("確定刪除<" + patientCategories.PatientCategory_Title + ">分類?\r\n如果是的話,所有擁有此分類的病患分類也會被取消", "提示", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { var deleteItem = dde.PatientCategories.Where(w => w.PatientCategory_ID == patientCategories.PatientCategory_ID).First(); deleteItem.Patients.Remove(new Patients()); dde.PatientCategories.Remove(deleteItem); dde.SaveChanges(); pcvm.PatientCategories = dde.PatientCategories.ToList(); } } catch (Exception ex) { Error_Log.ErrorMessageOutput(ex.ToString()); } }
private void Button_Save_Click(object sender, RoutedEventArgs e) { try { if (Patients != null)//編輯 { if (MessageBox.Show("確定修改病患資料<" + pvm.PatientNumber + ">?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { using (var dde = new DigiDentalEntities()) { DateTime updateTime = DateTime.Now; Patients patients = (from p in dde.Patients where p.Patient_ID == Patients.Patient_ID select p).First(); patients.Patient_Number = pvm.PatientNumber; patients.Patient_Name = pvm.PatientName; patients.Patient_IDNumber = pvm.PatientIDNumber; patients.Patient_Birth = pvm.Birth; patients.Patient_Gender = pvm.GenderM; patients.UpdateDate = updateTime; if (IsRemove) { patients.Patient_Photo = null; } else { if (!string.IsNullOrEmpty(ImportPatientPhotoPath)) { PatientsFolder pf = new PatientsFolder(Agencys, patients); if (!Directory.Exists(pf.PatientFullPatientPhotoPath)) { Directory.CreateDirectory(pf.PatientFullPatientPhotoPath); } string extension = Path.GetExtension(ImportPatientPhotoPath).ToUpper(); string newFileName = DateTime.Now.ToString("yyyyMMddHHmmssffff"); File.Copy(ImportPatientPhotoPath, pf.PatientFullPatientPhotoPath + @"\" + newFileName + extension); patients.Patient_Photo = pf.PatientPhotoPath + @"\" + newFileName + extension; } } //寫入分類 List <PatientCategories> PatientCategories = dde.PatientCategories.ToList(); List <PatientCategoryInfo> PatientCategoryInfo = pvm.PatientCategoryInfo.FindAll(pci => pci.IsChecked == true); foreach (PatientCategories pc in PatientCategories) { var queryCheck = PatientCategoryInfo.FindAll(pci => pci.PatientCategory_ID == pc.PatientCategory_ID); if (queryCheck.Count() > 0) { patients.PatientCategories.Remove(pc); patients.PatientCategories.Add(pc); } else { patients.PatientCategories.Remove(pc); } } dde.SaveChanges(); MessageBox.Show("修改完成", "提示", MessageBoxButton.OK, MessageBoxImage.Information); DialogResult = true; Close(); } } } else//新增 { if (MessageBox.Show("確定新增病患<" + pvm.PatientNumber + ">?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { using (var dde = new DigiDentalEntities()) { string newPatientID = GetPatientID(); DateTime newPatientDate = DateTime.Now; //新增病患 Patients patients = new Patients() { Patient_ID = newPatientID, Patient_Number = pvm.PatientNumber, Patient_Name = pvm.PatientName, Patient_IDNumber = pvm.PatientIDNumber, Patient_Birth = pvm.Birth, Patient_Gender = pvm.GenderM, CreateDate = newPatientDate, UpdateDate = newPatientDate }; if (!string.IsNullOrEmpty(ImportPatientPhotoPath)) { PatientsFolder pf = new PatientsFolder(Agencys, patients); if (!Directory.Exists(pf.PatientFullPatientPhotoPath)) { Directory.CreateDirectory(pf.PatientFullPatientPhotoPath); } string extension = Path.GetExtension(ImportPatientPhotoPath).ToUpper(); string newFileName = DateTime.Now.ToString("yyyyMMddHHmmssffff"); File.Copy(ImportPatientPhotoPath, pf.PatientFullPatientPhotoPath + @"\" + newFileName + extension); patients.Patient_Photo = pf.PatientPhotoPath + @"\" + newFileName + extension; } //寫入分類 if (pvm.PatientCategoryInfo != null) { List <PatientCategoryInfo> PatientCategoryInfo = pvm.PatientCategoryInfo.FindAll(pcs => pcs.IsChecked == true); foreach (PatientCategoryInfo pci in PatientCategoryInfo) { PatientCategories patientCategories = (from pc in dde.PatientCategories where pc.PatientCategory_ID == pci.PatientCategory_ID select pc).First(); patients.PatientCategories.Add(patientCategories); } } dde.Patients.Add(patients); dde.SaveChanges(); MessageBox.Show("新增完成", "提示", MessageBoxButton.OK, MessageBoxImage.Information); Close(); } } } } catch (Exception ex) { Error_Log.ErrorMessageOutput(ex.ToString()); } }