private Func <Task <HttpOperationResponse <IList <CreateBulkMessageResult> > >, IList <CreateBulkMessageResult> > BulkMessagesCreated(IList <CreateMessage> messages) { return(a => { if (a.Status != TaskStatus.RanToCompletion) { foreach (var msg in messages) { OnMessageFail?.Invoke(this, new FailEventArgs(msg, a.Exception)); } return null; } return a.Result?.Body; }); }
private Func <Task <Microsoft.Rest.HttpOperationResponse <CreateMessageResult> >, Message> MessagesCreated(CreateMessage message) { return(a => { if (a.Status != TaskStatus.RanToCompletion) { OnMessageFail?.Invoke(this, new FailEventArgs(message, a.Exception)); return null; } var location = a.Result?.Response?.Headers?.Location; var id = location?.AbsolutePath.Substring(1 + location.AbsolutePath.LastIndexOf("/", StringComparison.Ordinal)); return new Message(id, message.Application, message.Detail, message.Hostname, message.Title, message.TitleTemplate, message.Source, message.StatusCode, message.DateTime, message.Type, message.User, message.Severity, message.Url, message.Method, message.Version, message.Cookies, message.Form, message.QueryString, message.ServerVariables, message.Data); }); }