DocSpace-buildtools/common/ASC.Core.Common/Notify/Messages/SendResponse.cs
2020-08-27 17:01:37 +03:00

104 lines
3.6 KiB
C#

/*
*
* (c) Copyright Ascensio System Limited 2010-2018
*
* This program is freeware. You can redistribute it and/or modify it under the terms of the GNU
* General Public License (GPL) version 3 as published by the Free Software Foundation (https://www.gnu.org/copyleft/gpl.html).
* In accordance with Section 7(a) of the GNU GPL its Section 15 shall be amended to the effect that
* Ascensio System SIA expressly excludes the warranty of non-infringement of any third-party rights.
*
* THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR
* FITNESS FOR A PARTICULAR PURPOSE. For more details, see GNU GPL at https://www.gnu.org/copyleft/gpl.html
*
* You can contact Ascensio System SIA by email at sales@onlyoffice.com
*
* The interactive user interfaces in modified source and object code versions of ONLYOFFICE must display
* Appropriate Legal Notices, as required under Section 5 of the GNU GPL version 3.
*
* Pursuant to Section 7 § 3(b) of the GNU GPL you must retain the original ONLYOFFICE logo which contains
* relevant author attributions when distributing the software. If the display of the logo in its graphic
* form is not reasonably feasible for technical reasons, you must include the words "Powered by ONLYOFFICE"
* in every copy of the program you distribute.
* Pursuant to Section 7 § 3(e) we decline to grant you any rights under trademark law for use of our trademarks.
*
*/
using System;
using ASC.Notify.Model;
using ASC.Notify.Recipients;
namespace ASC.Notify.Messages
{
[Serializable]
public class SendResponse
{
public SendResponse()
{
Result = SendResult.OK;
}
public SendResponse(INotifyAction action, IRecipient recipient, Exception exc)
{
Result = SendResult.Impossible;
Exception = exc;
Recipient = recipient;
NotifyAction = action;
}
public SendResponse(INotifyAction action, string senderName, IRecipient recipient, Exception exc)
{
Result = SendResult.Impossible;
SenderName = senderName;
Exception = exc;
Recipient = recipient;
NotifyAction = action;
}
public SendResponse(INotifyAction action, string senderName, IRecipient recipient, SendResult sendResult)
{
SenderName = senderName;
Recipient = recipient;
Result = sendResult;
NotifyAction = action;
}
public SendResponse(INoticeMessage message, string sender, SendResult result)
{
NoticeMessage = message;
SenderName = sender;
Result = result;
if (message != null)
{
Recipient = message.Recipient;
NotifyAction = message.Action;
}
}
public SendResponse(INoticeMessage message, string sender, Exception exc)
{
NoticeMessage = message;
SenderName = sender;
Result = SendResult.Impossible;
Exception = exc;
if (message != null)
{
Recipient = message.Recipient;
NotifyAction = message.Action;
}
}
public INoticeMessage NoticeMessage { get; internal set; }
public INotifyAction NotifyAction { get; internal set; }
public SendResult Result { get; set; }
public Exception Exception { get; set; }
public string SenderName { get; internal set; }
public IRecipient Recipient { get; internal set; }
}
}