public async Task AddUserToDialog(DialogDTO dialog, UserDTO account)
        {
            DAL.Entities.Dialog dialogEnt = await Database.DialogManager.GetById(dialog.Id);

            DAL.Entities.ClientProfile userEnt = await Database.ClientManager.GetById(account.Id);

            dialogEnt.ChatUsers.Add(userEnt);
            await Database.DialogManager.Update(dialogEnt);

            await Database.SaveAsync();
        }
        public async Task RemoveUserFromDialog(DialogDTO dialog, UserDTO account)
        {
            DAL.Entities.Dialog dialogEnt = await Database.DialogManager.GetById(dialog.Id);

            DAL.Entities.ClientProfile userEnt = await Database.ClientManager.GetById(account.Id);

            dialogEnt.ChatUsers.Remove(userEnt);

            if (dialogEnt.ChatUsers.Count == 0)
            {
                await Database.DialogManager.Delete(dialogEnt);

                return;
            }
            await Database.DialogManager.Update(dialogEnt);

            await Database.SaveAsync();
        }
Exemple #3
0
        public async Task <int> PostMessageToDialog(DialogDTO dialog, UserDTO user, MessageDTO message)
        {
            DAL.Entities.Dialog dialogEnt = await Database.DialogManager.GetById(dialog.Id);

            DAL.Entities.ClientProfile userEnt = await Database.ClientManager.GetById(user.Id);

            DAL.Entities.Message newMessage = new DAL.Entities.Message
            {
                Content = message.Content
            };
            newMessage.Time   = DateTime.Now;
            newMessage.Sender = userEnt;
            newMessage.Dialog = dialogEnt;
            await Database.MessageManager.Create(newMessage);

            await Database.SaveAsync();

            return(newMessage.Id);
        }