using System;
namespace GZTW.AyaNova.BLL
{
///
/// Abstract class for physically delivering
/// notification messages.
///
public abstract class GenMessageDelivery
{
#pragma warning disable 1591
private string _toAddress="";
private string _fromAddress="";
private string _subject="";
private string _message="";
protected string mError="";
private string _host="";
private int _port = 25;//Case 515
private string _login="";
private string _password="";
private Guid _AyaNovaRecipientUserID=Guid.Empty;
private Guid _RootObjectID;
private RootObjectTypes _RootObjectType;
protected bool mFailedDelivery;
protected GenMessageDelivery()
{}
public string Host{get{return _host;}set{_host=value;}}
public int Port { get { return _port; } set { _port = value; } }//Case 515
public string ToAddress{get{return _toAddress;}set{_toAddress=value;}}
public string FromAddress{get{return _fromAddress;}set{_fromAddress=value;}}
public string Subject{get{return _subject;}set{_subject=value;}}
public string Message{get{return _message;}set{_message=value;}}
public string Error{get{return mError;}}
public string Login{get{return _login;}set{_login=value;}}
public string Password{get{return _password;}set{_password=value;}}
public Guid AyaNovaRecipientUserID{get{return _AyaNovaRecipientUserID;}set{_AyaNovaRecipientUserID=value;}}
public bool FailedDelivery{get{return mFailedDelivery;}}
public Guid RootObjectID{get{return _RootObjectID;}set{_RootObjectID=value;}}
public RootObjectTypes RootObjectType{get{return _RootObjectType;}set{_RootObjectType=value;}}
///
/// Performs delivery,
/// returns true on sucess or false on failure
///
///
public abstract bool Deliver();
///
/// Indicates message contains enough
/// info for delivery and/or address
/// is in the correct format for delivery
///
public abstract bool IsValid{get; }
#pragma warning restore 1591
}
}