188 lines
4.7 KiB
C#
188 lines
4.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Safedispatch_4_0.Radio
|
|
{
|
|
public enum SubscriberType { DISPATCHER, GROUP, ALL, SUBSCRIBER, MANUAL, UNKNOWN };
|
|
|
|
public class Subscriber : INotifyPropertyChanged
|
|
{
|
|
private void NotifyPropertyChanged(string propertyName)
|
|
{
|
|
//Raise PropertyChanged event
|
|
if (PropertyChanged != null)
|
|
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
|
|
}
|
|
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
|
|
private object _lock = new object();
|
|
|
|
private Int32 nrOfUpdates;
|
|
public Int32 NrOfUpdates
|
|
{
|
|
get { return nrOfUpdates; }
|
|
set
|
|
{
|
|
lock (_lock)
|
|
{
|
|
//The property changed event will get fired whenever
|
|
//the value changes. The subscriber will do work if the value is
|
|
//1. This way you can keep your business logic outside of the setter
|
|
if (value != nrOfUpdates)
|
|
{
|
|
nrOfUpdates = value;
|
|
NotifyPropertyChanged("nrOfUpdates");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public String ImageKey { get; set; }
|
|
|
|
private String _dispatcherName;
|
|
public String DispatcherName
|
|
{
|
|
get { return _dispatcherName; }
|
|
set { this._dispatcherName = value; }
|
|
}
|
|
|
|
private Boolean _online;
|
|
public Boolean Online
|
|
{
|
|
get { return _online; }
|
|
set { this._online = value; }
|
|
}
|
|
|
|
private Boolean _isEmergency;
|
|
public Boolean IsEmergency
|
|
{
|
|
get { return _isEmergency; }
|
|
set { this._isEmergency = value; }
|
|
}
|
|
|
|
|
|
private String _iconFilePath;
|
|
public String IconFilePath
|
|
{
|
|
get { return _iconFilePath; }
|
|
set { _iconFilePath = value; }
|
|
}
|
|
|
|
|
|
private SubscriberType _type;
|
|
public SubscriberType SubscriberType
|
|
{
|
|
get { return _type; }
|
|
set { this._type = value; }
|
|
}
|
|
|
|
private String _typeRegion;
|
|
public String SubscriberTypeRegion
|
|
{
|
|
get { return _typeRegion; }
|
|
set { this._typeRegion = value; }
|
|
}
|
|
|
|
private Int32 _id;
|
|
public Int32 Id
|
|
{
|
|
get { return _id; }
|
|
set { _id = value; }
|
|
}
|
|
|
|
private Int32 _sc_id;
|
|
public Int32 Sc_id
|
|
{
|
|
get { return _sc_id; }
|
|
set { _sc_id = value; }
|
|
}
|
|
|
|
private String _imei;
|
|
public String Imei
|
|
{
|
|
get { return _imei; }
|
|
set { _imei = value; }
|
|
}
|
|
|
|
private String _gw_and_radioID;
|
|
public String Gw_and_radioID
|
|
{
|
|
get { return _gw_and_radioID; }
|
|
set { _gw_and_radioID = value; }
|
|
}
|
|
|
|
private String gatewayName = "";
|
|
public String GatewayName
|
|
{
|
|
get { return gatewayName; }
|
|
set { gatewayName = value; }
|
|
}
|
|
|
|
|
|
private Boolean _isFavorite;
|
|
public Boolean Favorite
|
|
{
|
|
get { return _isFavorite; }
|
|
set { this._isFavorite = value; }
|
|
}
|
|
|
|
private String _ip;
|
|
public String IP
|
|
{
|
|
get { return _ip; }
|
|
set { this._ip = value; }
|
|
}
|
|
|
|
private Boolean _hasRemoteMonitor;
|
|
public Boolean HasRemoteMonitor
|
|
{
|
|
get { return _hasRemoteMonitor; }
|
|
set { this._hasRemoteMonitor = value; }
|
|
}
|
|
|
|
private Boolean _hasTextMessage;
|
|
public Boolean HasTextMessage
|
|
{
|
|
get { return _hasTextMessage; }
|
|
set { this._hasTextMessage = value; }
|
|
}
|
|
|
|
private Boolean _canMakeSipCalls;
|
|
public Boolean canMakeSipCalls
|
|
{
|
|
get { return _canMakeSipCalls; }
|
|
set { this._canMakeSipCalls = value; }
|
|
}
|
|
|
|
private int _sipID;
|
|
public int SipID
|
|
{
|
|
get { return _sipID; }
|
|
set { this._sipID = value; }
|
|
}
|
|
|
|
|
|
public Subscriber()
|
|
{
|
|
this.ImageKey = "i_manual_dial";
|
|
this.DispatcherName = "Unknown";
|
|
this.Online = true;
|
|
this.Favorite = false;
|
|
this._hasRemoteMonitor = false;
|
|
this._hasTextMessage = true;
|
|
this.Id = 0;
|
|
this.Sc_id = 0;
|
|
this.Imei = "";
|
|
this.IP = "";
|
|
this.SubscriberType = SubscriberType.UNKNOWN;
|
|
}
|
|
}
|
|
}
|