public IActionResult getUserChat([FromBody] int userId)
        {
            List <Conversation> conversations = contactsRepo.getconversations(userId);

            if (conversations != null)
            {
                List <User>       usercontacts = user.getUsersByConversation(conversations, userId);
                List <ContactsVm> Contacts     = new List <ContactsVm>();
                foreach (var item in usercontacts)
                {
                    ContactsVm contact = new ContactsVm();
                    contact.ContactID    = item.ID;
                    contact.ImageUrl     = item.ImageUrl;
                    contact.UserName     = item.UserName;
                    contact.ConnectionId = item.ConnectionId;
                    contact.Status       = item.Status;
                    //srry for this line try to change it if you have time
                    contact.LastMessage = messages.GetMessagesByConvId(contactsRepo.getConversationbyUsersID(userId, contact.ContactID).ID).LastOrDefault()?.Body;
                    Contacts.Add(contact);
                }
                return(Ok(Contacts));
            }
            else
            {
                return(Ok(null));
            }
        }
        public async Task <ContactsVm> GetById(long contactId)
        {
            var contact = await _context.Contacts.FindAsync(contactId);

            var contactsViewModel = new ContactsVm()
            {
                ID = contact.ID,
                ApartmentNumber = contact.ApartmentNumber,
                NameStreet      = contact.NameStreet,
                UserIds         = contact.UserID
            };

            return(contactsViewModel);
        }