예제 #1
0
        public async Task <RegistroResponse> Registro(RegistroRequest model)
        {
            // Criado para apenas commitar as mudanças caso todos os passos do login funcione
            using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                var user = new IdentityUser
                {
                    UserName = model.Nome,
                    Email    = model.Email
                };

                IdentityResult userResult = await this.userManager.CreateAsync(user, model.Senha);

                if (!userResult.Succeeded)
                {
                    throw new RegistroExcecao(userResult.Errors);
                }

                // Adiciona as funcoes do usuario
                await AdicionaFuncoes(model.Funcoes, user);

                await this.signInManager.SignInAsync(user, false);

                var token = await GeraTokenJwt(model.Email, user);

                scope.Complete();

                return(new RegistroResponse(token));
            }
        }
예제 #2
0
        public override async Task <RegistroResponse> RegistrarPerfil(RegistroRequest request, ServerCallContext context)
        {
            var response = new RegistroResponse();

            try
            {
                var usuarioId = Guid.Parse(request.UsuarioId);
                var empresaId = Guid.Parse(request.EmpresaId);

                var perfil = await oauthServico.ProcessarTokens(request.Token, request.Verifier, empresaId, request.ContaRedeSocial);

                perfil.UsuarioId = usuarioId;
                perfil.EmpresaId = empresaId;

                integracaoUsuario.Registrar(perfil);

                response.HttpStatusCode = (int)HttpStatusCode.Created;
            }
            catch (Exception ex)
            {
                response.HttpStatusCode = (int)HttpStatusCode.InternalServerError;
                response.Erro           = ex.Message;
            }

            return(response);
        }
예제 #3
0
        public HttpResponseMessage registro(RegistroRequest User)
        {
            var usuarioDA         = new UsuarioDataAccess();
            var usuarioRegistrado = usuarioDA.Registro(User);

            return(Request.CreateResponse(HttpStatusCode.OK, usuarioRegistrado));
        }
        //MÉTODO REGISTRO USUARIO
        public RegistroResponse Registro(RegistroRequest registro)
        {
            try
            {
                using (var context = new BDReservasEntities())
                {
                    //la imagen del usuario se añadirá desde su perfil, no al registrarse
                    byte[] imagen = (registro.Imagen != "") ? new ImageConverter().base64ToByte(registro.Imagen) : null;
                    //byte[] imagen = null;

                    ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int));
                    ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string));

                    context.PA_INSERT_USUARIO(
                        registro.Nombre,
                        registro.Apellido1,
                        registro.Apellido2,
                        registro.Dni,
                        registro.Email,
                        registro.Password,
                        registro.Id_perfil,
                        imagen,
                        RETCODE, MENSAJE);

                    if ((int)RETCODE.Value < 0)
                    {
                        throw new Exception("Error no controlado");
                    }

                    if ((int)RETCODE.Value > 0)
                    {
                        throw new Exception(MENSAJE.Value.ToString());
                    }

                    var consulta = context.usuarios.Where(dni => dni.dni == registro.Dni).FirstOrDefault();

                    return(new RegistroResponse()
                    {
                        Nombre = consulta.nombre.Trim(),
                        Apellido1 = consulta.apellido1.Trim(),
                        Email = consulta.email.Trim(),
                        Retcode = (int)RETCODE.Value,
                        Mensaje = MENSAJE.Value.ToString().Trim()
                    });
                }
            }
            catch (Exception ex)
            {
                return(new RegistroResponse()
                {
                    Mensaje = ex.Message.Trim(),
                    Retcode = -1
                });
            }
        }
예제 #5
0
        public IActionResult RegistrarCliente([FromBody] RegistroRequest registroRequest)
        {
            //***LOGIN***
            //Revisa si el usuario figura en los registros de la base de datos, devuelve error
            bool existe = _context.Usuarios.Any(u => u.NombreUsuario == registroRequest.Email);

            if (existe)
            {
                return(StatusCode(409, "Error el E-mail ya existe"));
            }

            Usuario usuarioNuevo = new();
            Cliente clienteNuevo = new();

            try
            {
                //***REGISTRER...***
                //Agregamos el usuario nuevo
                usuarioNuevo.NombreUsuario = registroRequest.Email;
                string hashCommonPassword = Encrypt.GetSHA256(registroRequest.Clave);
                usuarioNuevo.Clave = hashCommonPassword;
                usuarioNuevo.RolID = 1; //Corresponde al Cliente en la base de datos de Roles
                _context.Usuarios.Add(usuarioNuevo);
                _context.SaveChanges(); //Debería hacerse de forma asincrona, cambiar eso

                //Luego agregamos el cliente nuevo
                clienteNuevo.Nombre    = registroRequest.Nombre;
                clienteNuevo.Apellido  = registroRequest.Apellido;
                clienteNuevo.Telefono  = registroRequest.Telefono;
                clienteNuevo.UsuarioID = usuarioNuevo.Id;
                _context.Clientes.Add(clienteNuevo);
                _context.SaveChanges(); //Debería hacerse de forma asincrona, cambiar eso
            }
            catch
            {
                return(StatusCode(500, "Error al Registrarse"));
            }
            return(Ok(new { clienteNuevo, usuarioNuevo }));
        }
예제 #6
0
        DTO.Response.Response <DTO.Usuario> IAuthenticationService.register(RegistroRequest registroRequest)
        {
            if (registroRequest == null)
            {
                return(null);
            }


            DTO.Response.Response <DTO.Usuario> respuesta = new DTO.Response.Response <DTO.Usuario>();

            BI.UsersModule.Registro(registroRequest);

            respuesta.estado = BI.UsersModule.estado;


            if (!respuesta.estado.hayError)
            {
                Helper.enviarMailActivacionMail(registroRequest.mail);
            }


            return(respuesta);
        }
예제 #7
0
        public async Task <ActionResult <Prospecto> > ProspectoRegistro([FromBody] RegistroRequest registro)
        {
            Prospecto prospecto = modelo.RegistrarNuevoCliente(registro.nombre, registro.primerApellido, registro.segundoApellido, registro.telefono, registro.correoElectronico, registro.direccion);

            return(prospecto);
        }
예제 #8
0
 public async Task <RegistroResponse> Registro([FromBody] RegistroRequest model)
 => await this.negocioConta.Registro(model);