/// <inheritdoc /> public async Task <ClubProfileDTO> EditAsync(int ClubId) { var Club = await GetByIdAsync(ClubId); if (Club == null) { return(null); } var ClubAdmins = Club.ClubAdministration .ToList(); var members = Club.ClubMembers .Where(p => ClubAdmins.All(a => a.UserId != p.UserId)) .Where(m => m.IsApproved) .ToList(); var followers = Club.ClubMembers .Where(m => !m.IsApproved) .ToList(); var ClubProfileDto = new ClubProfileDTO { Club = Club, Admins = ClubAdmins, Members = members, Followers = followers }; return(ClubProfileDto); }
/// <inheritdoc /> public async Task <ClubProfileDTO> GetClubAdminsAsync(int ClubId) { var Club = await GetByIdAsync(ClubId); if (Club == null) { return(null); } var ClubHead = Club.ClubAdministration? .FirstOrDefault(a => a.AdminType.AdminTypeName == "Голова Куреня" && (DateTime.Now < a.EndDate || a.EndDate == null)); var ClubAdmins = Club.ClubAdministration .Where(a => a.AdminType.AdminTypeName != "Голова Куреня" && (DateTime.Now < a.EndDate || a.EndDate == null)) .ToList(); var ClubProfileDto = new ClubProfileDTO { Club = Club, Admins = ClubAdmins, Head = ClubHead }; return(ClubProfileDto); }
/// <inheritdoc /> public async Task <ClubProfileDTO> GetClubFollowersAsync(int ClubId) { var Club = await GetByIdAsync(ClubId); if (Club == null) { return(null); } var followers = Club.ClubMembers .Where(m => !m.IsApproved) .ToList(); foreach (var follower in followers) { var userId = follower.UserId; var cityMembers = await _repoWrapper.CityMembers.GetFirstOrDefaultAsync(a => a.UserId == userId); var city = await _repoWrapper.City.GetFirstAsync(a => a.ID == cityMembers.CityId); follower.User.CityName = city.Name.ToString(); } var ClubProfileDto = new ClubProfileDTO { Club = Club, Followers = followers }; return(ClubProfileDto); }
private DataAccessClub.Club CreateClubFromProfileAsync(ClubProfileDTO model) { var ClubDto = model.Club; var Club = _mapper.Map <ClubDTO, DataAccessClub.Club>(ClubDto); return(Club); }
/// <inheritdoc /> public async Task EditAsync(ClubProfileDTO model, IFormFile file) { await UploadPhotoAsync(model.Club, file); var Club = CreateClubFromProfileAsync(model); _repoWrapper.Club.Attach(Club); _repoWrapper.Club.Update(Club); await _repoWrapper.SaveAsync(); }
/// <inheritdoc /> public async Task <int> CreateAsync(ClubProfileDTO model, IFormFile file) { await UploadPhotoAsync(model.Club, file); var Club = CreateClubFromProfileAsync(model); _repoWrapper.Club.Attach(Club); await _repoWrapper.Club.CreateAsync(Club); await _repoWrapper.SaveAsync(); return(Club.ID); }
private async Task <ClubProfileDTO> GetClubInfoAsync(int clubId) { var club = await GetByIdAsync(clubId); if (club == null) { return(null); } var clubHead = club.ClubAdministration? .FirstOrDefault(a => a.AdminType.AdminTypeName == Roles.KurinHead && (DateTime.Now < a.EndDate || a.EndDate == null)); var clubHeadDeputy = club.ClubAdministration? .FirstOrDefault(a => a.AdminType.AdminTypeName == Roles.KurinHeadDeputy && (DateTime.Now < a.EndDate || a.EndDate == null)); var clubAdmins = club.ClubAdministration? .Where(a => a.AdminType.AdminTypeName != Roles.KurinHead && a.AdminType.AdminTypeName != Roles.KurinHeadDeputy && (DateTime.Now < a.EndDate || a.EndDate == null)) .ToList(); club.AdministrationCount = club.ClubAdministration == null ? 0 : club.ClubAdministration.Count(a => (DateTime.Now < a.EndDate || a.EndDate == null)); var members = club.ClubMembers .Where(m => m.IsApproved) .ToList(); club.MemberCount = club.ClubMembers .Count(m => m.IsApproved); var followers = club.ClubMembers .Where(m => !m.IsApproved) .ToList(); club.FollowerCount = club.ClubMembers .Count(m => !m.IsApproved); club.DocumentsCount = club.ClubDocuments.Count(); var clubDoc = club.ClubDocuments.Take(6).ToList(); var clubProfileDto = new ClubProfileDTO { Club = club, Head = clubHead, HeadDeputy = clubHeadDeputy, Members = members, Followers = followers, Admins = clubAdmins, Documents = clubDoc, }; return(clubProfileDto); }
public async Task CreateTest() { ClubService ClubService = CreateClubService(); ClubProfileDTO ClubProfileDto = new ClubProfileDTO { Club = new ClubDTO { ID = 0 } }; var result = await ClubService.CreateAsync(ClubProfileDto, null); Assert.Equal(ClubProfileDto.Club.ID, result); }
/// <inheritdoc /> public async Task <ClubProfileDTO> GetClubProfileAsync(int ClubId) { var Club = await GetByIdAsync(ClubId); if (Club == null) { return(null); } var ClubHead = Club.ClubAdministration? .FirstOrDefault(a => a.AdminType.AdminTypeName == "Голова Куреня" && (DateTime.Now < a.EndDate || a.EndDate == null)); var ClubAdmins = Club.ClubAdministration .Where(a => a.AdminType.AdminTypeName != "Голова Куреня" && (DateTime.Now < a.EndDate || a.EndDate == null)) .Take(6) .ToList(); Club.AdministrationCount = Club.ClubAdministration .Count(a => (DateTime.Now < a.EndDate || a.EndDate == null)); var members = Club.ClubMembers .Where(m => m.IsApproved) .Take(9) .ToList(); Club.MemberCount = Club.ClubMembers .Count(m => m.IsApproved); var followers = Club.ClubMembers .Where(m => !m.IsApproved) .Take(6) .ToList(); Club.FollowerCount = Club.ClubMembers .Count(m => !m.IsApproved); var ClubDoc = Club.ClubDocuments.Take(6).ToList(); var ClubProfileDto = new ClubProfileDTO { Club = Club, Head = ClubHead, Members = members, Followers = followers, Admins = ClubAdmins, Documents = ClubDoc, }; return(ClubProfileDto); }
public async Task CreateAsync_WhereFormFileIsNull_ReturnClubDtoID() { // Arrange ClubService clubService = CreateClubService(); ClubProfileDTO clubProfileDto = new ClubProfileDTO { Club = new ClubDTO { ID = 0 } }; // Act var result = await clubService.CreateAsync(clubProfileDto, null); // Assert Assert.AreEqual(clubProfileDto.Club.ID, result); }
/// <inheritdoc /> public async Task <ClubProfileDTO> GetClubDocumentsAsync(int ClubId) { var Club = await GetByIdAsync(ClubId); if (Club == null) { return(null); } var ClubDoc = Club.ClubDocuments.ToList(); var ClubProfileDto = new ClubProfileDTO { Club = Club, Documents = ClubDoc }; return(ClubProfileDto); }
public async Task <IActionResult> ClubAdmins(int ClubId) { try { ClubProfileDTO ClubProfileDto = await _ClubService.GetClubAdminsAsync(ClubId); if (ClubProfileDto == null) { return(RedirectToAction("HandleError", "Error", new { code = StatusCodes.Status404NotFound })); } return(View(_mapper.Map <ClubProfileDTO, ClubProfileViewModel>(ClubProfileDto))); } catch (Exception e) { _logger.LogError($"Exception :{e.Message}"); return(RedirectToAction("HandleError", "Error", new { code = StatusCodes.Status505HttpVersionNotsupported })); } }
/// <inheritdoc /> public async Task <ClubProfileDTO> GetClubFollowersAsync(int ClubId) { var Club = await GetByIdAsync(ClubId); if (Club == null) { return(null); } var followers = Club.ClubMembers .Where(m => !m.IsApproved) .ToList(); var ClubProfileDto = new ClubProfileDTO { Club = Club, Followers = followers }; return(ClubProfileDto); }
public async Task CreateAsync_WithOldImageName_WhereFormFileIsNull_ReturnClubDtoID() { // Arrange ClubService clubService = CreateClubService(); ClubProfileDTO clubProfileDto = new ClubProfileDTO { Club = new ClubDTO { ID = 0 } }; _repoWrapper.Setup(r => r.Club.GetFirstOrDefaultAsync(It.IsAny <Expression <Func <DataAccessClub.Club, bool> > >(), null)) .ReturnsAsync((DataAccessClub.Club)null); // Act var result = await clubService.CreateAsync(clubProfileDto, null); // Assert Assert.AreEqual(clubProfileDto.Club.ID, result); }
/// <inheritdoc /> public async Task <ClubProfileDTO> GetClubAdminsAsync(int ClubId) { var Club = await GetByIdAsync(ClubId); if (Club == null) { return(null); } var ClubHead = Club.ClubAdministration? .FirstOrDefault(a => a.AdminType.AdminTypeName == "Голова Куреня" && (DateTime.Now < a.EndDate || a.EndDate == null)); var ClubAdmins = Club.ClubAdministration .Where(a => a.AdminType.AdminTypeName != "Голова Куреня" && (DateTime.Now < a.EndDate || a.EndDate == null)).ToList(); foreach (var admin in ClubAdmins) { var userId = admin.UserId; var cityMembers = await _repoWrapper.CityMembers.GetFirstOrDefaultAsync(a => a.UserId == userId); if (cityMembers != null) { var city = await _repoWrapper.City.GetFirstAsync(a => a.ID == cityMembers.CityId); admin.User.CityName = city.Name.ToString(); } } var ClubProfileDto = new ClubProfileDTO { Club = Club, Admins = ClubAdmins, Head = ClubHead }; return(ClubProfileDto); }
public async Task EditAsync_WithModelAndFormFile_ReturnsClubEdited() { // Arrange ClubService clubService = CreateClubService(); ClubProfileDTO clubProfileDto = new ClubProfileDTO { Club = new ClubDTO { ID = 0 } }; _repoWrapper.Setup(r => r.Club.Attach(It.IsAny <DataAccessClub.Club>())); _repoWrapper.Setup(r => r.Club.Update(It.IsAny <DataAccessClub.Club>())); _repoWrapper.Setup(r => r.SaveAsync()); // Act await clubService.EditAsync(clubProfileDto, It.IsAny <IFormFile>()); // Assert _repoWrapper.Verify(r => r.Club.Attach(It.IsAny <DataAccessClub.Club>()), Times.Once); _repoWrapper.Verify(r => r.Club.Update(It.IsAny <DataAccessClub.Club>()), Times.Once); _repoWrapper.Verify(r => r.SaveAsync(), Times.Once); }