private void FormEhrLabeImageEdit_Load(object sender, EventArgs e) { Height = System.Windows.Forms.Screen.GetWorkingArea(this).Height; this.SetDesktopLocation(DesktopLocation.X, 0); checkWaitingForImages.Checked = EhrLabImages.IsWaitingForImages(_ehrLabNum); _listPatientDocuments = new List <Document>(Documents.GetAllWithPat(_patNum)); _patFolder = ImageStore.GetPatientFolder(Patients.GetPat(_patNum), ImageStore.GetPreferredAtoZpath()); //This is where the pat folder gets created if it does not yet exist. _listAttached = EhrLabImages.Refresh(_ehrLabNum); FillGrid(); }
private void FillGrid() { int curSelection = gridMain.GetSelectedIndex(); gridMain.BeginUpdate(); gridMain.ListGridColumns.Clear(); gridMain.ListGridColumns.Add(new GridColumn(Lan.g("TableLabImage", "Attached"), 60, HorizontalAlignment.Center)); gridMain.ListGridColumns.Add(new GridColumn(Lan.g("TableLabImage", "Date"), 80, HorizontalAlignment.Center)); gridMain.ListGridColumns.Add(new GridColumn(Lan.g("TableLabImage", "Category"), 80, HorizontalAlignment.Center)); gridMain.ListGridColumns.Add(new GridColumn(Lan.g("TableLabImage", "Desc"), 180, HorizontalAlignment.Left)); gridMain.ListGridRows.Clear(); GridRow row; for (int i = 0; i < _listPatientDocuments.Count; i++) { if (_listPatientDocuments[i].DocNum <= 0) //Invalid doc num indicates 'Waiting for images'. This flag is set in the Load event. { continue; } //Test if this is a valid image. Bitmap bmp = ImageStore.OpenImage(_listPatientDocuments[i], _patFolder); if (bmp == null) { continue; } bmp.Dispose(); bmp = null; bool isAttached = EhrLabImages.GetDocNumExistsInList(_ehrLabNum, _listPatientDocuments[i].DocNum, _listAttached); row = new GridRow(); row.Cells.Add(isAttached?"X":""); row.Cells.Add(_listPatientDocuments[i].DateCreated.ToString()); row.Cells.Add(Defs.GetName(DefCat.ImageCats, _listPatientDocuments[i].DocCategory)); row.Cells.Add(_listPatientDocuments[i].Description); row.Tag = _listPatientDocuments[i]; gridMain.ListGridRows.Add(row); } gridMain.EndUpdate(); if (curSelection >= 0) { gridMain.SetSelected(curSelection, true); } }
private void butOK_Click(object sender, EventArgs e) { //Uncheck the waiting check box if any images are attached. User only has the option of setting the 'Waiting' flag if there are no images attached. List <long> docNums = new List <long>(); for (int i = 0; i < _listAttached.Count; i++) { if (!docNums.Contains(_listAttached[i].DocNum)) { docNums.Add(_listAttached[i].DocNum); } } if (checkWaitingForImages.Checked && docNums.Count > 0) { MsgBox.Show(this, "'Waiting for Images' is only allowed if there are no images currently attached. Detach all images or uncheck 'Waiting for Images'."); return; } EhrLabImages.InsertAllForLabNum(_ehrLabNum, checkWaitingForImages.Checked, docNums); DialogResult = DialogResult.OK; }