Beispiel #1
0
        public async Task AddUsersToGroup()
        {
            var group   = fillTestDbHelper.Groups.FirstOrDefault();
            var contact = await contactsService.CreateOrEditContactAsync(new ContactDto
            {
                ContactUserId = -1,
                UserId        = group.UserId
            });

            await groupsService.AddUsersToGroupAsync(new List <long> {
                contact.ContactUserId
            }, group.GroupId, group.UserId);
        }
Beispiel #2
0
        public async Task CreateOrEditContact()
        {
            var firstUser        = fillTestDbHelper.Users.FirstOrDefault();
            var secondUser       = fillTestDbHelper.Users.LastOrDefault();
            var exprectedContact = new ContactDto
            {
                UserId        = firstUser.Id,
                ContactUserId = secondUser.Id,
                Name          = "Contact name"
            };
            var actualContact = await contactsService.CreateOrEditContactAsync(exprectedContact);

            Assert.True(exprectedContact.ContactUserId == actualContact.ContactUserId &&
                        exprectedContact.UserId == actualContact.UserId &&
                        exprectedContact.Name == actualContact.Name);
            var editedExpectedContact = actualContact;

            editedExpectedContact.Name = "Edited name";
            var editedActualContact = await contactsService.CreateOrEditContactAsync(editedExpectedContact);

            Assert.True(editedExpectedContact.Name == editedActualContact.Name);
        }
Beispiel #3
0
        public async Task <Response> CreateResponseAsync()
        {
            try
            {
                ContactDto resultContact = await contactsService.CreateOrEditContactAsync(
                    ContactConverter.GetContactDto(request.Contact, clientConnection.UserId.GetValueOrDefault())).ConfigureAwait(false);

                return(new ContactsResponse(request.RequestId, ContactConverter.GetContactVm(resultContact)));
            }
            catch (ObjectDoesNotExistsException ex)
            {
                Logger.WriteLog(ex);
                return(new ResultResponse(request.RequestId, "User not found.", ObjectsLibrary.Enums.ErrorCode.ObjectDoesNotExists));
            }
        }
        public async Task <bool> SaveUserDataAsync(UserDto userData)
        {
            try
            {
                UserDto user = await updateUsersService.CreateOrUpdateUserAsync(userData).ConfigureAwait(false);

                IEnumerable <ChatDto> chats = await createChatsService.CreateOrUpdateUserChatsAsync(userData.Chats).ConfigureAwait(false);

                IEnumerable <ChannelDto> channels = await createChannelsService.CreateOrUpdateUserChannelsAsync(userData.Channels).ConfigureAwait(false);

                foreach (var chat in userData.Chats)
                {
                    await createMessagesService.SaveMessagesAsync(chat.Messages, user.Id).ConfigureAwait(false);
                }
                foreach (var channel in userData.Channels)
                {
                    await createMessagesService.SaveMessagesAsync(channel.Messages, user.Id).ConfigureAwait(false);
                }
                foreach (var dialog in userData.Dialogs)
                {
                    await createMessagesService.SaveMessagesAsync(dialog.Messages, user.Id).ConfigureAwait(false);
                }
                foreach (var contact in userData.Contacts)
                {
                    await contactsService.CreateOrEditContactAsync(contact).ConfigureAwait(false);
                }
                foreach (var group in userData.ContactGroups)
                {
                    await groupsService.CreateOrEditGroupAsync(group).ConfigureAwait(false);
                }
                await favoritesService.ChangeUserFavoritesAsync(userData.Favorites, userData.Id).ConfigureAwait(false);

                return(true);
            }
            catch (Exception ex)
            {
                Logger.WriteLog(ex);
                return(false);
            }
        }
Beispiel #5
0
        public async Task ApplyPrivacySettingsGroupsAndContacts()
        {
            var user       = fillTestDbHelper.Users.FirstOrDefault();
            var firstUser  = UserConverter.GetUserVm(fillTestDbHelper.Users.FirstOrDefault());
            var secondUser = UserConverter.GetUserVm(fillTestDbHelper.Users.Skip(1).FirstOrDefault());
            var thirdUser  = UserConverter.GetUserVm(fillTestDbHelper.Users.Skip(2).FirstOrDefault());
            var fourthUser = UserConverter.GetUserVm(fillTestDbHelper.Users.Skip(3).FirstOrDefault());
            await contactsService.RemoveContactsAsync(user.Contacts.Select(opt => opt.ContactId).ToList(), user.Id);

            var secondContact = await contactsService.CreateOrEditContactAsync(new ContactDto
            {
                ContactUserId = secondUser.Id.Value,
                UserId        = firstUser.Id.Value
            });

            var thirdContact = await contactsService.CreateOrEditContactAsync(new ContactDto
            {
                ContactUserId = thirdUser.Id.Value,
                UserId        = firstUser.Id.Value
            });

            var group = await gropsService.CreateOrEditGroupAsync(new GroupDto
            {
                UserId  = firstUser.Id.Value,
                UsersId = new List <long> {
                    thirdContact.ContactUserId
                },
                PrivacySettings = int.MaxValue
            });

            firstUser.ContactsPrivacy[1] = true;
            var filteredBySecondUser = (await privacyService.ApplyPrivacySettingsAsync(new List <UserVm> {
                firstUser
            }, secondUser.Id)).FirstOrDefault();

            Assert.True(filteredBySecondUser.NameFirst != null &&
                        filteredBySecondUser.NameSecond != null &&
                        filteredBySecondUser.Tag != null &&
                        filteredBySecondUser.About == null &&
                        filteredBySecondUser.Photo == null &&
                        filteredBySecondUser.Phones == null &&
                        filteredBySecondUser.Emails == null);
            var filteredByThirdUser = (await privacyService.ApplyPrivacySettingsAsync(new List <UserVm> {
                firstUser
            }, thirdUser.Id)).FirstOrDefault();

            Assert.True(filteredByThirdUser.NameFirst != null &&
                        filteredByThirdUser.NameSecond != null &&
                        filteredByThirdUser.Tag != null &&
                        filteredByThirdUser.About != null &&
                        filteredByThirdUser.Photo != null &&
                        filteredByThirdUser.Phones != null &&
                        filteredByThirdUser.Emails != null);
            var filteredByFourthUser = (await privacyService.ApplyPrivacySettingsAsync(new List <UserVm> {
                firstUser
            }, fourthUser.Id)).FirstOrDefault();

            Assert.True(filteredByFourthUser.NameFirst == null &&
                        filteredByFourthUser.NameSecond == null &&
                        filteredByFourthUser.Tag == null &&
                        filteredByFourthUser.About == null &&
                        filteredByFourthUser.Photo == null &&
                        filteredByFourthUser.Phones == null &&
                        filteredByFourthUser.Emails == null);
        }