Exemple #1
0
        public async Task <ActionResult <UserClienteInfo> > LoginECommerce([FromBody] UserInfo userInfo)
        {
            UserClienteInfo userClienteInfo = new UserClienteInfo();
            var             result          = await _signInManager.PasswordSignInAsync(userInfo.username, userInfo.Password, isPersistent : false, lockoutOnFailure : false);

            if (result.Succeeded)
            {
                var IdentityUser = _context.Users.FirstOrDefault(x => x.UserName == userInfo.username);
                if (IdentityUser.ClienteId != null && IdentityUser.ClienteId != 0)
                {
                    userClienteInfo.ClienteId = (int)IdentityUser.ClienteId;
                    userClienteInfo.userToken = await BuildToken(userInfo, userClienteInfo.ClienteId);

                    return(userClienteInfo);
                }
                else
                {
                    return(BadRequest("Este usuario no es un cliente"));
                }
            }
            else
            {
                ModelState.AddModelError(string.Empty, "Invalid login attempt.");
                return(BadRequest("Username or password invalid"));
            }
        }
Exemple #2
0
        public async Task <ActionResult <UserClienteInfo> > CrearUserCliente(UserClienteInfo model)
        {
            var user = new ApplicationUser {
                UserName = model.Cliente.email, Cliente = model.Cliente
            };

            if (await _userManager.FindByNameAsync(model.Cliente.email) != null)
            {
                return(BadRequest("El email está en uso"));
            }
            try
            {
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    await _userManager.AddToRoleAsync(user, "Cliente");


                    _context.SaveChanges();

                    return(model);
                }
                else
                {
                    return(BadRequest("Email o contraseña invalidos."));
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Exemple #3
0
        public async Task Crear()
        {
            this.userClienteInfo.Cliente.Domicilio.Provincia    = null;
            this.userClienteInfo.Cliente.Domicilio.Departamento = null;
            if (userClienteInfo.Cliente.Id == 0)
            {
                var enviarJSON    = JsonSerializer.Serialize(userClienteInfo);
                var enviarContent = new StringContent(enviarJSON, Encoding.UTF8, "application/json");
                var result        = await http.PostAsync("api/Account/CrearUserCliente", enviarContent);

                if (!result.IsSuccessStatusCode)
                {
                    cargando     = false;
                    error        = true;
                    errorMessage = await result.Content.ReadAsStringAsync();

                    errorMessage = errorMessage.Count() > 50 ? "Ocurrió un error" : errorMessage;
                }
                else
                {
                    userInfo.username = userClienteInfo.Cliente.email;
                    userInfo.Password = userClienteInfo.Password;
                    await LoginUsuario();

                    userClienteInfo = new UserClienteInfo();
                    cargando        = false;
                }
            }
            else
            {
                var enviarJSON    = JsonSerializer.Serialize(userClienteInfo);
                var enviarContent = new StringContent(enviarJSON, Encoding.UTF8, "application/json");
                var result        = await repositorio.Put($"api/Cliente/{userClienteInfo.Cliente.Id}", userClienteInfo.Cliente);

                if (result.Error)
                {
                    cargando = false;

                    toastService.ShowError("Ocurrió un error");
                }
                else
                {
                    cargando = false;
                    toastService.ShowSuccess("Se editó correctamente");
                }
            }
        }
Exemple #4
0
        public async Task <bool> CrearUsuario()
        {
            UserClienteInfo user = new UserClienteInfo
            {
                Cliente = new Cliente
                {
                    apellido  = pedido.apellidoCliente,
                    nombre    = pedido.nombreCliente,
                    email     = pedido.emailCliente,
                    celular   = pedido.celularCliente,
                    Domicilio = new Domicilio
                    {
                        ProvinciaId    = pedido.Domicilio.ProvinciaId,
                        DepartamentoId = pedido.Domicilio.DepartamentoId,
                        calle          = pedido.Domicilio.calle,
                        numero         = pedido.Domicilio.numero,
                        piso           = pedido.Domicilio.piso,
                        manzana        = pedido.Domicilio.manzana,
                        longitud       = pedido.Domicilio.longitud,
                        latitud        = pedido.Domicilio.latitud,
                    }
                },
                Password = contraseña
            };

            var enviarJSON    = JsonSerializer.Serialize(user);
            var enviarContent = new StringContent(enviarJSON, Encoding.UTF8, "application/json");
            var result        = await http.PostAsync("api/Account/CrearUserCliente", enviarContent);

            if (!result.IsSuccessStatusCode)
            {
                string errorMessage = await result.Content.ReadAsStringAsync();

                errorMessage = errorMessage.Count() > 50 ? "Ocurrió un error" : errorMessage;
                cargando     = false;

                await Alerta("center", "error", $"{errorMessage}");

                return(false);
            }
            else
            {
                pedido.ClienteId = (await http.GetJsonAsync <Cliente>($"api/Cliente/porEmail?email={user.Cliente.email}")).Id;
                return(true);
            }
        }