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")); } }
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; } }
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"); } } }
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); } }