コード例 #1
0
        public async Task <Response <List <InviteResponseDTO> > > InviteUser(InviteReturnDTO userInvite, IUrlHelper url, string requestScheme)
        {
            Response <List <InviteResponseDTO> > response = new Response <List <InviteResponseDTO> >();
            var roleCheck = await IsValidRole(userInvite.Role);

            if (!roleCheck)
            {
                response.Message = "Role is not valid";
                return(response);
            }

            var VerifiedMails = await VerifyMail(userInvite.EmailAddresses, _data);

            _data = VerifiedMails.Data;

            if (VerifiedMails.Emails.Count == 0)
            {
                response.Data    = ResponseMessageMapper.MapToResponseMsg(_data);
                response.Message = "Emails are Invalid";
                return(response);
            }

            var tokens = await CreateUserAndPassword(VerifiedMails.Emails, userInvite.Role, _data);

            _data = tokens.Data;

            _data = await SendMail(tokens.UserAndPassword, url, requestScheme, userInvite.Role, _data);

            response.Success = true;
            response.Data    = ResponseMessageMapper.MapToResponseMsg(_data);
            response.Message = "Invites sent";
            return(response);
        }
コード例 #2
0
        public async Task <IActionResult> SendInvite([FromBody] InviteReturnDTO userInvite)
        {
            var response = await _authService.InviteUser(userInvite, Url, Request.Scheme);

            if (response.Success)
            {
                return(Created("", response));
            }
            return(BadRequest(response));
        }
コード例 #3
0
        public async Task SendInviteTestValid()
        {
            //Arrange
            MockUp(true);
            var authController = new AuthController(_serviceProvider)
            {
                Url = _urlHelper
            };

            authController.ControllerContext.HttpContext = new DefaultHttpContext();
            var userToInvite = new InviteReturnDTO();

            //Act
            var actual = await authController.SendInvite(userToInvite) as CreatedResult;

            //Assert
            Assert.IsNotNull(actual);
            Assert.AreEqual(StatusCodes.Status201Created, actual.StatusCode);
        }