2 using System.Collections.Generic;
4 using Seci.Definitions;
6 using System.Xml.Serialization;
7 using System.ComponentModel;
13 public string Name {
get; set; }
14 public string Number {
get; set; }
15 public Boolean Expires {
get; set; }
16 public DateTime Expiration {
get; set; }
23 Expiration =
new DateTime();
26 public PhoneNumber(
string name,
string number,
bool expires, DateTime date)
37 public SerialisableList<PhoneNumber> Numbers {
get; set; }
41 Numbers =
new SerialisableList<PhoneNumber>();
44 public void Add(
string name,
string number)
46 Numbers.Add(
new PhoneNumber(name,number,
false,
new DateTime()));
51 if (index < Numbers.Count)
53 Numbers.RemoveAt(index);
63 clone.Add(number.Name, number.Number);
72 public SerialisableDictionary<String, BlockAlert> BlockLimitsAlerts {
get; set; }
77 BlockLimitsAlerts =
new SerialisableDictionary<string, BlockAlert>();
80 public void AddBlockAlert(String blockname,
string type,
double lowlimit,
double highlimit, Boolean enabled)
82 BlockLimitsAlerts.Add(blockname.ToLower(),
new BlockAlert(blockname, type, lowlimit, highlimit, enabled));
90 #region ICloneable Members
96 foreach (var block
in BlockLimitsAlerts.Keys)
98 clone.AddBlockAlert(BlockLimitsAlerts[block].Blockname, BlockLimitsAlerts[block].BlockType, BlockLimitsAlerts[block].LowLimit, BlockLimitsAlerts[block].HighLimit, BlockLimitsAlerts[block].Enabled);
99 clone.BlockLimitsAlerts[block.ToLower()].OwningConfiguration = BlockLimitsAlerts[block.ToLower()].OwningConfiguration;
102 if (WaitingStateAlert != null)
104 clone.SetWaitingStateAlert(WaitingStateAlert.DelayBeforeSms);
105 clone.WaitingStateAlert.OwningConfiguration = WaitingStateAlert.OwningConfiguration;