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

📄 patientprotocolsform.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 PatientProtocolsForm : DataEntryControl
	{

		protected HtmlSelect ProtocolId;
		
		protected HtmlInputHidden PtProtocolStatus;
		protected HtmlTextArea PtProtocolNotes;
		protected ComboBox PtProtocolDataSource;
		protected HtmlSelect PtProtocolQuality;
		protected HtmlInputHidden PatientProtocolId;

		protected HyperLink PatientProtocolStatusLink;

		protected HtmlImage DetailFlagOn;
		protected HtmlImage DetailFlagOff;


		protected System.Web.UI.HtmlControls.HtmlTable ProtocolInfoTable;


		protected System.Web.UI.HtmlControls.HtmlAnchor EditProtocolLink;

		protected HtmlImage EditExistingProtocolButton;

		protected Label ProtocolNum,ProtocolTitle, ProtocolAlias, ProtocolPI, ProtocolDept, ProtocolNotes; 





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


			if (!(Request.QueryString["primKey"] != null && Request.QueryString["primKey"].Length > 0))
			{
				ProtocolInfoTable.Visible = false;
			}


			DetailFlagOn.Visible = false;
			DetailFlagOff.Visible = true;

			//Get Protocols for dropdown
			//populate protocols from distinct values
			ProtocolDa protDa = new ProtocolDa();
			DataSet protDs = protDa.GetDistinctProtocols();
			ProtocolId.DataSource	= protDs.Tables[0].DefaultView;
			ProtocolId.DataValueField = "ProtocolId";
			ProtocolId.DataTextField = "Protocol";//NOTE: This displays the Protocol Number and Title; aliased in the stored procedure as Protocol
			ProtocolId.DataBind();
			ProtocolId.Items.Insert(0,new ListItem("",""));
			
			
			//populate look up and distinct value select boxes
			//PageUtil.FillLkpDropDown(PtProtocolStatus, "PtProtocolStatus", ViewState);
			PageUtil.FillLkpDropDown(PtProtocolQuality, "DataQuality", ViewState);

			//create arrays that populate combo boxes
			Page.RegisterClientScriptBlock("PtProtocolDataSource", PageUtil.FillComboDropDown(PtProtocolDataSource.RefBy, "DataSource"));

			string reqFieldArray = PageUtil.CreateValidationScript("'"+ProtocolId.ClientID+"'");
			Page.RegisterClientScriptBlock("requiredFieldArray", reqFieldArray);

			base.Page_Load(sender, e);


				
		}
		override protected object SaveViewState()
		{
			//dd select and combo boxes to view state
			PageUtil.AddSelectToViewState(ViewState,ProtocolId);
			//PageUtil.AddSelectToViewState(ViewState,PtProtocolStatus);
			PageUtil.AddSelectToViewState(ViewState,PtProtocolQuality);
			
			PageUtil.AddComboToViewState(ViewState,PtProtocolDataSource);

			return base.SaveViewState();
		}

		override public HtmlInputHidden GetPrimKeyField()
		{
			return PatientProtocolId;
		}

		override protected DataEntryController GetController()
		{
			return new PatientProtocolController(new PatientProtocolDa()); //NOTE: fix args
		}

		override protected void SetDataEntryInfo()
		{
			this._tableInfo = "PatientProtocols";
			this._dataEntryTitle = "Patient Protocols";
		}

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

			if (!PatientProtocolId.Value.Equals(""))
			{
				dr[PatientProtocol.PatientProtocolId] = PatientProtocolId.Value;
			}

			//selects use: Request.Form[FieldName.UniqueID].ToString();
			//dates use: PageUtil.ObjToDateTime(FieldName.Value);
			//checkbox use: if(FieldName.Checked){dr[BizObject.FieldName] = 1;}
			//Patient ID should = this.patientID
			
			dr[PatientProtocol.PatientId]				= this.patientID;
			dr[PatientProtocol.ProtocolId]				= Request.Form[ProtocolId.UniqueID].ToString();
			 
			//dr[PatientProtocol.PtProtocolStatus]		= Request.Form[PtProtocolStatus.UniqueID].ToString();
			dr[PatientProtocol.PtProtocolStatus]		= PtProtocolStatus.Value;
			dr[PatientProtocol.PtProtocolNotes]			= PtProtocolNotes.Value;
			dr[PatientProtocol.PtProtocolDataSource]	= Request.Form[PtProtocolDataSource.UniqueID].ToString();
			dr[PatientProtocol.PtProtocolQuality]		= Request.Form[PtProtocolQuality.UniqueID].ToString();

			AddBaseParams(dr);
			biz.Tables[PatientProtocol.Table_PatientProtocols].Rows.Add(dr);
			biz.AcceptChanges();
			return biz;

		}

		protected override void SetFields(BizObject bz)
		{
			PatientProtocol biz = (PatientProtocol)bz;
			DataRow dr = biz.Tables[PatientProtocol.Table_PatientProtocols].Rows[0];

			//selects use: PageUtil.SelectDropDownItem(fieldIdName, dr[Object.FieldName]);
			
			//ProtocolId.Value			= dr[PatientProtocol.ProtocolId].ToString();
			PageUtil.SelectDropDownItem(ProtocolId, dr[PatientProtocol.ProtocolId]);
			PatientProtocolId.Value		= dr[PatientProtocol.PatientProtocolId].ToString();
			//PageUtil.SelectDropDownItem(PtProtocolStatus, dr[PatientProtocol.PtProtocolStatus]);
			PtProtocolStatus.Value		= dr[PatientProtocol.PtProtocolStatus].ToString();
			PtProtocolNotes.Value		= dr[PatientProtocol.PtProtocolNotes].ToString();
			PtProtocolDataSource.Value	= dr[PatientProtocol.PtProtocolDataSource].ToString();
			PageUtil.SelectDropDownItem(PtProtocolQuality, dr[PatientProtocol.PtProtocolQuality]);

			SetBaseFields(dr);
			SetDetailsFlag();
			SetSubPageLinks();


			if (dr[PatientProtocol.ProtocolId] != null && dr[PatientProtocol.ProtocolId].ToString().Length > 0)
			{
				int protPrimKey = int.Parse(dr[PatientProtocol.ProtocolId].ToString());
				SetProtocolInfo(protPrimKey);
			}


		}

		protected void SetDetailsFlag()
		{
			//check if there are Cores entered
			if(PatientProtocolId != null && !PatientProtocolId.Value.Equals(""))
			{
				PatientProtocolStatusDa da = new PatientProtocolStatusDa();
				DataSet ds = da.GetRecords(int.Parse(PatientProtocolId.Value));
				if(ds.Tables[0].Rows.Count > 0)
				{//make icon visible
					DetailFlagOn.Visible = true;
					DetailFlagOff.Visible = false;
				}			
			}
		}

		protected void SetSubPageLinks()
		{
			//enable links and set the url's
			if(PatientProtocolId != null && !PatientProtocolId.Value.Equals(""))
			{
				PatientProtocolStatusLink.NavigateUrl = "DataEntryContainer.aspx?dataForm=PatientProtocolStatusForm&parentKey="+PatientProtocolId.Value+"&Relationship=many";
				PatientProtocolStatusLink.Enabled = true;
			}
		}

		protected void SetProtocolSelect (Object sender, EventArgs e)
		{
			maintainFieldValues();

			
			if (Request.Form[ProtocolId.UniqueID] != null && Request.Form[ProtocolId.UniqueID].Length > 0)
			{
				int protPrimKey = int.Parse(Request.Form[ProtocolId.UniqueID]);
				ProtocolInfoTable.Visible = true;
				SetProtocolInfo(protPrimKey);
			}

		}


		protected void SetProtocolInfo(int protKeyValue)
		{
			ProtocolDa pDa = new ProtocolDa();
			DataSet pDs = pDa.GetRecord(protKeyValue);
			DataRow dr = pDs.Tables[0].Rows[0];

			if (pDs.Tables[0].Rows[0]["ProtocolNum"].ToString().Length > 0 )
			{
				ProtocolNum.Text = pDs.Tables[0].Rows[0]["ProtocolNum"].ToString();
			}
			if (pDs.Tables[0].Rows[0]["ProtocolTitle"].ToString().Length > 0 )
			{
				ProtocolTitle.Text = pDs.Tables[0].Rows[0]["ProtocolTitle"].ToString();
			}
			if (pDs.Tables[0].Rows[0]["ProtocolNotes"].ToString().Length > 0 )
			{
				ProtocolNotes.Text = pDs.Tables[0].Rows[0]["ProtocolNotes"].ToString();
			}
			ProtocolAlias.Text = dr[Protocol.ProtocolAlias].ToString();
			ProtocolPI.Text = dr[Protocol.ProtocolPI].ToString();
			ProtocolDept.Text = dr[Protocol.ProtocolDept].ToString();

			EditProtocolLink.Attributes.Add("onclick", "top.location = '../../Core/Utilities/EmptyContainer.aspx?TaskPage=EditAProtocol.aspx&splash=false&primKey=" + pDs.Tables[0].Rows[0]["ProtocolId"].ToString() + "';");
			EditExistingProtocolButton.Src = "../../../images/ViewEditAnotherProtocolButton.gif";

		}


		override public void PopulateForm(BizObject bz)  
		{
			//only setFields if GetRecords actually returns at least one row, primKey may exist because passed down from parent record in one to one relationship
			if (bz != null && bz.Tables[0].Rows.Count != 0)
			{
				base.PopulateForm(bz);
			}
			else
			{
				ResetFormFields();
				ProtocolInfoTable.Visible = false;
				EditExistingProtocolButton.Src = "../../../images/ViewEditExistingProtocolButton.gif";
			}
		}



	}
}

⌨️ 快捷键说明

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