Esempio n. 1
0
        private void Register(Messages.Authenticator.RegisterCommand cmd)
        {
            Console.WriteLine("Register command");

            if (String.IsNullOrEmpty(cmd.Username) || cmd.Username.Length < 6)
            {
                var invalidData = new Messages.Authenticator.FormInvalidData("username");
                Sender.Tell(invalidData);
                return;
            }

            if (String.IsNullOrEmpty(cmd.Name) || cmd.Name.Length < 6)
            {
                Sender.Tell(new Messages.Authenticator.FormInvalidData("name"));
                return;
            }

            if (String.IsNullOrEmpty(cmd.Password) || cmd.Password.Length < 6)
            {
                Sender.Tell(new Messages.Authenticator.FormInvalidData("password"));
                return;
            }

            if (String.IsNullOrEmpty(cmd.Password2) || cmd.Password2 != cmd.Password)
            {
                Sender.Tell(new Messages.Authenticator.FormInvalidData("password != password2"));
                return;
            }

            using (MyContext context = MyContext.Connect(GetPath()))
            {
                if (context.Users.Any(u => u.Username == cmd.Username))
                {
                    Sender.Tell(new Messages.Authenticator.RegisterUsernameExists());
                }



                context.Users.Add(new User
                {
                    Name     = cmd.Name,
                    Username = cmd.Username,
                    Password = cmd.Password,
                    //ApiKey = generateApiKey()
                });


                context.SaveChanges();


                Sender.Tell(new Messages.Authenticator.RegisterSuccess());
            }
        }
        public async Task <object> Register([FromBody] Messages.Authenticator.RegisterCommand cmd)
        {
            var result = await authenticator.Register(cmd.Name, cmd.Username, cmd.Password, cmd.Password2);

            if (result is Messages.Authenticator.RegisterSuccess)
            {
                Response.StatusCode = 200;
                return(result);
            }

            if (result is Messages.Authenticator.RegisterUsernameExists)
            {
                Response.StatusCode = 400;
                return(result);
            }
            if (result is Messages.Authenticator.FormInvalidData)
            {
                Response.StatusCode = 400;
                return(result);
            }

            Response.StatusCode = 500;
            return(new object());
        }