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(); }
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); }