コード例 #1
0
        public async Task <ActionResult <RegisterationUser> > Register([FromBody] RegisterationUser registerationUser)
        {
            if (String.IsNullOrWhiteSpace(registerationUser.Name))
            {
                return(BadRequest("Name Is Required"));
            }

            if (String.IsNullOrWhiteSpace(registerationUser.Password))
            {
                return(BadRequest("Password Is Required"));
            }

            if (String.IsNullOrWhiteSpace(registerationUser.MobileNumber))
            {
                return(BadRequest("Mobile Number Is Required"));
            }

            if (_userRepository.IsTheMobileNumberExisted(registerationUser.MobileNumber).Result)
            {
                return(BadRequest("Mobile Number Is Already Used With An Existed Account"));
            }

            if (!Regex.Match(registerationUser.MobileNumber, @"(01)[0-9]{9}").Success)
            {
                return(BadRequest("Mobile Number Is Not In The Correct Format"));
            }

            var user = new UserView()
            {
                Name        = registerationUser.Name,
                Password    = registerationUser.Password,
                MobilePhone = registerationUser.MobileNumber,
                RoleId      = (int)UserRoles.Normal,
                DeviceToken = registerationUser.DeviceToken
            };

            var registerationResult = await _identityService.Register(user);

            Log.Information("Registeration result is " + registerationResult.IsTrue);

            if (registerationResult.IsFalse)
            {
                Log.Error(registerationResult.Message);
                return(BadRequest(registerationResult.Message));
            }

            var reply = new UserLoginModel.Reply(user);

            reply.SessionId = registerationResult.Value.Id.ToString().Replace("-", "_");

            return(Ok(reply));
        }
コード例 #2
0
        public async Task <ActionResult <UserLoginModel.Reply> > Login([FromBody] UserLoginModel user)
        {
            var loginResult = await _identityService.Login(user.MobileNumber, user.Password, user.DeviceToken);

            Log.Information("login result is " + loginResult.IsTrue);

            if (loginResult.IsFalse)
            {
                Log.Error(loginResult.Message);
                return(BadRequest(loginResult.Message));
            }

            var reply = new UserLoginModel.Reply(loginResult.Value.User);

            reply.SessionId = loginResult.Value.Id.ToString().Replace("-", "_");

            return(Ok(reply));
        }