public async Task GetInitiativeMember_ShouldReturnInitiativeMember_WhenInitiativeMemberExists() { //Arrange var initiativeId = Guid.NewGuid(); var memberId = Guid.NewGuid(); var initiativeMemberDto = new InitiativeMemberDto { InitiativeId = initiativeId.ToString(), MemberId = memberId.ToString(), Rating = 5 }; var initiativeMember = new InitiativeMember { InitiativeId = initiativeId, MemberId = memberId.ToString() }; _initiativeMockUnitOfWork.Setup(x => x.InitiativeMember.GetInitiativeMember(initiativeMemberDto.MemberId, initiativeMemberDto.InitiativeId)).ReturnsAsync(initiativeMember); //Act var initiativeMemberReturn = await _service.GetInitiativeMember(initiativeMemberDto); //Assert Assert.Equal(initiativeMemberDto.InitiativeId, initiativeMemberReturn.InitiativeId.ToString()); Assert.IsType <InitiativeMember>(initiativeMemberReturn); }
public async Task <IActionResult> RemoveInitiativeMember(string initiativeId, string memberId) { var initiativeMemberDto = new InitiativeMemberDto(); initiativeMemberDto.InitiativeId = initiativeId; initiativeMemberDto.MemberId = memberId; var existingInitiativeMember = await _initiativeMemberService.GetInitiativeMember(initiativeMemberDto); if (existingInitiativeMember == null) { return(BadRequest("Initiative member is not exists")); } if (existingInitiativeMember != null) { var result = await _initiativeMemberService.RemoveInitiativeMember(existingInitiativeMember); if (result) { return(Ok()); } } return(BadRequest("Failed to remove the member")); }
public async Task <bool> AddInitiativeMember(InitiativeMemberDto initiativeMemberForCreateDto) { var newInitiativeMember = _mapper.Map <InitiativeMember>(initiativeMemberForCreateDto); newInitiativeMember.CreatedAt = DateTime.Now; return(await _unitOfWork.InitiativeMember.AddInitiativeMember(newInitiativeMember)); }
public async Task <bool> RateMember(InitiativeMemberDto initiativeMemberForRate) { var query = _db.InitiativeMember.AsQueryable(); var initiativeMember = await query.Where(im => im.MemberId == initiativeMemberForRate.MemberId && im.InitiativeId.ToString() == initiativeMemberForRate.InitiativeId) .FirstOrDefaultAsync(); if (initiativeMember != null) { initiativeMember.Rating = initiativeMemberForRate.Rating; return(_db.SaveChanges() > 0); } return(false); }
public async Task <IActionResult> RateMember(InitiativeMemberDto initiativeMemberForCreateDto) { var result = await _initiativeMemberService.RateMember(initiativeMemberForCreateDto); if (!result) { return(BadRequest("Failed to rate the member")); } if (result) { return(Ok()); } return(BadRequest("Failed")); }
public async Task <IActionResult> AddInitiativeMember(InitiativeMemberDto initiativeMemberForCreateDto) { var initiativeMember = await _initiativeMemberService.GetInitiativeMember(initiativeMemberForCreateDto); if (initiativeMember != null) { return(BadRequest("Already a member")); } if (initiativeMember == null) { var result = await _initiativeMemberService.AddInitiativeMember(initiativeMemberForCreateDto); if (result) { await _azureBusService.SendEmailAsync(initiativeMemberForCreateDto.MemberId, "initiativeAssign"); return(Ok()); } } return(BadRequest("Adding member is failed")); }
public async Task <bool> RateMember(InitiativeMemberDto initiativeMemberForRate) { var initiativeMember = await _unitOfWork.InitiativeMember .GetInitiativeMember(initiativeMemberForRate.MemberId, initiativeMemberForRate.InitiativeId); if (initiativeMemberForRate.Rating != 0 && initiativeMember.Rating == 0) { return(await _unitOfWork.InitiativeMember.RateMember(initiativeMemberForRate)); } if (initiativeMemberForRate.Rating != 0 && initiativeMember.Rating != 0) { var rating = (initiativeMember.Rating + initiativeMemberForRate.Rating) / 2; if (initiativeMember.Rating == rating) { return(true); } else { initiativeMemberForRate.Rating = rating; } } return(await _unitOfWork.InitiativeMember.RateMember(initiativeMemberForRate)); }
public async Task <InitiativeMember> GetInitiativeMember(InitiativeMemberDto initiativeMemberForCreateDto) { var initiativeMember = await _unitOfWork.InitiativeMember.GetInitiativeMember(initiativeMemberForCreateDto.MemberId, initiativeMemberForCreateDto.InitiativeId); return(initiativeMember); }