dximageprostateform.ascx.cs

来自「医疗决策支持系统」· CS 代码 · 共 155 行

CS
155
字号
namespace Caisis.UI.Modules.Prostate.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;

	public abstract class DxImageProstateForm : DataEntryControlRelOne
	{

		protected HtmlInputCheckBox ImgUseForDosimetry;
		protected HtmlInputText ImgAvgDim;
		protected HtmlInputText ImgProsHeight;
		protected HtmlInputText ImgProsWidth;
		protected HtmlInputText ImgProsLength;
		protected HtmlInputText ImgProsVolume;
		protected HtmlInputText ImgTZ_Height;
		protected HtmlInputText ImgTZ_Width;
		protected HtmlInputText ImgTZ_Length;
		protected HtmlInputText ImgTZ_Volume;
		protected HtmlInputText ImgUrethraLength;
		protected HtmlSelect ImgMRI_Veins;
		protected HtmlInputHidden DiagnosticId;

		override protected void Page_Load(object sender, System.EventArgs e)
		{
			//set primaryKey equal to parentKey
			PageUtil.SetParentKey(DiagnosticId);

			//Hide lock. can only lock parent record
			//this doesn't work anymore! PageUtil.HideContainerButton(((DataEntryButtons)Parent.FindControl("entryButtons")).lockBtn);
			//Hide lock. can only lock parent record //Lock button is hidden in DataEntryContainer
		
			//populate look up and distinct value select boxes
			PageUtil.FillLkpDropDown(ImgMRI_Veins, "ImgMRI_Veins", ViewState);

			//calc prostate volume based on height, width and length
			string strJs = ImgProsVolume.ClientID+".value = calcProstateVolume("+ImgProsLength.ClientID+".value, "+ImgProsWidth.ClientID+".value, "+ImgProsHeight.ClientID+".value); " + ImgAvgDim.ClientID+".value = calcAvgDimension("+ImgProsLength.ClientID+".value, "+ImgProsWidth.ClientID+".value, "+ImgProsHeight.ClientID+".value); ";

			ImgProsLength.Attributes.Add("onBlur", strJs);
			ImgProsHeight.Attributes.Add("onBlur", strJs);
			ImgProsWidth.Attributes.Add("onBlur", strJs);

			string reqFieldArray = PageUtil.CreateValidationScript("");
			Page.RegisterClientScriptBlock("requiredFieldArray", reqFieldArray);

			base.Page_Load(sender, e);
		}

		override protected object SaveViewState()
		{
			//add select and combo boxes to view state
			
			PageUtil.AddSelectToViewState(ViewState,ImgMRI_Veins);
			

			return base.SaveViewState();
		}

		override public HtmlInputHidden GetPrimKeyField()
		{
			return DiagnosticId;
		}

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

		override protected void SetDataEntryInfo()
		{
			this._tableInfo = "DxImageProstate";
			this._dataEntryTitle = "<a href=\"DataEntryContainer.aspx?dataForm=DiagnosticsForm&primKey="+Request.QueryString["parentKey"]+"\">Diagnostics</a> > Prostate Imaging";
		}

		override protected BizObject GetParams()
		{
			//ImageProstate biz = new ImageProstate();
			//DataRow dr = biz.Tables[ImageProstate.Table_DxImageProstate].NewRow();

			//new 4/6/04
			EmptyBizObject biz = new EmptyBizObject();
			ImageProstate dt = new ImageProstate();
			biz.Tables.Add(dt);
			DataRow dr = dt.NewRow();

			if (!DiagnosticId.Value.Equals(""))
			{
				dr[ImageProstate.DiagnosticId] = DiagnosticId.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[ImageProstate.ImgUseForDosimetry] = ImgUseForDosimetry.Checked;
			dr[ImageProstate.ImgAvgDim] = ImgAvgDim.Value;
			dr[ImageProstate.ImgProsHeight] = ImgProsHeight.Value;
			dr[ImageProstate.ImgProsWidth] = ImgProsWidth.Value;
			dr[ImageProstate.ImgProsLength] = ImgProsLength.Value;
			dr[ImageProstate.ImgProsVolume] = ImgProsVolume.Value;
			dr[ImageProstate.ImgTZ_Height] = ImgTZ_Height.Value;
			dr[ImageProstate.ImgTZ_Width] = ImgTZ_Width.Value;
			dr[ImageProstate.ImgTZ_Length] = ImgTZ_Length.Value;
			dr[ImageProstate.ImgTZ_Volume] = ImgTZ_Volume.Value;
			dr[ImageProstate.ImgUrethraLength] = ImgUrethraLength.Value;
			dr[ImageProstate.ImgMRI_Veins] = Request.Form[ImgMRI_Veins.UniqueID].ToString();

			AddBaseParams(dr);
			dt.Rows.Add(dr);//added this, removed below
			//biz.Tables[ImageProstate.Table_DxImageProstate].Rows.Add(dr);
			biz.AcceptChanges();
			return biz;
		}

		protected override void SetFields(BizObject bz)
		{
			//ImageProstate biz = (ImageProstate)bz;
			DataSet biz = (DataSet)bz;
			DataRow dr = biz.Tables[ImageProstate.Table_DxImageProstate].Rows[0];

			//selects use: PageUtil.SelectDropDownItem(fieldIdName, dr[Object.FieldName]);
			
			DiagnosticId.Value = dr[ImageProstate.DiagnosticId].ToString();
			PageUtil.SetCheckBox(ImgUseForDosimetry, dr[ImageProstate.ImgUseForDosimetry]);
			ImgAvgDim.Value = dr[ImageProstate.ImgAvgDim].ToString();
			ImgProsHeight.Value = dr[ImageProstate.ImgProsHeight].ToString();
			ImgProsWidth.Value = dr[ImageProstate.ImgProsWidth].ToString();
			ImgProsLength.Value = dr[ImageProstate.ImgProsLength].ToString();
			ImgProsVolume.Value = dr[ImageProstate.ImgProsVolume].ToString();
			ImgTZ_Height.Value = dr[ImageProstate.ImgTZ_Height].ToString();
			ImgTZ_Width.Value = dr[ImageProstate.ImgTZ_Width].ToString();
			ImgTZ_Length.Value = dr[ImageProstate.ImgTZ_Length].ToString();
			ImgTZ_Volume.Value = dr[ImageProstate.ImgTZ_Volume].ToString();
			ImgUrethraLength.Value = dr[ImageProstate.ImgUrethraLength].ToString();
			PageUtil.SelectDropDownItem(ImgMRI_Veins, dr[ImageProstate.ImgMRI_Veins]);

			SetBaseFields(dr);
		}
	}
}

⌨️ 快捷键说明

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