Пример #1
0
        //Usuario
        public async Task <RegistroUsuarioViewModels> CrearUsuario(RegistroUsuarioViewModels rvm)
        {
            if (rvm.Balance == null)
            {
                rvm.Balance = 0;
            }

            var user = new IdentityUser {
                UserName = rvm.Usuario1
            };
            var result = await _userManager.CreateAsync(user, rvm.Clave);



            if (result.Succeeded)
            {
                var newUsuario = _mapper.Map <Usuario>(rvm);
                await _usuarioRepository.AddAsync(newUsuario);

                if (rvm.TipoUsuario == "Cliente")
                {
                    await _userManager.AddToRoleAsync(user, "Cliente");

A:
                    Random r = new Random();
                    int codigo = r.Next(100000000, 999999999);

                    if (!ValidarCodigo(codigo))
                    {
                        goto A;
                    }
                    rvm.NumeroCuenta = codigo;

                    rvm.Categoria = 1;
                    rvm.IdUsuario = newUsuario.IdUsuario;

                    var newCuenta = _mapper.Map <Cuenta>(rvm);
                    await _cuentaRepository.AddAsync(newCuenta);

                    return(null);
                }
                else
                {
                    await _userManager.AddToRoleAsync(user, "Administrador");

                    return(null);
                }
            }
            AddErrors(result);

            return(rvm);
        }