コード例 #1
0
        public async Task <Microsoft.AspNet.Identity.Owin.SignInStatus> SignupUser(SignUpVM vm, params RoleName[] roles)
        {
            var id   = GenerateId();
            var user = Builder.BuildUser(vm, id, GenerateUsername());

            await AddAsync(user);

            var link = Links.Get(vm.ReferralCode);

            if (link.IsLeftLink)
            {
                await AssignToLeft(link.CreatorId, user.Id);
            }
            else
            {
                await AssignToRight(link.CreatorId, user.Id);
            }

            await Auth.AddToRoleAsync(id, roles);

            await _notify.AddAsync(id, Message.Welcome);

            return(await Auth.Login(user.UserName, vm.Password));
        }