public async Task <IActionResult> ShareMessage([FromBody] AssetsDetails assetDetails) { try { if (assetDetails != null) { // Getting stored conversation data reference. var dataToUpdate = new ConversationData(); _conversationDataReference.TryGetValue("conversationData", out dataToUpdate); dataToUpdate.Note = assetDetails.Message; foreach (var conversationReference in _conversationReferences.Values) { await((BotAdapter)_adapter).ContinueConversationAsync(_appId, conversationReference, BotCallback, default(CancellationToken)); } // Let the caller know proactive messages have been sent var result = new ContentResult() { Content = "<html><body><h1>Proactive messages have been sent.</h1></body></html>", ContentType = "text/html", StatusCode = (int)HttpStatusCode.OK, }; return(Ok(result)); } return(NotFound()); } catch (Exception ex) { throw ex; } }
public async Task <IActionResult> ShareMessage([FromBody] AssetsDetails assetDetails) { try { if (assetDetails != null) { var url = blobUrl; foreach (var fileName in assetDetails.Files) { actions.Add(new AdaptiveOpenUrlAction { Title = fileName, Url = new Uri(url + "/" + fileName), }); } // Getting stored conversation data reference. var dataToUpdate = new ConversationData(); _conversationDataReference.TryGetValue(assetDetails.MeetingId, out dataToUpdate); if (dataToUpdate == null) { throw new ArgumentNullException(nameof(dataToUpdate)); } dataToUpdate.Note = assetDetails.Message; // This code is to get user name from roster. //if (dataToUpdate.Roster.Any(entity => entity.Email == assetDetails.SharedBy)) //{ // dataToUpdate.SharedByName = dataToUpdate.Roster.Length > 0 ? dataToUpdate.Roster.Where(entity => entity.Email == assetDetails.SharedBy).FirstOrDefault().GivenName : ""; //} dataToUpdate.SharedByName = "Hey, here is a message for you"; var meetingConversationReference = new ConversationReference(); _conversationReferences.TryGetValue(assetDetails.MeetingId, out meetingConversationReference); meetingId = assetDetails.MeetingId; await((BotAdapter)_adapter).ContinueConversationAsync(_appId, meetingConversationReference, BotCallback, default(CancellationToken)); // Let the caller know proactive messages have been sent var result = new ContentResult() { Content = "<html><body><h1>Proactive messages have been sent.</h1></body></html>", ContentType = "text/html", StatusCode = (int)HttpStatusCode.OK, }; return(Ok(result)); } return(NotFound()); } catch (Exception ex) { throw ex; } }