📄 patientprotocolsform.ascx.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 + -