using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using GZTW.AyaNova.BLL;
using Infragistics.Win;
using log4net;
namespace AyaNova
{
///
/// Summary description for UnitMeterReadingAddRecord.
///
public class UnitMeterReadingAddRecord : System.Windows.Forms.Form
{
// Create a logger for use in this class
//case 1039 private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
private System.Windows.Forms.CheckBox ckIsDirty;
private System.Windows.Forms.ErrorProvider epUnitMeterReading;
private Infragistics.Win.UltraWinEditors.UltraNumericEditor edMeter;
private Infragistics.Win.Misc.UltraLabel lblMeter;
private GZTW.WinForm.Controls.GZDateTimePicker dtMeterDate;
private Infragistics.Win.Misc.UltraLabel lblMeterDate;
private Infragistics.Win.Misc.UltraLabel lblDescription;
private Infragistics.Win.UltraWinEditors.UltraTextEditor edDescription;
private Button btnCancel;
private Button btnOK;
private IContainer components;
public UnitMeterReadingAddRecord()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
//
//
}
///
/// Clean up any resources being used.
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.lblDescription = new Infragistics.Win.Misc.UltraLabel();
this.edDescription = new Infragistics.Win.UltraWinEditors.UltraTextEditor();
this.edMeter = new Infragistics.Win.UltraWinEditors.UltraNumericEditor();
this.lblMeter = new Infragistics.Win.Misc.UltraLabel();
this.dtMeterDate = new GZTW.WinForm.Controls.GZDateTimePicker();
this.lblMeterDate = new Infragistics.Win.Misc.UltraLabel();
this.ckIsDirty = new System.Windows.Forms.CheckBox();
this.epUnitMeterReading = new System.Windows.Forms.ErrorProvider(this.components);
this.btnCancel = new System.Windows.Forms.Button();
this.btnOK = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.edDescription)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.edMeter)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dtMeterDate)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.epUnitMeterReading)).BeginInit();
this.SuspendLayout();
//
// lblDescription
//
this.lblDescription.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lblDescription.Location = new System.Drawing.Point(10, 9);
this.lblDescription.Name = "lblDescription";
this.lblDescription.Size = new System.Drawing.Size(306, 19);
this.lblDescription.TabIndex = 133;
this.lblDescription.Tag = "";
this.lblDescription.Text = "LT:UnitMeterReading.Label.Description";
//
// edDescription
//
this.edDescription.AcceptsReturn = true;
this.edDescription.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.edDescription.Location = new System.Drawing.Point(10, 28);
this.edDescription.Multiline = true;
this.edDescription.Name = "edDescription";
this.edDescription.Size = new System.Drawing.Size(315, 92);
this.edDescription.TabIndex = 132;
//
// edMeter
//
this.edMeter.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.edMeter.Location = new System.Drawing.Point(10, 148);
this.edMeter.Name = "edMeter";
this.edMeter.Size = new System.Drawing.Size(315, 24);
this.edMeter.TabIndex = 139;
//
// lblMeter
//
this.lblMeter.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lblMeter.Location = new System.Drawing.Point(10, 129);
this.lblMeter.Name = "lblMeter";
this.lblMeter.Size = new System.Drawing.Size(315, 19);
this.lblMeter.TabIndex = 141;
this.lblMeter.Tag = "";
this.lblMeter.Text = "LT:UnitMeterReading.Label.Meter";
//
// dtMeterDate
//
this.dtMeterDate.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.dtMeterDate.GZEnabled = true;
this.dtMeterDate.GZReadOnly = false;
this.dtMeterDate.Location = new System.Drawing.Point(10, 212);
this.dtMeterDate.Name = "dtMeterDate";
this.dtMeterDate.Size = new System.Drawing.Size(315, 24);
this.dtMeterDate.TabIndex = 166;
//
// lblMeterDate
//
this.lblMeterDate.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lblMeterDate.Location = new System.Drawing.Point(10, 194);
this.lblMeterDate.Name = "lblMeterDate";
this.lblMeterDate.Size = new System.Drawing.Size(315, 18);
this.lblMeterDate.TabIndex = 167;
this.lblMeterDate.Tag = "";
this.lblMeterDate.Text = "LT:UnitMeterReading.Label.MeterDate";
//
// ckIsDirty
//
this.ckIsDirty.Location = new System.Drawing.Point(-374, 231);
this.ckIsDirty.Name = "ckIsDirty";
this.ckIsDirty.Size = new System.Drawing.Size(129, 27);
this.ckIsDirty.TabIndex = 168;
//
// epUnitMeterReading
//
this.epUnitMeterReading.ContainerControl = this;
//
// btnCancel
//
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Image = global::AyaNova.Resource1.Cancel24;
this.btnCancel.Location = new System.Drawing.Point(10, 257);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(90, 41);
this.btnCancel.TabIndex = 172;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// btnOK
//
this.btnOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;
this.btnOK.Image = global::AyaNova.Resource1.OK24;
this.btnOK.Location = new System.Drawing.Point(235, 257);
this.btnOK.Name = "btnOK";
this.btnOK.Size = new System.Drawing.Size(90, 41);
this.btnOK.TabIndex = 171;
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
//
// UnitMeterReadingAddRecord
//
this.AcceptButton = this.btnOK;
this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
this.CancelButton = this.btnCancel;
this.ClientSize = new System.Drawing.Size(346, 336);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnOK);
this.Controls.Add(this.ckIsDirty);
this.Controls.Add(this.dtMeterDate);
this.Controls.Add(this.lblMeterDate);
this.Controls.Add(this.lblMeter);
this.Controls.Add(this.edMeter);
this.Controls.Add(this.lblDescription);
this.Controls.Add(this.edDescription);
this.MinimumSize = new System.Drawing.Size(294, 360);
this.Name = "UnitMeterReadingAddRecord";
this.ShowInTaskbar = false;
this.Text = "LT:O.UnitMeterReading";
this.Closing += new System.ComponentModel.CancelEventHandler(this.UnitMeterReadingAddRecord_Closing);
this.Load += new System.EventHandler(this.UnitMeterReadingAddRecord_Load);
((System.ComponentModel.ISupportInitialize)(this.edDescription)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.edMeter)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dtMeterDate)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.epUnitMeterReading)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
// __ _ _ ___ ____ __ __ __ __ __ ___ ___
// / _)( )( )/ __)(_ _)/ \( \/ ) / _)/ \( \( _)
// ( (_ )()( \__ \ )( ( () )) ( ( (_( () )) ) )) _)
// \__) \__/ (___/ (__) \__/(_/\/\_) \__)\__/(___/(___)
//
#region Load / close
//variable to hold user form settings
//UIUserFormSetting mFormSetting;
private void UnitMeterReadingAddRecord_Load(object sender, System.EventArgs e)
{
//case 1039 //log.Debug("UnitMeterReadingAddRecord_Load");
//dtMeterDate.MaskInput=Util.LocaleDateTimeMask();
Cursor.Current = Cursors.WaitCursor;
this.Visible=false;
this.Icon = Resource1.UnitMeterReading16icon;
Util.Localize(this);
DataBind();
Util.LoadFormCustomization("UnitMeterReadingAddRecord", this, null, false);
this.Visible=true;
//Case 152
(new TabOrderManager(this)).SetTabOrder(TabOrderManager.TabScheme.AcrossFirst);
Cursor.Current = Cursors.Default;
}
private void UnitMeterReadingAddRecord_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
//case 1039 //log.Debug("UnitMeterReadingAddRecord_Closing");
Util.SaveFormCustomization("UnitMeterReadingAddRecord", this, null, false);
}
#endregion
#region Form DataBinding and BrokenRules handling
///
/// Bind controls to business objects
///
private void DataBind()
{
//case 1039 //log.Debug("DataBind");
//Subscribe to broken rules changed event OnBrokenRulesChanged
mUnitMeterReading.GetBrokenRulesCollection().ListChanged += new System.ComponentModel.ListChangedEventHandler(OnBrokenRulesChanged);
//=-=-=-=-=-=- Form Field bindings =-=-=-=-=-=-=-=-=-=-=-=
// mUnitMeterReading.UnitID=mUnitID;
// mUnitMeterReading.WorkorderItemID=mWorkorderItemID;
//Text editors
Util.BindField(edDescription,"Text",mUnitMeterReading,"Description");
Util.BindField(edMeter,"Value",mUnitMeterReading,"Meter");
Util.BindField(dtMeterDate,"Value",mUnitMeterReading,"MeterDate");
//=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
//Bind IsDirty property to hidden checkbox to
//ensure isdirtychanged event is available
//to data binding infrastructure
Util.BindField(ckIsDirty,"Checked",mUnitMeterReading,"IsDirty");
//Setup initial link to broken rules
OnBrokenRulesChanged(null,null);
}
///
/// Handle a change in broken rules
///
///
///
private void OnBrokenRulesChanged(object sender, System.ComponentModel.ListChangedEventArgs e)
{
Util.BrokenRuleFeedback(this,mUnitMeterReading,epUnitMeterReading);
}
#endregion
#region Business object editing / adding / deletion related code
private UnitMeterReading mUnitMeterReading;
public UnitMeterReading UnitMeterReadingToEdit
{
set
{
mUnitMeterReading=value;
//mUnitMeterReading.BeginEdit();
}
}
// private Guid mUnitID=Guid.Empty;
// public Guid UnitID
// {
// set
// {
// mUnitID=value;
//
// }
// }
//
//
// private Guid mWorkorderItemID=Guid.Empty;
// public Guid WorkorderItemID
// {
// set
// {
// mWorkorderItemID=value;
// }
// }
///
/// Save record and process
///
///
/// True if handled, false if not handled
private bool SaveHandler(RecordActionType SaveType)
{
//case 1039 //if(log.IsDebugEnabled) //case 1039 //log.Debug("SaveHandler(Action="+SaveType.ToString()+")");
//switch the focus to a non-editable control
//so that any changes in the current editable control
//will get updated before attempting to save
btnOK.Focus();
switch(SaveType)
{
case RecordActionType.SaveAndExit:
//Save if necessary and exit
if(mUnitMeterReading.IsSavable)
{
mUnitMeterReading.ApplyEdit();
mUnitMeterReading.Save();
this.DialogResult=DialogResult.OK;
this.Close();
return true;
}
if(mUnitMeterReading.IsDirty)//dirty and unsaveable due to broken rules
{
if(Util.PromptForBrokenRulesCancelSave()==DialogResult.Yes)
{
//mUnitMeterReading.CancelEdit();
this.DialogResult=DialogResult.Cancel;
this.Close();
return true;
}
else
return false;
}
//not dirty so just exit
this.DialogResult=DialogResult.Cancel;
this.Close();
break;
}
return false;
}
#endregion
private void btnOK_Click(object sender, EventArgs e)
{
//case 1039 //log.Debug("btnOK_Click");
SaveHandler(RecordActionType.SaveAndExit);
}
private void btnCancel_Click(object sender, EventArgs e)
{
//case 1039 //log.Debug("btnCancel_Click");
//mUnitMeterReading.CancelEdit();
this.DialogResult = DialogResult.Cancel;
this.Close();
}
//------------------------END OF CLASS------------------------
}
}