Beispiel #1
0
        public async Task <IActionResult> Login([FromBody] UserLoginDTO userLoginDTO)
        {
            var location = GetControllerActionNames();

            try
            {
                var username = userLoginDTO.Username;
                var password = userLoginDTO.Password;
                _logger.LogInfo(LogMessages.AttemptedToCreate(location));

                var result = await _signInManager.PasswordSignInAsync(username, password, false, false);

                if (result.Succeeded)
                {
                    _logger.LogInfo(LogMessages.Success(location));
                    var user = await _userManager.FindByNameAsync(username);

                    var tokenString = await GenerateJSONWebToken(user);

                    return(Ok(new { token = tokenString }));
                }
                _logger.LogWarn(LogMessages.Unathorized(location));
                return(Unauthorized(userLoginDTO));
            }
            catch (Exception e)
            {
                return(InternalError(LogMessages.InternalError(location, e.Message, e.InnerException)));
            }
        }
Beispiel #2
0
        public async Task <IActionResult> Create([FromBody] ArticleCreateDTO articleCreateDTO)
        {
            var location = GetControllerActionNames();

            try
            {
                _logger.LogInfo(LogMessages.AttemptedToCreate(location));
                if (articleCreateDTO == null)
                {
                    _logger.LogWarn(LogMessages.EmptyRequest(location));
                    return(BadRequest(ModelState));
                }
                if (!ModelState.IsValid)
                {
                    _logger.LogWarn(LogMessages.IncompleteData(location));
                    return(BadRequest(ModelState));
                }
                var article   = _mapper.Map <Article>(articleCreateDTO);
                var isSuccess = await _articleRepository.Create(article);

                if (!isSuccess)
                {
                    return(InternalError(LogMessages.CreateFailed(location)));
                }
                _logger.LogInfo(LogMessages.Success(location));
                _logger.LogInfo($"{article}");

                return(Created("Create", new { article }));
            }
            catch (Exception e)
            {
                return(InternalError(LogMessages.InternalError(location, e.Message, e.InnerException)));
            }
        }