public async Task <ActionResult> Index(int?idEstado) { var userWithClaims = (ClaimsPrincipal)User; var idEmpresa = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value; var empresaActual = new EmpresaActual(); if (idEstado == null) { empresaActual = new EmpresaActual { IdEmpresa = Convert.ToInt32(idEmpresa), IdEstado = EstadoCliente.Activo }; ViewBag.IdEstadoCliente = new SelectList(ListaClientesEstados.ListaEstados, "IdEstado", "Nombre", EstadoCliente.Activo); } else { empresaActual = new EmpresaActual { IdEmpresa = Convert.ToInt32(idEmpresa), IdEstado = Convert.ToInt32(idEstado) }; ViewBag.IdEstadoCliente = new SelectList(ListaClientesEstados.ListaEstados, "IdEstado", "Nombre", Convert.ToInt32(idEstado)); } var lista = await ApiServicio.Listar <ClienteRequest>(empresaActual, new Uri(WebApp.BaseAddress) , "api/Clientes/ListarClientes"); return(View(lista)); }
public async Task <JsonResult> ClienteVendor(string idVendedor) { var userWithClaims = (ClaimsPrincipal)User; var idEmpresa = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value; var empresaActual = new EmpresaActual { IdEmpresa = Convert.ToInt32(idEmpresa) }; var user = new SupervisorRequest { IdVendedor = Convert.ToUInt16(idVendedor), IdEmpresa = empresaActual.IdEmpresa }; try { var respusta = await ApiServicio.ObtenerElementoAsync1 <VendedorRequest>(user, new Uri(WebApp.BaseAddress) , "api/Vendedores/ListarClientesPorVendedor"); //var a = respusta.ListaClientes.ToString(); var listaSalida = JsonConvert.DeserializeObject <List <ClienteRequest> >(JsonConvert.SerializeObject(respusta.ListaClientes).ToString()); return(Json(listaSalida)); } catch (Exception ex) { return(Json(false)); } }
public async Task <ActionResult> Index(string mensaje) { InicializarMensaje(""); var userWithClaims = (ClaimsPrincipal)User; var idEmpresa = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value; var empresaActual = new EmpresaActual { IdEmpresa = Convert.ToInt32(idEmpresa) }; var lista = await ApiServicio.Listar <SupervisorRequest>(empresaActual, new Uri(WebApp.BaseAddress) , "api/Supervisor/ListarSupervisores"); return(View(lista)); }
public async Task <List <SupervisorRequest> > ListarSupervisores(EmpresaActual empresaActual) { var lista = await db.Supervisor.Where(x => x.AspNetUsers.IdEmpresa == empresaActual.IdEmpresa && x.AspNetUsers.Estado == 1).Select(x => new SupervisorRequest { IdSupervisor = x.IdSupervisor, Apellidos = x.AspNetUsers.Apellidos, Direccion = x.AspNetUsers.Direccion, Identificacion = x.AspNetUsers.Identificacion, IdGerente = x.IdGerente, IdUsuario = x.AspNetUsers.Id, Nombres = x.AspNetUsers.Nombres, Telefono = x.AspNetUsers.Telefono, }).ToListAsync(); return(lista); }
private async Task CargarCombos() { var userWithClaims = (ClaimsPrincipal)User; var idEmpresa = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value; var empresaActual = new EmpresaActual { IdEmpresa = Convert.ToInt32(idEmpresa) }; var listaTipoCliente = await ApiServicio.Listar <TipoClienteRequest>(empresaActual, new Uri(WebApp.BaseAddress) , "api/Clientes/ObtenerTipoClientePorEmpresa"); var listaVendedores = await ApiServicio.Listar <VendedorRequest>(empresaActual, new Uri(WebApp.BaseAddress) , "api/Vendedores/ListarVendedores"); ViewBag.IdTipoCliente = new SelectList(listaTipoCliente, "IdTipoCliente", "Tipo"); ViewBag.IdVendedor = new SelectList(listaVendedores, "IdVendedor", "Nombres"); }
public async Task <List <TipoClienteRequest> > ObtenerTipoClientePorEmpresa(EmpresaActual empresaActual) { try { var lista = await db.TipoCliente.Where(x => x.IdEmpresa == empresaActual.IdEmpresa).Select(x => new TipoClienteRequest { idTipoCliente = x.idTipoCliente, Tipo = x.Tipo, }).ToListAsync(); return(lista); } catch (Exception ex) { return(new List <TipoClienteRequest>()); } }
public async Task <ActionResult> Create(SupervisorRequest supervisorRequest) { //Seteando el id de la empresa var userWithClaims = (ClaimsPrincipal)User; var idEmpresa = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value; InicializarMensaje(null); if (!ModelState.IsValid) { InicializarMensaje(null); return(View(supervisorRequest)); } Response response = new Response(); try { ApplicationDbContext db = new ApplicationDbContext(); supervisorRequest.IdEmpresa = int.Parse(idEmpresa); //VALIDA SI EXITE EL CORREO AL CREAR var userManager2 = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); var InstanciaUsuario = await userManager2.FindByEmailAsync(supervisorRequest.Correo); if (InstanciaUsuario != null) { InicializarMensaje(Mensaje.ExisteCorreo); return(View(supervisorRequest)); } //VALIDA SI EXITE LA IDENTIFICACION AL CREAR var ExisteUsuario = await ApiServicio.ObtenerElementoAsync1 <SupervisorRequest>(supervisorRequest, new Uri(WebApp.BaseAddress), "api/Supervisor/BuscarSupervisorPorEmpresaEIdentificacion"); if (ExisteUsuario != null) { InicializarMensaje(Mensaje.ExisteIdentificacionUsuario); return(View(supervisorRequest)); } //Inserta el supervisor var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db)); var empresaActual = new EmpresaActual { IdEmpresa = Convert.ToInt32(idEmpresa) }; var user = new ApplicationUser { UserName = supervisorRequest.Correo, Email = supervisorRequest.Correo, Identificacion = supervisorRequest.Identificacion, Apellidos = supervisorRequest.Apellidos, Nombres = supervisorRequest.Nombres, Estado = 1, Direccion = supervisorRequest.Direccion, Telefono = supervisorRequest.Telefono, IdEmpresa = empresaActual.IdEmpresa }; var result = await userManager.CreateAsync(user, "A12345.1a"); db.SaveChanges(); var enviarContrasenaRequest = new RecuperarContrasenaRequest(); enviarContrasenaRequest.Email = user.Email; enviarContrasenaRequest.Codigo = "A12345.1a"; var response2 = await ApiServicio.ObtenerElementoAsync1 <Response>(enviarContrasenaRequest, new Uri(WebApp.BaseAddress) , "api/Usuarios/EnviarContrasena"); //varifica el rol userManager.AddToRoles(user.Id, "Supervisor"); if (result != null) { supervisorRequest.IdEmpresa = Convert.ToInt32(idEmpresa); supervisorRequest.IdUsuario = user.Id; response = await ApiServicio.InsertarAsync(supervisorRequest, new Uri(WebApp.BaseAddress), "api/Supervisor/InsertarSupervisor"); if (response.IsSuccess) { var idsuper = JsonConvert.DeserializeObject <SupervisorRequest>(response.Resultado.ToString()); return(RedirectToAction("Edit", new { id = idsuper.IdSupervisor })); } } } catch (Exception ex) { ex.ToString(); } ViewData["Error"] = response.Message; return(View(supervisorRequest)); }
public async Task <List <ClienteRequest> > ListarClientes(EmpresaActual empresaActual) { try { if (empresaActual.IdEstado == EstadoCliente.Todos) { var listaTotalClientes = await db.Cliente.Where(x => x.TipoCliente.Empresa.IdEmpresa == empresaActual.IdEmpresa).Select(x => new ClienteRequest { Apellido = x.Apellido, ApellidosVendedor = x.Vendedor.AspNetUsers.Apellidos, Email = x.Email, Firma = x.Firma, Foto = x.Foto, IdCliente = x.idCliente, IdTipoCliente = x.idTipoCliente, IdVendedor = x.IdVendedor, Latitud = x.Latitud, Longitud = x.Longitud, Nombre = x.Nombre, NombresVendedor = x.Vendedor.AspNetUsers.Nombres, Telefono = x.Telefono, TipoCliente = x.TipoCliente.Tipo, Identificacion = x.Identificacion, Direccion = x.Direccion, IdEmpresa = x.TipoCliente.IdEmpresa, TelefonoMovil = x.TelefonoMovil, RazonSocial = x.RazonSocial, Estado = x.Estado, }).ToListAsync(); return(listaTotalClientes); } var lista = await db.Cliente.Where(x => x.TipoCliente.Empresa.IdEmpresa == empresaActual.IdEmpresa && x.Estado == empresaActual.IdEstado).Select(x => new ClienteRequest { Apellido = x.Apellido, ApellidosVendedor = x.Vendedor.AspNetUsers.Apellidos, Email = x.Email, Firma = x.Firma, Foto = x.Foto, IdCliente = x.idCliente, IdTipoCliente = x.idTipoCliente, IdVendedor = x.IdVendedor, Latitud = x.Latitud, Longitud = x.Longitud, Nombre = x.Nombre, NombresVendedor = x.Vendedor.AspNetUsers.Nombres, Telefono = x.Telefono, TipoCliente = x.TipoCliente.Tipo, Identificacion = x.Identificacion, Direccion = x.Direccion, IdEmpresa = x.TipoCliente.IdEmpresa, TelefonoMovil = x.TelefonoMovil, RazonSocial = x.RazonSocial, Estado = x.Estado, }).ToListAsync(); return(lista); } catch (Exception ex) { return(new List <ClienteRequest>()); } }
public async Task <Response> VendedoresPorEmpresa(EmpresaActual empresaActual) { var listaVendedores = new List <VendedorRequest>(); try { listaVendedores = await db.Vendedor.Select(x => new VendedorRequest { IdVendedor = x.IdVendedor, TiempoSeguimiento = x.TiempoSeguimiento, IdSupervisor = x.IdSupervisor, IdUsuario = x.AspNetUsers.Id, NombreApellido = x.AspNetUsers.Nombres + " " + x.AspNetUsers.Apellidos, TokenContrasena = x.AspNetUsers.TokenContrasena, Foto = x.AspNetUsers.Foto, Estado = x.AspNetUsers.Estado, Correo = x.AspNetUsers.Email, Direccion = x.AspNetUsers.Direccion, Identificacion = x.AspNetUsers.Identificacion, Nombres = x.AspNetUsers.Nombres, Apellidos = x.AspNetUsers.Apellidos, Telefono = x.AspNetUsers.Telefono, idEmpresa = x.AspNetUsers.IdEmpresa } ).Where(x => x.idEmpresa == empresaActual.IdEmpresa && x.Estado == 1 ).ToListAsync(); List <VendedorPositionRequest> listPositionRequests = new List <VendedorPositionRequest>(); foreach (var Vendedor in listaVendedores) { var ultimaposicionVendedor = await db.LogRutaVendedor .Where(x => x.IdVendedor == Vendedor.IdVendedor) .OrderByDescending(x => x.Fecha) .Select( x => new VendedorPositionRequest { VendedorId = x.IdVendedor, Nombre = x.Vendedor.AspNetUsers.Nombres, Lat = (float)x.Latitud, Lon = (float)x.Longitud, Fecha = (DateTime)x.Fecha, EmpresaId = x.Vendedor.AspNetUsers.IdEmpresa, urlFoto = x.Vendedor.AspNetUsers.Foto, }) .FirstOrDefaultAsync(); if (ultimaposicionVendedor != null) { listPositionRequests.Add(ultimaposicionVendedor); } } return(new Response { IsSuccess = true, Resultado = listPositionRequests, }); } catch (Exception ex) { return(null); } }