⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 diagnosticsform.ascx.cs

📁 医疗决策支持系统
💻 CS
字号:
namespace Caisis.UI.Modules.All.DataEntryForms
{
	using System;
	using System.Data;
	using System.Data.SqlClient;
	using System.Drawing;
	using System.Web;
	using System.Web.UI.WebControls;
	using System.Web.UI.HtmlControls;
	using System.Collections;
	using System.Collections.Specialized;

	using Caisis.Controller;
	using Caisis.DataAccess;
	using Caisis.BusinessObject;

	using Caisis.UI.Core.Classes;
	using Caisis.UI.Core.Classes.CustomControls;

	public abstract class DiagnosticsForm : DataEntryControl
	{

		protected HtmlInputCheckBox DxPending;
		protected HtmlInputText DxDateText;
		protected HtmlInputText DxDate;
		protected HtmlSelect DxType;
		protected HtmlInputText DxSummary;
		protected HtmlSelect DxSide;
		protected HtmlSelect DxTarget;
		protected ComboBox DxResult;
		protected ComboBox DxPhysician;
		protected ComboBox DxInstitution;
		protected HtmlInputCheckBox ImgReviewed;
		protected HtmlInputCheckBox ImgCompared;
		protected HtmlInputCheckBox ImgDigitized;
		protected HtmlSelect ImgContrast;
		protected HtmlTextArea DxNotes;
		protected ComboBox DxDataSource;
		protected HtmlSelect DxQuality;
		protected HtmlInputHidden DiagnosticId;

		protected HyperLink DxImageProstateFormLink;
		protected HyperLink DxImageFindingsFormLink;
		protected HyperLink DxImageFindingsKidneyFormLink;
		protected HyperLink DxImageFindingsProstateFormLink;

		protected HtmlImage DxDateTextCal;

		override protected void Page_Load(object sender, System.EventArgs e)
		{

			//populate look up and distinct value select boxes			
			PageUtil.FillLkpDropDown(DxType, "DxType", ViewState);
			PageUtil.FillLkpDropDown(DxSide, "FindSide", ViewState);
			PageUtil.FillLkpDropDown(DxTarget, "DxTarget", ViewState);
			PageUtil.FillLkpDropDown(ImgContrast, "ImgContrast", ViewState);
			PageUtil.FillLkpDropDown(DxQuality, "DataQuality", ViewState);

			//create arrays that populate combo boxes
			Page.RegisterClientScriptBlock("DxInstitution", PageUtil.FillComboDropDown(DxInstitution.RefBy, "Institution"));
			Page.RegisterClientScriptBlock("DxPhysician", PageUtil.FillComboDropDown(DxPhysician.RefBy, "DxPhysician"));
			Page.RegisterClientScriptBlock("DxDataSource", PageUtil.FillComboDropDown(DxDataSource.RefBy, "DataSource"));
			Page.RegisterClientScriptBlock("DxResult", PageUtil.FillComboDropDown(DxResult.RefBy, "DxResult"));
			
			//required fields array
			Page.RegisterArrayDeclaration("requiredFieldArray","'"+DxType.ClientID+"'");

			PageUtil.AddCalendarFunction(DxDateTextCal, DxDateText);
			PageUtil.AddFuzzyDateFunction(DxDateText, DxDate);


			base.Page_Load(sender, e);
		}

		override protected object SaveViewState()
		{
			//add select and combo boxes to view state
			
			PageUtil.AddSelectToViewState(ViewState,DxType);
			PageUtil.AddSelectToViewState(ViewState,DxSide);
			PageUtil.AddSelectToViewState(ViewState,DxTarget);
			PageUtil.AddSelectToViewState(ViewState,ImgContrast);
			PageUtil.AddSelectToViewState(ViewState,DxQuality);
			
			PageUtil.AddComboToViewState(ViewState,DxInstitution);
			PageUtil.AddComboToViewState(ViewState,DxPhysician);
			PageUtil.AddComboToViewState(ViewState,DxDataSource);
			PageUtil.AddComboToViewState(ViewState,DxResult);

			return base.SaveViewState();
		}

		override public HtmlInputHidden GetPrimKeyField()
		{
			return DiagnosticId;
		}

		override protected DataEntryController GetController()
		{
			return new DataEntryController(new DiagnosticDa(), Diagnostic.DiagnosticId); //NOTE: fix args
		}

		override protected void SetDataEntryInfo()
		{
			this._tableInfo = "Diagnostics";
			this._dataEntryTitle = "Diagnostics";
		}

		override protected BizObject GetParams()
		{
			Diagnostic biz = new Diagnostic();
			DataRow dr = biz.Tables[Diagnostic.Table_Diagnostics].NewRow();

			dr[Diagnostic.DiagnosticId] = PageUtil.ObjToInt(DiagnosticId.Value);

			//below assignment only valid for text and textarea input.. need to modify for other form elements
			//selects use: Request.Form[FieldName.UniqueID].ToString();
			//dates use: PageUtil.ObjToDateTime(FieldName.Value);
			//checkbox use: if(SurgPending.Checked){dr[Surgery.SurgPending] = 1;}
			//Patient ID should = this.patientID
			
			dr[Diagnostic.PatientId] = this.patientID;
			 
			dr[Diagnostic.DxPending] = DxPending.Checked;
		
			dr[Diagnostic.DxDateText] = Request.Form[DxDateText.UniqueID].ToString();
			dr[Diagnostic.DxDate] = PageUtil.ObjToDateTime(DxDate.Value);
			dr[Diagnostic.DxType] = Request.Form[DxType.UniqueID].ToString();
			dr[Diagnostic.DxSummary] = DxSummary.Value;
			dr[Diagnostic.DxSide] = Request.Form[DxSide.UniqueID].ToString();
			dr[Diagnostic.DxTarget] = Request.Form[DxTarget.UniqueID].ToString();
			dr[Diagnostic.DxResult] = Request.Form[DxResult.UniqueID].ToString();
			dr[Diagnostic.DxPhysician] = Request.Form[DxPhysician.UniqueID].ToString();
			dr[Diagnostic.DxInstitution] = Request.Form[DxInstitution.UniqueID].ToString();
			
			dr[Diagnostic.ImgReviewed] = ImgReviewed.Checked;
			dr[Diagnostic.ImgCompared] = ImgCompared.Checked;
			dr[Diagnostic.ImgDigitized] = ImgDigitized.Checked;
			
			dr[Diagnostic.ImgContrast] = Request.Form[ImgContrast.UniqueID].ToString();
			dr[Diagnostic.DxNotes] = DxNotes.Value;
			dr[Diagnostic.DxDataSource] = Request.Form[DxDataSource.UniqueID].ToString();
			dr[Diagnostic.DxQuality] = Request.Form[DxQuality.UniqueID].ToString();

			AddBaseParams(dr);
			biz.Tables[Diagnostic.Table_Diagnostics].Rows.Add(dr);
			biz.AcceptChanges();
			return biz;

		}

		protected override void SetFields(BizObject bz)
		{
			Diagnostic biz = (Diagnostic)bz;
			DataRow dr = biz.Tables[Diagnostic.Table_Diagnostics].Rows[0];
	
			DiagnosticId.Value = dr[Diagnostic.DiagnosticId].ToString();

			PageUtil.SetCheckBox(DxPending, dr[Diagnostic.DxPending]);

			DxDateText.Value = dr[Diagnostic.DxDateText].ToString();
			DxDate.Value = PageUtil.ObjToDateString(dr[Diagnostic.DxDate]);
			PageUtil.SelectDropDownItem(DxType, dr[Diagnostic.DxType]);
			DxSummary.Value = dr[Diagnostic.DxSummary].ToString();
			PageUtil.SelectDropDownItem(DxSide, dr[Diagnostic.DxSide]);
			PageUtil.SelectDropDownItem(DxTarget, dr[Diagnostic.DxTarget]);
			DxResult.Value = dr[Diagnostic.DxResult].ToString();
			DxPhysician.Value = dr[Diagnostic.DxPhysician].ToString();
			DxInstitution.Value = dr[Diagnostic.DxInstitution].ToString();
			PageUtil.SetCheckBox(ImgReviewed, dr[Diagnostic.ImgReviewed]);
			PageUtil.SetCheckBox(ImgCompared, dr[Diagnostic.ImgCompared]);
			PageUtil.SetCheckBox(ImgDigitized, dr[Diagnostic.ImgDigitized]);
			PageUtil.SelectDropDownItem(ImgContrast, dr[Diagnostic.ImgContrast]);
			DxNotes.Value = dr[Diagnostic.DxNotes].ToString();
			DxDataSource.Value = dr[Diagnostic.DxDataSource].ToString();
			PageUtil.SelectDropDownItem(DxQuality, dr[Diagnostic.DxQuality]);

			SetBaseFields(dr);

			SetSubPageLinks();
		}

		protected void SetSubPageLinks()
		{
			//enable links and set the url's
			if(DiagnosticId != null && !DiagnosticId.Value.Equals(""))
			{
				//ADD logic so active link is dependent on target specified
				DxImageProstateFormLink.NavigateUrl = "DataEntryContainer.aspx?dataForm=DxImageProstateForm&parentKey="+DiagnosticId.Value+"&Relationship=one";
				DxImageProstateFormLink.Enabled = true;
				DxImageFindingsFormLink.NavigateUrl = "DataEntryContainer.aspx?dataForm=DxImageFindingsForm&parentKey="+DiagnosticId.Value+"&Relationship=many";
				DxImageFindingsFormLink.Enabled = true;
				DxImageFindingsKidneyFormLink.NavigateUrl = "DataEntryContainer.aspx?dataForm=DxImageFindingsKidneyForm&parentKey="+DiagnosticId.Value+"&Relationship=many";
				DxImageFindingsKidneyFormLink.Enabled = true;
				DxImageFindingsProstateFormLink.NavigateUrl = "DataEntryContainer.aspx?dataForm=DxImageFindingsProstateForm&parentKey="+DiagnosticId.Value+"&Relationship=many";
				DxImageFindingsProstateFormLink.Enabled = true;
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -