public async Task DeleteMessage(int msgId, int chatId)
        {
            string currentUserId = repository.ChatMessages.
                                   FirstOrDefault(m => m.Id == msgId).UserId;

            repository.DeleteChatMessage(msgId);

            Chat chat = repository.Chats.FirstOrDefault(c => c.ChatId == chatId);

            //if lastMsg not exists
            if (chat.Messages == null)
            {
                //Remove this chat from Index-Chat and Header-chat
            }
            else
            {
                //retrun new lastMsg
                ChatMessage lastMsg = chat.Messages.LastOrDefault();

                string  senderId = lastMsg.UserId;
                AppUser sender   = userManager.Users
                                   .FirstOrDefault(u => u.Id == senderId);
                string senderPhoto = (sender.ProfilePhotoUrl != null) ?
                                     $"/UsersData/{sender.ProfilePhotoUrl}" : "/defaultAvatar.png";
                string senderName = (sender.FirstName == null && sender.LastName == null) ?
                                    sender.UserName : $"{sender.FirstName} {sender.LastName}";

                string recipientId = (chat.User1Id == senderId) ? chat.User2Id :
                                     chat.User1Id;
                AppUser recipient = userManager.Users
                                    .FirstOrDefault(u => u.Id == recipientId);
                string recipientPhoto = (recipient.ProfilePhotoUrl != null) ?
                                        $"/UsersData/{recipient.ProfilePhotoUrl}" : "/defaultAvatar.png";
                string recipientName = (recipient.FirstName == null && recipient.LastName == null) ?
                                       recipient.UserName : $"{recipient.FirstName} {recipient.LastName}";

                string date = MsgSentDate(lastMsg.DateAdded);

                await Clients.All.SendAsync("ChatIndexNewLastMsg", senderId, recipientId,
                                            chat.ChatId, senderName, date, lastMsg.MessageContent,
                                            chat.Messages.Where(m => m.Seen == false).Count(), senderPhoto);

                await Clients.All.SendAsync("UserHeaderNewLastMsg", senderId, recipientId,
                                            chat.ChatId, senderName, date, lastMsg.MessageContent,
                                            chat.Messages.Where(m => m.Seen == false).Count(), senderPhoto,
                                            recipientPhoto, recipientName);
            }

            //delete msg from chat view
            await Clients.All.SendAsync("DeleteMsgChat", msgId, chatId);
        }