Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        private IMessageWriter _messageSystemTypeToWriterType(MessageSystemType type)
        {
            switch (type)
            {
            case MessageSystemType.Email:
                return(new EmailWriter());

            default:
                throw new NotImplementedException("The message type provided does not exist or has not yet been implemented.");
            }
        }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="type"></param>
        /// <param name="options"></param>
        /// <returns></returns>
        private IMessageWriterOptions _messageSystemTypeToWriterOptionsType(MessageSystemType type, string options)
        {
            switch (type)
            {
            case MessageSystemType.Email:
                return(JsonConvert.DeserializeObject <EmailWriterOptions>(options, new JsonSerializerSettings()
                {
                    ContractResolver = DeserializationStrategy.DefaultContractResolver
                }));

            default:
                throw new NotImplementedException("The message type provided does not exist or has not yet been implemented.");
            }
        }
Example #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="messageType"></param>
 /// <param name="options"></param>
 /// <returns></returns>
 public async Task <IMessageWriterResult> SendMessage(MessageSystemType messageType, IMessageWriterOptions options)
 {
     return(await SendMessage(messageType, options.ToString()));
 }
Example #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="messageType"></param>
        /// <param name="options"></param>
        /// <returns></returns>
        public async Task <IMessageWriterResult> SendMessage(MessageSystemType messageType, string options)
        {
            IMessageWriter messageWriter = _messageSystemTypeToWriterType(messageType);

            return(await messageWriter.SendMessage(options, DefaultLogger));
        }