public static void SavePatientDocumentsStickyNotes(Patient patient, PatientDocument[] documents) { EntityModelContainer context = patient.Context; for (int i = 0; i < documents.Length; i++) { int id = documents[i].Id; DocumentStickyNote[] delNotes = context.DocumentStickyNotes.Execute(MergeOption.OverwriteChanges).Where(dn => dn.PatientDocumentId == id).ToArray(); for (int j = 0; j < delNotes.Length; j++) context.DocumentStickyNotes.DeleteObject(delNotes[j]); context.SaveChanges(); for (int k = 0; k < documents[i].DocumentStickyNotes.Count; k++) { documents[i].DocumentStickyNotes[k].PatientDocumentId = documents[i].Id; context.PatientDocuments.Attach(documents[i]); context.DocumentStickyNotes.AddObject(documents[i].DocumentStickyNotes[k]); } context.SaveChanges(); for (int k = 0; k < documents[i].DocumentStickyNotes.Count; k++) context.DocumentStickyNotes.Detach(documents[i].DocumentStickyNotes[k]); if(documents[i].EntityState!=EntityState.Detached) context.PatientDocuments.Detach(documents[i]); } }
public static void SavePatientDocumentsContents(Patient patient, PatientDocument[] documents) { EntityModelContainer context = patient.Context; for (int i = 0; i < documents.Length; i++) { int documentId = documents[i].DocumentId; documents[i].Document = new Document(); if (documents[i].Id != 0) { documents[i].Document.Id = documentId; documents[i].DocumentId = documentId; context.Documents.Attach(documents[i].Document); context.PatientDocuments.Attach(documents[i]); } else { documents[i].FileName = documents[i].FileInfo.Name; documents[i].PatientId = patient.Id; context.PatientDocuments.AddObject(documents[i]); } documents[i].Document.Content = SerializeFile(documents[i].FileInfo); documents[i].LastModifiedDate = documents[i].FileInfo.LastWriteTime; } context.SaveChanges(); for (int i = 0; i < documents.Length; i++) { context.Documents.Detach(documents[i].Document); context.PatientDocuments.Detach(documents[i]); } }
public static void SavePatientDocumentsDescription(Patient patient, PatientDocument[] documents) { EntityModelContainer context = patient.Context; for (int i = 0; i < documents.Length; i++) { context.PatientDocuments.Attach(documents[i]); context.ObjectStateManager.ChangeObjectState(documents[i], EntityState.Modified); context.SaveChanges(); } for (int i = 0; i < documents.Length; i++) context.PatientDocuments.Detach(documents[i]); }
/// <summary> /// Loads patient`s Document to file System. /// </summary> private void LoadFromDatabase() { CheckError(); try { PatientDocument[] lstDbDocuments = DataLayer.GetPatientFileDetails(_patient); _list.Clear(); _list.AddRange(lstDbDocuments); FileInfo[] lstSystemDocuments = GetPatientSystemDocuments(); PatientDocument[] documents = GetDif(lstDbDocuments, lstSystemDocuments); DataLayer.LoadPatientDocuments(_patient, _patientDirectory, documents); FileInfo[] patientFiles = GetPatientSystemDocuments(); for (int i = 0; i < patientFiles.Length; i++) { PatientDocument pd = _list.SingleOrDefault(d => d.FileName == patientFiles[i].Name); if (pd == null) { PatientDocument newPd = new PatientDocument { FileInfo = patientFiles[i] }; _list.Add(newPd); } else pd.FileInfo = patientFiles[i]; } } catch (Exception exp) { Logger.Logger.Log(exp, "LoadFromDatabase"); throw; } }
public static void LoadPatientDocuments(Patient patient, DirectoryInfo patientDirectory, PatientDocument[] documents) { EntityModelContainer context = patient.Context; for (int i = 0; i < documents.Length; i++) { try { string path = Path.Combine(patientDirectory.FullName, documents[i].FileName); int documentId = documents[i].DocumentId; Deserialize(path, context.Documents.First(d => d.Id == documentId)); File.SetLastWriteTime(path, documents[i].LastModifiedDate); } catch { } } }
private PatientDocument[] GetDif(PatientDocument[] lstDbDocuments) { List<PatientDocument> lst = new List<PatientDocument>(); for (int i = 0; i < _list.Count; i++) { _list[i].FileInfo.Refresh(); PatientDocument temp = lstDbDocuments.SingleOrDefault(d => d.FileName == _list[i].FileInfo.Name); if (temp == null || _list[i].FileInfo.LastWriteTime > temp.LastModifiedDate) lst.Add(_list[i]); } return lst.ToArray(); }
private PatientDocument[] GetDif(PatientDocument[] lstDbDocuments, FileInfo[] lstSystemDocuments) { return (from t in lstDbDocuments let temp = lstSystemDocuments.SingleOrDefault(d => d.Name == t.FileName) where temp == null || t.LastModifiedDate > temp.LastWriteTime select t) .ToArray(); /* List<PatientDocument> lst = new List<PatientDocument>(); for (int i = 0; i < lstDbDocuments.Length; i++) { FileInfo temp = lstSystemDocuments.SingleOrDefault(d => d.Name == lstDbDocuments[i].FileName); if (temp == null || lstDbDocuments[i].LastModifiedDate > temp.LastWriteTime) lst.Add(lstDbDocuments[i]); } return lst.ToArray(); */ }
private void AddToDocumentList(FileInfo file) { if (_list.All(d => d.FileName != file.Name) || _list.Count==0) { PatientDocument pd = new PatientDocument {FileInfo = file}; _list.Add(pd); } }
public DocumentPictureBox(PatientDocument pd) : base() { pictureDoc = pd; }
/// <summary> /// Deprecated Method for adding a new object to the PatientDocuments EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToPatientDocuments(PatientDocument patientDocument) { base.AddObject("PatientDocuments", patientDocument); }
/// <summary> /// Create a new PatientDocument object. /// </summary> /// <param name="id">Initial value of the Id property.</param> /// <param name="patientId">Initial value of the PatientId property.</param> /// <param name="documentId">Initial value of the DocumentId property.</param> /// <param name="lastModifiedDate">Initial value of the LastModifiedDate property.</param> /// <param name="fileName">Initial value of the FileName property.</param> public static PatientDocument CreatePatientDocument(global::System.Int32 id, global::System.Int32 patientId, global::System.Int32 documentId, global::System.DateTime lastModifiedDate, global::System.String fileName) { PatientDocument patientDocument = new PatientDocument(); patientDocument.Id = id; patientDocument.PatientId = patientId; patientDocument.DocumentId = documentId; patientDocument.LastModifiedDate = lastModifiedDate; patientDocument.FileName = fileName; return patientDocument; }
private void setSmallImages(PatientDocument pd) { DocumentPictureBox pb = new DocumentPictureBox(pd); Image smallImages; if (imgExtention.Contains(pd.FileInfo.Extension.Trim('.').ToLower())) { smallImages = Image.FromFile(pd.FileInfo.FullName); pb.IsImage = true; } else { pb.IsImage = false; smallImages = Icon.ExtractAssociatedIcon(pd.FileInfo.FullName).ToBitmap(); } int ParentWidth = (!panelImages.VerticalScroll.Enabled) ? panelImages.Width-20 : panelImages.Width; pb.Width = ParentWidth; pb.Height = 50; pb.Location = new Point(0, panelImages.Controls[panelImages.Controls.Count - 1].Location.Y + panelImages.Controls[panelImages.Controls.Count - 1].Height+15); pb.InitialImage = smallImages; pb.Image = smallImages.GetThumbnailImage(50, 50, null, IntPtr.Zero); pb.SizeMode = PictureBoxSizeMode.CenterImage; pb.MouseClick += new MouseEventHandler(thumbnail_Click); pb.DoubleClick += new EventHandler(pb_DoubleClick); pb.BorderStyle = BorderStyle.FixedSingle; panelImages.Controls.Add(pb); panelImages.Controls.Add(new Label() { TextAlign = ContentAlignment.MiddleCenter, Text = pd.FileInfo.Name, ForeColor = Color.Black, Width = ParentWidth, Height = 20/*,BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle*/, Location = new Point(0, panelImages.Controls[panelImages.Controls.Count - 1].Location.Y + panelImages.Controls[panelImages.Controls.Count - 1].Height) }); }