예제 #1
0
 public IActionResult Get()
 {
     try
     {
         return(Ok(_service.GetAllMembers(this.GetUserNameWithImpersonation())));
     }
     catch (Exception e)
     {
         _logger.LogWarning($"Get method;\n {e}");
         var errors = ExceptionsChecker.CheckMembersException(e);
         return(BadRequest(errors));
     }
 }
예제 #2
0
 public ActionResult UpdateClaims()
 {
     try
     {
         _service.UpdateUsersClaims();
         return(Ok(true));
     }
     catch (Exception e)
     {
         _logger.LogWarning($"UpdateClaims method {e}");
         var errors = ExceptionsChecker.CheckMembersException(e);
         return(BadRequest(errors));
     }
 }
예제 #3
0
        public async Task <ActionResult> RefreshDataBase()
        {
            try
            {
                await _refreshDataBaseService.RefreshDataBase();

                return(Ok(true));
            }
            catch (Exception e)
            {
                _logger.LogWarning($"RefreshDataBase method {e}");
                var errors = ExceptionsChecker.CheckMembersException(e);
                return(BadRequest(errors));
            }
        }
예제 #4
0
        public async Task <IActionResult> ResetPasswordAsync(int memberId)
        {
            try
            {
                await _service.ResetPassword(memberId);

                return(Ok());
            }
            catch (Exception e)
            {
                _logger.LogWarning($"ResetPasswordAsync method with parameters ({memberId});\n {e}");
                var errors = ExceptionsChecker.CheckMembersException(e);
                return(BadRequest(errors));
            }
        }
예제 #5
0
        public IActionResult GetById(int id)
        {
            try
            {
                var value = _service.GetById(id);

                return(new ObjectResult(_mapper.Map <Member, MemberView>(value)));
            }
            catch (Exception e)
            {
                _logger.LogWarning($"GetById method with parameters ({id});\n {e}");
                var errors = ExceptionsChecker.CheckMembersException(e);
                return(BadRequest(errors));
            }
        }
예제 #6
0
        public async Task <IActionResult> ChangePasswordByTokenAsync([FromBody] MemberChangePasswordByTokenView model)
        {
            var serverUrl = GetBaseUrl();

            try
            {
                var result = await _service.ChangePasswordByTokenAsync(model);

                return(new JsonResult(result));
            }
            catch (Exception e)
            {
                _logger.LogWarning($"ChangePasswordByTokenAsync method with parameters ({JsonConvert.SerializeObject(model)});\n {e}");
                var errors = ExceptionsChecker.CheckMembersException(e);
                return(BadRequest(errors));
            }
        }
예제 #7
0
        public async Task <IActionResult> ResetPasswordAsync(string email)
        {
            var serverUrl = GetBaseUrl();

            try
            {
                var result = await _service.SentForgotEmailAsync(email, serverUrl);

                return(new JsonResult(result));
            }
            catch (Exception e)
            {
                _logger.LogWarning($"ResetPasswordAsync method with parameters ({email});\n {e}");
                var errors = ExceptionsChecker.CheckMembersException(e);
                return(BadRequest(errors));
            }
        }
예제 #8
0
        public async Task <IActionResult> ChangePasswordAsync(int memberId, [FromBody] MemberChangePasswordView member)
        {
            member.Id = memberId;

            try
            {
                await _service.ChangePassword(member);

                return(Ok());
            }
            catch (Exception e)
            {
                _logger.LogWarning($"ChangePasswordAsync method with parameters ({memberId}, {JsonConvert.SerializeObject(member)});\n {e}");
                var errors = ExceptionsChecker.CheckMembersException(e);
                return(BadRequest(errors));
            }
        }
예제 #9
0
        public async Task <IActionResult> CheckForgotPasswordToken(string token)
        {
            var serverUrl = GetBaseUrl();

            try
            {
                var result = await _service.CheckForgotPasswordTokenAsync(token);

                return(new JsonResult(result));
            }
            catch (Exception e)
            {
                _logger.LogWarning($"CheckForgotPasswordToken method with parameters ({token});\n {e}");
                var errors = ExceptionsChecker.CheckMembersException(e);
                return(BadRequest(errors));
            }
        }
예제 #10
0
        public async Task <IActionResult> Create([FromBody] MemberView memberData)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new List <ErrorView>
                {
                    new ErrorView
                    {
                        Source = "Other",
                        Title = "",
                        Details = "ModelState is invalid."
                    }
                }));
            }

            try
            {
                var createNewUserResult = await _service.CreateNewUser(memberData);

                if (memberData.SentInvitationEmail)
                {
                    var baseUrl = $"{Request.Scheme}://{Request.Host.Host}:{Request.Host.Port}";
                    await _service.SentInvitationEmailAsync(memberData, baseUrl);
                }

                var locationUri = $"{Request.Host}/api/v1/odata/Members/{createNewUserResult.Id}";

                return(Created(locationUri, _mapper.Map <Member, MemberView>(createNewUserResult)));
            }
            catch (Exception e)
            {
                _logger.LogWarning($"Create method with parameters ({JsonConvert.SerializeObject(memberData)});\n {e}");
                var errors = ExceptionsChecker.CheckMembersException(e);
                return(BadRequest(errors));
            }
        }
예제 #11
0
        public async Task <IActionResult> Update(int id, [FromBody] MemberView memberView)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(new List <ErrorView>
                {
                    new ErrorView
                    {
                        Source = "Other",
                        Title = "",
                        Details = "ModelState is invalid."
                    }
                }));
            }

            memberView.Id = id;

            try
            {
                var updatedMember = await _service.Update(this.GetUserName(), memberView);

                if (memberView.SentInvitationEmail)
                {
                    var baseUrl = $"{Request.Scheme}://{Request.Host.Host}:{Request.Host.Port}";
                    await _service.SentUpdateAccountEmailAsync(updatedMember, baseUrl);
                }

                return(Ok(updatedMember));
            }
            catch (Exception e)
            {
                _logger.LogWarning($"Update method with parameters ({id}, {memberView});\n {e}");
                var errors = ExceptionsChecker.CheckMembersException(e);
                return(BadRequest(errors));
            }
        }