Rich f7806951c9 Chnaged code to support ability to make working draft a multiunit working draft
Changed History Start Date property of revision configuration to 24 hour format
2014-05-22 00:38:18 +00:00

124 lines
2.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.Drawing;
using DescriptiveEnum;
namespace VEPROMS.CSLA.Library
{
[Serializable]
[TypeConverter(typeof(ExpandableObjectConverter))]
public class RevisionConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged
{
#region DynamicTypeDescriptor
internal override bool IsReadOnly
{
get { return false; }//_Section == null; }
}
#endregion
#region XML
private XMLProperties _Xp;
private XMLProperties Xp
{
get { return _Xp; }
}
#endregion
#region Constructors
private Revision _Revision;
private RevisionInfo _RevisionInfo;
[Browsable(false)]
public bool ParentLookup
{
get { return _Xp.ParentLookup; }
set { _Xp.ParentLookup = value; }
}
public RevisionConfig(Revision revision)
{
_Revision = revision;
string xml = revision.Config;
if (xml == string.Empty) xml = "<Config/>";
_Xp = new XMLProperties(xml);
}
public RevisionConfig(RevisionInfo revisionInfo)
{
_RevisionInfo = revisionInfo;
string xml = revisionInfo.Config;
if (xml == string.Empty) xml = "<Config/>";
_Xp = new XMLProperties(xml);
}
public RevisionConfig(string xml)
{
if (xml == string.Empty) xml = "<Config/>";
_Xp = new XMLProperties(xml);
}
public RevisionConfig()
{
_Xp = new XMLProperties();
}
internal string GetValue(string group, string item)
{
return _Xp[group, item];
}
#endregion
#region Properties and Methods
// This is needed for the Data Loader
[Category("History")]
[Browsable(false)]
[DisplayName("Start Date")]
[RefreshProperties(RefreshProperties.All)]
[Description("Start date used for change bars")]
public DateTime History_StartDate
{
get
{
string s = _Xp["History", "StartDate"];
if (s == string.Empty) return DateTime.MinValue;
return DateTime.Parse(s);
}
set
{
string s = _Xp["History", "StartDate"];
if (s == value.ToString("MM/dd/yyyy HH:mm:ss")) return;
_Xp["History", "StartDate"] = value.ToString("MM/dd/yyyy HH:mm:ss");
OnPropertyChanged("History_StartDate");
}
}
//jcb 20120618
[Category("Applicability")]
[Browsable(false)]
[DisplayName("Index")]
[RefreshProperties(RefreshProperties.All)]
[Description("Index for unit")]
public int Applicability_Index
{
get
{
string s = _Xp["Applicability", "Index"];
if (s == string.Empty) return 0;
return int.Parse(s);
}
set
{
string s = _Xp["Applicability", "Index"];
if (s == value.ToString()) return;
_Xp["Applicability", "Index"] = value.ToString();
OnPropertyChanged("Applicability_Index");
}
}
//end jcb 20120618
public void Save()
{
if (_Revision != null)
_Revision.Config = this.ToString();
}
public override string ToString()
{
string s = _Xp.ToString();
if (s == "<Config/>" || s == "<Config></Config>") return string.Empty;
return s;
}
#endregion
}
}