public IActivityHandler FromInvite(IActivityExecutor executor, IDictionary <string, string> metadata) { var inviteData = new FileInviteData(metadata); IFileTransferHandler handler = new FileTransferHandler(executor, inviteData.Name, inviteData.Size); return(handler); }
public IActivityHandler CreateInvite(IActivityExecutor executor, IDictionary <string, object> args) { if (!args.ContainsKey("content") || !(args["content"] is Stream)) { throw new ArgumentException("metadata must include content stream.", "metadata"); } var stream = (Stream)args["content"]; var inviteData = new FileInviteData(args.ToDictionary(x => x.Key, x => x.Value.ToString())); IFileTransferHandler handler = new FileTransferHandler(executor, inviteData.Name, inviteData.Size, stream); return(handler); }