public async Task <Response> DeleteMessageAsync <TData>(DeleteMessageModel message)
            where TData : class
        {
            await GetQueueClient(message.QueueName);

            return(await _queueClient.DeleteMessageAsync(message.Message.MessageId, message.Message.PopReceipt));
        }
Esempio n. 2
0
        public ActionResult DeleteMessage([FromBody] DeleteMessageModel model)
        {
            if (!_chatService.IsMessageAuthor(model.Id, User.Identity.Name))
            {
                return(Unauthorized());
            }

            var chatId = _chatService.GetChatByMessageId(model.Id).Id;

            _chatService.DeleteMessage(model.Id, model.DeleteForAll);

            var subIds = _subscriptionManager.GetActiveChatMembers(chatId);

            _hub.Clients.Clients(subIds.ToList()).MessageDeleted(model.Id, chatId, model.DeleteForAll, User.Identity.Name);

            return(Ok());
        }
Esempio n. 3
0
        protected async void DeleteMessageAsync(MessageViewModel message, bool deleteForAll)
        {
            var deleteModel = new DeleteMessageModel
            {
                DeleteForAll = deleteForAll,
                Id           = message.Id
            };

            var result = await Api.DeleteMessage(deleteModel);

            if (!result.IsSuccessStatusCode)
            {
                Toaster.Add("Error occured while trying delete message", MatToastType.Danger);
            }
            else
            {
                Toaster.Add("Message deleted", MatToastType.Success);
            }
        }