Example #1
0
        public Task <SimpleResponseDto <IEnumerable <TodoItemDto> > > GetList()
        {
            Task <IEnumerable <TodoItemDto> > todoItemDtos = queryBus.Send <GetTodoItemsQuery, IEnumerable <TodoItemDto> >(new GetTodoItemsQuery());

            return(todoItemDtos.ContinueWith(t =>
            {
                return SimpleResponseDto <IEnumerable <TodoItemDto> > .OK(todoItemDtos.Result);
            }));
        }
Example #2
0
        public Task <SimpleResponseDto <TodoItemDto> > Get(Guid id)
        {
            Task <TodoItemDto> todoItemDto = queryBus.Send <GetTodoItemQuery, TodoItemDto>(new GetTodoItemQuery(id));

            return(todoItemDto.ContinueWith(t =>
            {
                return SimpleResponseDto <TodoItemDto> .OK(todoItemDto.Result);
            }));
        }
Example #3
0
        public Task <SimpleResponseDto <bool> > Put(Guid id, [FromBody] UpdateTodoItemCommand command)
        {
            command.Id = id;
            Task task = commandBus.Send(command);

            return(task.ContinueWith(t =>
            {
                return SimpleResponseDto <bool> .OK(true);
            }));
        }
Example #4
0
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            string accessToken = GetAccessToken(context);

            if (!string.IsNullOrWhiteSpace(accessToken) && ValidAccessToken(context, accessToken))
            {
                return;
            }
            SimpleResponseDto <bool> simpleResponseDto = SimpleResponseDto <bool> .Failed(ResponseCodeEnum.ResponseCode_102);

            context.Result = new BadRequestObjectResult(simpleResponseDto);
        }
Example #5
0
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            if (!context.ModelState.IsValid)
            {
                SimpleResponseDto <IList <ValidationError> > simpleResponseDto = SimpleResponseDto <IList <ValidationError> > .Failed(ResponseCodeEnum.ResponseCode_101);

                simpleResponseDto.Result = context.ModelState.Keys
                                           .SelectMany(key => context.ModelState[key].Errors.Select(x => new ValidationError(key, x.ErrorMessage)))
                                           .ToList();

                context.Result = new BadRequestObjectResult(simpleResponseDto);
            }
        }
Example #6
0
        public SimpleResponseDto <bool> SignOut()
        {
            object accessToken = HttpContext.Items[AuthAttribute.AuthorizationHeaderName];

            if (accessToken != null)
            {
                //clear cache and other actions.
                loginService.SignOut();
                cacheProvider.Delete((string)accessToken);
            }

            return(SimpleResponseDto <bool> .OK(true));
        }
Example #7
0
        public IActionResult TestRedis()
        {
            cacheProvider.Set("username", new UserDto()
            {
                Username = "******"
            });
            UserDto user = cacheProvider.Get <UserDto>("username");

            if (user != null)
            {
                return(Content(JsonConvert.SerializeObject(SimpleResponseDto <bool> .OK(true)), "application/json", Encoding.UTF8));
            }
            return(Content(JsonConvert.SerializeObject(SimpleResponseDto <bool> .Failed(ResponseCodeEnum.ResponseCode_100)), "application/json", Encoding.UTF8));
        }
Example #8
0
        public Task <SimpleResponseDto <bool> > ChangeState(Guid id, string state)
        {
            Object obj = Enum.Parse(typeof(TodoItemStateEnum), state, true);

            if (obj != null)
            {
                TodoItemStateEnum todoItemStateEnum = (TodoItemStateEnum)obj;

                Task task = commandBus.Send(new ChangeStateOfTodoItemCommand(id, (int)todoItemStateEnum));
                return(task.ContinueWith(t =>
                {
                    return SimpleResponseDto <bool> .OK(true);
                }));
            }

            return(Task.Run(() => { return SimpleResponseDto <bool> .Failed(ResponseCodeEnum.ResponseCode_100); }));
        }
Example #9
0
        public async Task <IActionResult> ConfirmEmail([FromBody] string code)
        {
            SimpleResponseDto respDto = new SimpleResponseDto();

            User user = await _accountSvc.GetUserByEmailConfirmationCodeAsync(code);

            if (user == null || user.IsEmailConfirmed)
            {
                respDto.Success = false;
                respDto.Message = "Email confirmation failed. Possibly email is already confirmed.";
                return(Ok(respDto));
            }

            await _accountSvc.ConfirmEmailAsync(user);

            respDto.Success = true;
            return(Ok(respDto));
        }
Example #10
0
        public async Task <IActionResult> ResetPassword([FromBody] ResetPasswordDto dto)
        {
            SimpleResponseDto respDto = new SimpleResponseDto();

            User user = await _accountSvc.GetUserByResetPasswordTokenAsync(dto.Code);

            if (user == null || string.IsNullOrWhiteSpace(dto.Password) || dto.Password != dto.Password2)
            {
                respDto.Success = false;
                respDto.Message = "Reset password fail.";
                return(Ok(respDto));
            }

            user.Password = dto.Password;
            await _accountSvc.ResetPasswordAsync(user);

            respDto.Success = true;

            return(Ok(respDto));
        }
Example #11
0
 public Task <SimpleResponseDto <LoginResponseDto> > SignIn([FromBody] LoginRequestDto loginRequestDto)
 {
     return(Task.Run(() =>
     {
         SimpleResponseDto <LoginResponseDto> simpleResponseDto = null;
         UserDto user = loginService.SignIn(loginRequestDto.Username, loginRequestDto.Password);
         if (user != null)
         {
             string accessToken = Guid.NewGuid().ToString("N");
             //cache accessToken and user in 30 mins
             cacheProvider.Set(accessToken, user, DateTime.Now.AddMinutes(30));
             LoginResponseDto loginResponseDto = new LoginResponseDto();
             loginResponseDto.AccessToken = accessToken;
             loginResponseDto.UserInfo = user;
             simpleResponseDto = SimpleResponseDto <LoginResponseDto> .OK(loginResponseDto);
         }
         else
         {
             simpleResponseDto = SimpleResponseDto <LoginResponseDto> .Failed(Models.Enum.ResponseCodeEnum.ResponseCode_100);
         }
         return simpleResponseDto;
     }));
 }
Example #12
0
        public async Task <IActionResult> Register([FromBody] RegisterModelDto dto)
        {
            var user = await _accountSvc.FindUserAsync(dto.Email);

            SimpleResponseDto respDto = new SimpleResponseDto();

            if (user != null)
            {
                respDto.Success = false;
                respDto.Message = "This email is already taken.";
                return(Ok(respDto));
            }

            user = _mapper.Map <User>(dto);

            string code = await _accountSvc.RegisterEmailConfirmationCodeAsync(user);

            await _notificationService.SendConfirmEmailMailAsync(code, user);

            var newUser = _accountSvc.RegisterUserAsync(user);

            respDto.Success = true;
            return(Ok(respDto));
        }