public EditGroupWindow(ChatGroupUiInfo group) { InitializeComponent(); DwmDropShadow.DropShadowToWindow(this); DataContext = new EditGroupWindowVM(this, group); }
public EditGroupWindowVM(IView view, ChatGroupUiInfo group) { try { _view = view; _groupUiInfo = group; _membersToAdd = new List <UiInfo>(); Init(); IsNewChanges = IsSavingProgress = false; } catch (Exception) { } }
public bool AddUserToChatGroupContact(int chatGroupId, int participantId) { try { using (UserContext userContext = new UserContext()) { UserToGroupContact contact = new UserToGroupContact(); ChatGroup dbChatGroup = userContext.ChatGroups.Include("Participants").FirstOrDefault(chatGroup => chatGroup.Id == chatGroupId); User ownedFromDb = userContext.Users.FirstOrDefault(dbUser => dbUser.Id == participantId); contact.ChatGroup = dbChatGroup; contact.UserOwner = ownedFromDb; if (userContext.Contacts.FirstOrDefault(c => ((c.UserOwnerId == participantId) && ((c as UserToGroupContact).ChatGroupId == chatGroupId))) != null) { return(false); } userContext.Contacts.Add(contact); userContext.SaveChanges(); ChatGroupUiInfo groupInfo = new ChatGroupUiInfo(dbChatGroup); List <int> userIds = dbChatGroup.Participants.Select(c => c.UserOwnerId).ToList(); List <User> usersFromGroup = userContext.Users.Where(u => userIds.Contains(u.Id)).ToList(); foreach (User userToNotify in usersFromGroup) { AddNewContactCallback(groupInfo, userToNotify); } return(true); } } catch (Exception) { return(false); } }