Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 3
0
        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"));
        }
Exemplo n.º 7
0
        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));
        }
Exemplo n.º 8
0
        public async Task <InitiativeMember> GetInitiativeMember(InitiativeMemberDto initiativeMemberForCreateDto)
        {
            var initiativeMember = await _unitOfWork.InitiativeMember.GetInitiativeMember(initiativeMemberForCreateDto.MemberId, initiativeMemberForCreateDto.InitiativeId);

            return(initiativeMember);
        }