コード例 #1
0
        protected override void ExecuteRequest(HttpContext context)
        {
            if (Request == null || string.IsNullOrWhiteSpace(Request.Login) ||
                string.IsNullOrWhiteSpace(Request.Firstname) ||
                string.IsNullOrWhiteSpace(Request.Lastname) ||
                string.IsNullOrWhiteSpace(Request.EmailAddress) ||
                string.IsNullOrWhiteSpace(Request.PasswordHash))
            {
                context.Response.StatusCode = StatusCodes.Status400BadRequest;
                return;
            }

            if (!_userRepository.CanSignUp(Request).GetAwaiter().GetResult())
            {
                context.Response.StatusCode = StatusCodes.Status409Conflict;
                return;
            }
            else
            {
                Skin   skin   = _skinRepository.GetEquipable(1).GetAwaiter().GetResult().FirstOrDefault(skin => skin.Name.Contains("default"));
                Avatar avatar = _avatarRepository.Create(skin.Id).GetAwaiter().GetResult();
                User   user   = _userRepository.SignUp(Request, avatar.Id).GetAwaiter().GetResult();
                if (user != null)
                {
                    context.Response.StatusCode = StatusCodes.Status200OK;
                }
                return;
            }
        }