コード例 #1
0
 private void UnityInitialization(IModuleRegistrar registrar)
 {
     registrar.RegisterInstance(this, new PerThreadLifetimeManager());
     var token = new RegisterToken(registrar);
     this.RegisterCommands(token);
     _commands = token.GetCurrentCommands().ToList();
 }
コード例 #2
0
 public IActionResult Register([FromBody] RegisterToken user)
 {
     try {
         return(Ok(Database.Register(user)));
     } catch (Exception e) {
         return(BadRequest(e.Message));
     }
 }
コード例 #3
0
        private void UnityInitialization(IModuleRegistrar registrar)
        {
            registrar.RegisterInstance(this, new PerThreadLifetimeManager());
            var token = new RegisterToken(registrar);

            this.RegisterCommands(token);
            _commands = token.GetCurrentCommands().ToList();
        }
コード例 #4
0
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl ??= Url.Content("~/");
            RegisterToken registerToken = await _context.RegisterTokens.FindAsync(Input.RegisterToken);

            bool tokenValid = registerToken != null && DateTime.Now < registerToken.Expire;

            if (!ModelState.IsValid ||
                _userManager.Users.ToList().Count >= 1 && !User.Identity.IsAuthenticated && !tokenValid)
            {
                return(Page());
            }
            ApplicationUser user = new ApplicationUser {
                UserName = Input.Username
            };
            IdentityResult result = await _userManager.CreateAsync(user, Input.Password);

            if (result.Succeeded)
            {
                // ReSharper disable once AssignNullToNotNullAttribute
                // It can't be null if we've gotten this far
                if (tokenValid)
                {
                    _context.Entry(registerToken).State = EntityState.Deleted;
                    await _context.SaveChangesAsync();
                }
                await _signInManager.SignInAsync(user, false);

                return(LocalRedirect(returnUrl));
            }

            foreach (IdentityError error in result.Errors)
            {
                ModelState.AddModelError(string.Empty, error.Description);
            }

            // If we got this far, something failed, redisplay form
            return(Page());
        }
コード例 #5
0
        public User Register(RegisterToken user)
        {
            if (user.Email == null || user.Password == null)
            {
                throw new Exception("Email and password are required.");
            }
            if (Users.Any(u => u.Email == user.Email.ToLowerInvariant()))
            {
                throw new Exception("User with this email already exists.");
            }

            var output = User.Create(user);

            output.ID       = Guid.NewGuid();
            output.Password = Crypto.HashPassword(output.Password);
            System.Diagnostics.Debug.WriteLine(output.Email);

            Users.Add(output);
            SaveChanges();

            return(output);
        }
コード例 #6
0
        public bool ExpectRegister(out Registers register)
        {
            register = Registers.RegA;
            if (this.IsAtEnd())
            {
                return(false);
            }
            else if (!this.ExpectLetter())
            {
                return(false);
            }

            string word = this.ScanWord();

            if (!RegisterToken.IsKeywordValid(word))
            {
                return(false);
            }

            register = RegisterToken.GetTypeFromKeyword(word);
            return(true);
        }
コード例 #7
0
 public virtual void RegisterCommands(RegisterToken uc)
 {
 }
コード例 #8
0
        private void Tokenize()
        {
            this.tokenStartLine = this.line;
            this.tokenStartCol  = this.col - 1;

            while (!this.IsAtEnd())
            {
                char c = this.ReadNext();

                tokenStartLine = this.line;
                tokenStartCol  = this.col - 1; // because `current` points to the next char

                if (this.IsLetter(c))
                {
                    Token tok;

                    string word = this.ScanWord(c);

                    if (InstructionToken.IsKeywordValid(word))
                    {
                        Instructions instr = InstructionToken.GetTypeFromKeyword(word);
                        tok = new InstructionToken(this.tokenStartLine, this.tokenStartCol, instr);
                    }
                    else if (RegisterToken.IsKeywordValid(word))
                    {
                        Registers reg = RegisterToken.GetTypeFromKeyword(word);
                        tok = new RegisterToken(this.tokenStartLine, this.tokenStartCol, reg);
                    }
                    else
                    {
                        this.LogUnknownKeywordError(word);
                        continue;
                    }

                    this.tokens.Add(tok);
                }
                else if (c == '#')
                {
                    byte nb;
                    if (this.ExpectNumber(out nb))
                    {
                        var tok = new NumericalValueToken(this.tokenStartLine, this.tokenStartCol, nb);
                        this.tokens.Add(tok);
                    }
                    else
                    {
                        this.LogExpectedNumberError();
                    }
                }
                else if (c == '&')
                {
                    Registers reg;
                    byte      nb;
                    if (this.ExpectRegister(out reg))
                    {
                        var tok = new AddressRegisterToken(this.tokenStartLine, this.tokenStartCol, reg);
                        this.tokens.Add(tok);
                    }
                    else if (this.ExpectNumber(out nb))
                    {
                        var tok = new AddressValueToken(this.tokenStartLine, this.tokenStartCol, nb);
                        this.tokens.Add(tok);
                    }
                    else
                    {
                        this.LogUnexpectedTokenForAddressError();
                    }
                }
                else if (c != '\0')
                {
                    this.LogUnexpectedCharError(c);
                    //continue;
                }
            }

            if (this.errorsCount != 0)
            {
                Console.WriteLine(this.errorsCount + " errors found.");
                Console.WriteLine("---");

                throw new SyntaxErrorsException();
            }
        }
コード例 #9
0
ファイル: SyntaxAnalyzer.cs プロジェクト: eyesolaris/Pulsar
 public RegisterOperand(RegisterToken register)
     : base(OperandType.Register, register)
 {
 }
コード例 #10
0
 public virtual void RegisterCommands(RegisterToken uc)
 {
 }