Пример #1
0
        /// <inheritdoc />
        public async Task <CityMembersDTO> AddFollowerAsync(int cityId, string userId)
        {
            var oldCityMember = await _repositoryWrapper.CityMembers
                                .GetFirstOrDefaultAsync(i => i.UserId == userId);

            if (oldCityMember != null)
            {
                _repositoryWrapper.CityMembers.Delete(oldCityMember);
                await _repositoryWrapper.SaveAsync();
            }

            var oldCityAdmins = await _repositoryWrapper.CityAdministration
                                .GetAllAsync(i => i.UserId == userId && (DateTime.Now < i.EndDate || i.EndDate == null));

            foreach (var admin in oldCityAdmins)
            {
                await _cityAdministrationService.RemoveAdministratorAsync(admin.ID);
            }

            var cityMember = new CityMembers()
            {
                CityId     = cityId,
                IsApproved = false,
                UserId     = userId,
                User       = await _userManager.FindByIdAsync(userId)
            };

            await _repositoryWrapper.CityMembers.CreateAsync(cityMember);

            await _repositoryWrapper.SaveAsync();

            return(_mapper.Map <CityMembers, CityMembersDTO>(cityMember));
        }
Пример #2
0
        /// <inheritdoc />
        public async Task <CityMembersDTO> AddFollowerAsync(int cityId, string userId)
        {
            var oldCityMember = await _repositoryWrapper.CityMembers
                                .GetFirstOrDefaultAsync(i => i.UserId == userId);

            if (oldCityMember != null)
            {
                _repositoryWrapper.CityMembers.Delete(oldCityMember);
                await _repositoryWrapper.SaveAsync();
            }

            var oldCityAdmin = await _repositoryWrapper.CityAdministration
                               .GetFirstOrDefaultAsync(i => i.UserId == userId);

            if (oldCityAdmin != null)
            {
                _repositoryWrapper.CityAdministration.Delete(oldCityAdmin);
                await _repositoryWrapper.SaveAsync();
            }

            var cityMember = new CityMembers()
            {
                CityId     = cityId,
                IsApproved = false,
                UserId     = userId,
                User       = await _userManager.FindByIdAsync(userId)
            };

            await _repositoryWrapper.CityMembers.CreateAsync(cityMember);

            await _repositoryWrapper.SaveAsync();

            return(_mapper.Map <CityMembers, CityMembersDTO>(cityMember));
        }
        public async Task IsApprovedCityMember_Valid_GetFalseAsync()
        {
            //Arrange
            string userId = "Id";
            CityMembers cityMembers = new CityMembers() { IsApproved = false };
            _mockRepoWrapper
                .Setup(x => x.CityMembers.GetFirstOrDefaultAsync(It.IsAny<Expression<Func<CityMembers, bool>>>(),
                It.IsAny<Func<IQueryable<CityMembers>,
                IIncludableQueryable<CityMembers, object>>>()))
                .ReturnsAsync(cityMembers);

            //Act
            var result = await _userService.IsApprovedCityMember(userId);

            //Assert
            Assert.IsFalse(result);
        }
Пример #4
0
 public async Task RemoveMemberAsync(CityMembers member)
 {
     _repositoryWrapper.CityMembers.Delete(member);
     await _repositoryWrapper.SaveAsync();
 }