Exemplo n.º 1
0
        public async Task <IActionResult> ChangeEmail(ChangeEmailRequest request)
        {
            var loginSession = HttpContext.GetLoginSession();

            if (request.NewEmail == null || !IsValidEmail(request.NewEmail))
            {
                return(BadRequest());
            }

            var existingUserOnNewEmail = await _accountLogic.GetUser(request.NewEmail);

            if (existingUserOnNewEmail != null)
            {
                return(BadRequest());
            }

            var result = await _accountLogic.ChangeEmail(loginSession.Email, request.NewEmail);

            if (result)
            {
                return(Ok());
            }

            return(BadRequest());
        }