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));
        }
Beispiel #2
0
        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));
            }
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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");
        }
Beispiel #6
0
        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>());
            }
        }
Beispiel #7
0
        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));
        }
Beispiel #8
0
        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);
            }
        }