/// <summary> /// Converts a SourceDefinitionEntity to a SourceDefinition. /// </summary> /// <param name="sourceDefinitionEntity">The SourceDefinitionEntity that have to be converted.</param> /// <returns>The sourcedefinition object.</returns> public SourceDefinition SourceDefinitionEntityToSourceDefinition( SourceDefinitionEntity sourceDefinitionEntity) { SourceDefinition sourceDefinition = new SourceDefinition(); sourceDefinition.Id = sourceDefinitionEntity.Id; sourceDefinition.Name = sourceDefinitionEntity.Name; sourceDefinition.Description = sourceDefinitionEntity.Description; sourceDefinition.CreationTime = sourceDefinitionEntity.CreationTime; return sourceDefinition; }
/// <summary> /// Loads the send answer plugin for the given <see cref="SourceDefinition"/>. /// </summary> /// <param name="sourceDefinition">The source definition for which the plugin needs to be loaded.</param> /// <returns>Returns the loaded send answer plugin.</returns> public ISendAnswerPlugin LoadPlugin(SourceDefinition sourceDefinition) { switch (sourceDefinition.Name) { case "Mail": return new MailSendAnswerPlugin(); case "Facebook": return new FacebookSendAnswerPlugin(); case "Twitter": // TODO uncomment // return new TwitterSendAnswerPlugin(); default: throw new NotImplementedException("The provided source is not supported, so the answer couldn't be send."); } }