VistA-Scheduling/cs/bsdx0200GUISourceCode/DAccessTemplate.cs

393 lines
12 KiB
C#

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace IndianHealthService.ClinicalScheduling
{
/// <summary>
/// Summary description for DAccessTemplate.
/// </summary>
public class DAccessTemplate : System.Windows.Forms.Form
{
private System.Windows.Forms.Panel pnlPageBottom;
private System.Windows.Forms.Button cmdCancel;
private System.Windows.Forms.Button cmdOK;
private System.Windows.Forms.Panel pnlDescription;
private System.Windows.Forms.GroupBox grpDescriptionResourceGroup;
private System.Windows.Forms.Label lblDescriptionResourceGroup;
private System.Windows.Forms.Button cmdSelectTemplate;
private System.Windows.Forms.TextBox txtTemplate;
private System.Windows.Forms.DateTimePicker dtpStartDate;
private System.Windows.Forms.NumericUpDown udWeeksToApply;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
#region Methods
public void InitializePage()
{
UpdateDialogData(true);
}
/// <summary>
/// If b is true, moves member vars into control data
/// otherwise, moves control data into member vars
/// </summary>
/// <param name="b"></param>
private void UpdateDialogData(bool b)
{
if (b == true)
{
udWeeksToApply.Value = 1;
}
else
{
//
m_nWeeksToApply = (int) udWeeksToApply.Value;
m_dtStart = dtpStartDate.Value;
}
}
public DAccessTemplate()
{
InitializeComponent();
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
private void cmdOK_Click(object sender, System.EventArgs e)
{
//assure that it's a monday in the future
DateTime dtStart = dtpStartDate.Value;
if ((dtStart.DayOfWeek != System.DayOfWeek.Monday) ||
(dtStart < DateTime.Today))
{
MessageBox.Show("Please select a future Monday.");
m_bCancelOK = true;
return;
}
if (m_bSelectedFile == false)
{
MessageBox.Show("Please select a valid template file.");
m_bCancelOK = true;
return;
}
if ((this.udWeeksToApply.Value > 52)||(this.udWeeksToApply.Value < 1))
{
MessageBox.Show("For the number of weeks to apply the template, please select a number between 1 and 52.");
m_bCancelOK = true;
return;
}
m_bCancelOK = false;
//Send the values from the controls to the fields
this.UpdateDialogData(false);
}
private void cmdSelectTemplate_Click(object sender, System.EventArgs e)
{
//Open the file dialog and pick a file
m_bSelectedFile = false;
OpenFileDialog openFileDialog1 = new OpenFileDialog();
string sPath = "";
sPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
openFileDialog1.InitialDirectory = "c:\\" ;
openFileDialog1.InitialDirectory = sPath ;
openFileDialog1.Filter = "Schedule Template Files (*.bsdxa)|*.bsdxa|All files (*.*)|*.*" ;
openFileDialog1.FilterIndex = 0 ;
openFileDialog1.RestoreDirectory = true ;
if(openFileDialog1.ShowDialog() == DialogResult.OK)
{
m_bSelectedFile = true;
m_ofDialog = openFileDialog1;
this.txtTemplate.Text = openFileDialog1.FileName;
}
}
#endregion Methods
#region Fields
private OpenFileDialog m_ofDialog;
private DateTime m_dtStart;
private int m_nWeeksToApply;
private bool m_bCancelOK = false;
private bool m_bSelectedFile = false;
#endregion Fields
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.pnlPageBottom = new System.Windows.Forms.Panel();
this.cmdCancel = new System.Windows.Forms.Button();
this.cmdOK = new System.Windows.Forms.Button();
this.pnlDescription = new System.Windows.Forms.Panel();
this.grpDescriptionResourceGroup = new System.Windows.Forms.GroupBox();
this.lblDescriptionResourceGroup = new System.Windows.Forms.Label();
this.cmdSelectTemplate = new System.Windows.Forms.Button();
this.txtTemplate = new System.Windows.Forms.TextBox();
this.dtpStartDate = new System.Windows.Forms.DateTimePicker();
this.udWeeksToApply = new System.Windows.Forms.NumericUpDown();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.pnlPageBottom.SuspendLayout();
this.pnlDescription.SuspendLayout();
this.grpDescriptionResourceGroup.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.udWeeksToApply)).BeginInit();
this.SuspendLayout();
//
// pnlPageBottom
//
this.pnlPageBottom.Controls.Add(this.cmdCancel);
this.pnlPageBottom.Controls.Add(this.cmdOK);
this.pnlPageBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
this.pnlPageBottom.Location = new System.Drawing.Point(0, 264);
this.pnlPageBottom.Name = "pnlPageBottom";
this.pnlPageBottom.Size = new System.Drawing.Size(440, 40);
this.pnlPageBottom.TabIndex = 7;
//
// cmdCancel
//
this.cmdCancel.CausesValidation = false;
this.cmdCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cmdCancel.Location = new System.Drawing.Point(360, 8);
this.cmdCancel.Name = "cmdCancel";
this.cmdCancel.Size = new System.Drawing.Size(56, 24);
this.cmdCancel.TabIndex = 2;
this.cmdCancel.Text = "Cancel";
//
// cmdOK
//
this.cmdOK.DialogResult = System.Windows.Forms.DialogResult.OK;
this.cmdOK.Location = new System.Drawing.Point(280, 8);
this.cmdOK.Name = "cmdOK";
this.cmdOK.Size = new System.Drawing.Size(64, 24);
this.cmdOK.TabIndex = 1;
this.cmdOK.Text = "OK";
this.cmdOK.Click += new System.EventHandler(this.cmdOK_Click);
//
// pnlDescription
//
this.pnlDescription.Controls.Add(this.grpDescriptionResourceGroup);
this.pnlDescription.Dock = System.Windows.Forms.DockStyle.Bottom;
this.pnlDescription.Location = new System.Drawing.Point(0, 184);
this.pnlDescription.Name = "pnlDescription";
this.pnlDescription.Size = new System.Drawing.Size(440, 80);
this.pnlDescription.TabIndex = 8;
//
// grpDescriptionResourceGroup
//
this.grpDescriptionResourceGroup.Controls.Add(this.lblDescriptionResourceGroup);
this.grpDescriptionResourceGroup.Dock = System.Windows.Forms.DockStyle.Fill;
this.grpDescriptionResourceGroup.Location = new System.Drawing.Point(0, 0);
this.grpDescriptionResourceGroup.Name = "grpDescriptionResourceGroup";
this.grpDescriptionResourceGroup.Size = new System.Drawing.Size(440, 80);
this.grpDescriptionResourceGroup.TabIndex = 1;
this.grpDescriptionResourceGroup.TabStop = false;
this.grpDescriptionResourceGroup.Text = "Description";
//
// lblDescriptionResourceGroup
//
this.lblDescriptionResourceGroup.Dock = System.Windows.Forms.DockStyle.Fill;
this.lblDescriptionResourceGroup.Location = new System.Drawing.Point(3, 16);
this.lblDescriptionResourceGroup.Name = "lblDescriptionResourceGroup";
this.lblDescriptionResourceGroup.Size = new System.Drawing.Size(434, 61);
this.lblDescriptionResourceGroup.TabIndex = 0;
this.lblDescriptionResourceGroup.Text = "Use this panel to define an access pattern for future clinic availability.";
//
// cmdSelectTemplate
//
this.cmdSelectTemplate.Location = new System.Drawing.Point(24, 40);
this.cmdSelectTemplate.Name = "cmdSelectTemplate";
this.cmdSelectTemplate.Size = new System.Drawing.Size(136, 32);
this.cmdSelectTemplate.TabIndex = 9;
this.cmdSelectTemplate.Text = "Select Access Template";
this.cmdSelectTemplate.Click += new System.EventHandler(this.cmdSelectTemplate_Click);
//
// txtTemplate
//
this.txtTemplate.Location = new System.Drawing.Point(176, 32);
this.txtTemplate.Multiline = true;
this.txtTemplate.Name = "txtTemplate";
this.txtTemplate.ReadOnly = true;
this.txtTemplate.Size = new System.Drawing.Size(248, 48);
this.txtTemplate.TabIndex = 10;
this.txtTemplate.Text = "";
//
// dtpStartDate
//
this.dtpStartDate.AllowDrop = true;
this.dtpStartDate.Checked = false;
this.dtpStartDate.Location = new System.Drawing.Point(176, 104);
this.dtpStartDate.Name = "dtpStartDate";
this.dtpStartDate.Size = new System.Drawing.Size(184, 20);
this.dtpStartDate.TabIndex = 11;
//
// udWeeksToApply
//
this.udWeeksToApply.Location = new System.Drawing.Point(176, 144);
this.udWeeksToApply.Maximum = new System.Decimal(new int[] {
52,
0,
0,
0});
this.udWeeksToApply.Minimum = new System.Decimal(new int[] {
1,
0,
0,
0});
this.udWeeksToApply.Name = "udWeeksToApply";
this.udWeeksToApply.Size = new System.Drawing.Size(96, 20);
this.udWeeksToApply.TabIndex = 12;
this.udWeeksToApply.Value = new System.Decimal(new int[] {
1,
0,
0,
0});
//
// label1
//
this.label1.Location = new System.Drawing.Point(16, 104);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(152, 16);
this.label1.TabIndex = 13;
this.label1.Text = "Starting Week (Monday):";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// label2
//
this.label2.Location = new System.Drawing.Point(16, 144);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(152, 16);
this.label2.TabIndex = 13;
this.label2.Text = "Number of Weeks to Apply:";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// DAccessTemplate
//
this.AcceptButton = this.cmdOK;
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.CancelButton = this.cmdCancel;
this.ClientSize = new System.Drawing.Size(440, 304);
this.Controls.Add(this.label1);
this.Controls.Add(this.udWeeksToApply);
this.Controls.Add(this.dtpStartDate);
this.Controls.Add(this.txtTemplate);
this.Controls.Add(this.cmdSelectTemplate);
this.Controls.Add(this.pnlDescription);
this.Controls.Add(this.pnlPageBottom);
this.Controls.Add(this.label2);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "DAccessTemplate";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Apply Access Template";
this.Closing += new System.ComponentModel.CancelEventHandler(this.DAccessTemplate_Closing);
this.pnlPageBottom.ResumeLayout(false);
this.pnlDescription.ResumeLayout(false);
this.grpDescriptionResourceGroup.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.udWeeksToApply)).EndInit();
this.ResumeLayout(false);
}
#endregion
private void DAccessTemplate_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
if (m_bCancelOK == true)
{
e.Cancel = true;
m_bCancelOK = false;
}
else
{
e.Cancel = false;
}
}
#region Properties
/// <summary>
/// Returns the open file dialog object
/// </summary>
public OpenFileDialog FileDialog
{
get
{
return m_ofDialog;
}
}
/// <summary>
/// Sets or returns the start date to apply the template
/// </summary>
public DateTime StartDate
{
get
{
return m_dtStart;
}
set
{
m_dtStart = value;
}
}
/// <summary>
/// Sets or returns the number of weeks to apply the template
/// </summary>
public int WeeksToApply
{
get
{
return m_nWeeksToApply;
}
set
{
m_nWeeksToApply = value;
}
}
#endregion Properties
}
}