Пример #1
0
        public async Task <IActionResult> Bootstrap()
        {
            try
            {
                RavenDatabaseProvider.EnsureDatabaseExists("smartbudget", true);

                InputUserRegistrationDto dto = new InputUserRegistrationDto
                {
                    FirstName       = "Admin",
                    LastName        = "Developer",
                    Email           = "*****@*****.**",
                    Password        = "******",
                    ConfirmPassword = "******"
                };

                var userLoginId = LoginProvider.GenerateId(dto.Email);

                var user = new User
                {
                    FirstName   = dto.FirstName,
                    LastName    = dto.LastName,
                    Email       = dto.Email,
                    CreatedBy   = "System",
                    DateCreated = DateTime.UtcNow,
                    Type        = UserType.Admin
                };
                await RavenDatabaseProvider.CreateEntity(user);

                var loginDetails = new LoginDetails
                {
                    Id          = userLoginId,
                    UniqueId    = dto.Email,
                    UserId      = user.Id,
                    CreatedBy   = "System",
                    DateCreated = DateTime.UtcNow
                };
                LoginProvider.SetPassword(loginDetails, dto.Password);
                await RavenDatabaseProvider.CreateEntity(loginDetails);

                return(Ok("Setup configurado com sucesso!"));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Пример #2
0
        public async Task <IActionResult> Register([FromBody] InputUserRegistrationDto dto)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }
                var userLoginId = LoginProvider.GenerateId(dto.Email);
                if (await RavenDatabaseProvider.IsEntityExists(userLoginId))
                {
                    return(BadRequest($"{nameof(dto.Email)} already exists."));
                }

                var user = new User
                {
                    FirstName   = dto.FirstName,
                    LastName    = dto.LastName,
                    Email       = dto.Email,
                    CreatedBy   = "System",
                    DateCreated = DateTime.UtcNow
                };
                await RavenDatabaseProvider.CreateEntity(user);

                var loginDetails = new LoginDetails
                {
                    Id          = userLoginId,
                    UniqueId    = dto.Email,
                    UserId      = user.Id,
                    CreatedBy   = "System",
                    DateCreated = DateTime.UtcNow
                };
                LoginProvider.SetPassword(loginDetails, dto.Password);
                await RavenDatabaseProvider.CreateEntity(loginDetails);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }