using System;
using System.Collections.ObjectModel;
using System.Runtime.Serialization;
using Harlinn.Oracle.DBTool.Example.Types.Utils;
namespace Harlinn.Oracle.DBTool.Example.Types
{
[DataContract(Namespace = Constants.Namespace)]
[Serializable]
public class UShortElementData : TagElementData
{
private bool isInitialized;
private DateTime lastUpdate;
private DateTime ts;
private long flags;
private ushort? value;
public UShortElementData()
: base()
{
lastUpdate = DateTime.MinValue;
ts = DateTime.MinValue;
}
public UShortElementData(long id, string name, long item, long type, string storage, long optimisticLock, string units, long? enumeration, string description, string comments)
: base( id, name, item, type, storage, optimisticLock, units ,enumeration, description, comments )
{
lastUpdate = DateTime.MinValue;
ts = DateTime.MinValue;
}
public UShortElementData(TagElementData tagElementData)
: base( tagElementData.Id, tagElementData.Name, tagElementData.Item, tagElementData.Type, tagElementData.Storage, tagElementData.OptimisticLock, tagElementData.Units, tagElementData.Enumeration, tagElementData.Description, tagElementData.Comments )
{
lastUpdate = DateTime.MinValue;
ts = DateTime.MinValue;
}
public override TagType TagType
{
get
{
return TagType.UShortValue;
}
}
public override void AssignTo(ElementBase destination)
{
base.AssignTo(destination);
UShortElementData destinationElement = (UShortElementData)destination;
destinationElement.lastUpdate = this.lastUpdate;
destinationElement.ts = this.ts;
destinationElement.flags = this.flags;
destinationElement.value = this.value;
}
public bool IsInitialized
{
get
{
return isInitialized;
}
set
{
this.isInitialized = value;
}
}
public DateTime LastUpdate
{
get
{
return lastUpdate;
}
set
{
this.lastUpdate = value;
}
}
public DateTime TimeStamp
{
get
{
return ts;
}
set
{
this.ts = value;
}
}
public long Flags
{
get
{
return flags;
}
set
{
this.flags = value;
}
}
public ushort? Value
{
get
{
return value;
}
set
{
this.value = value;
}
}
}
}