コード例 #1
0
        public async Task <JsonResult> ListaRutas(int IdVendedor, DateTime fecha)
        {
            var lista = new RutasVisitasRequest();

            VendedorRequest vendedorRequest = new VendedorRequest();

            vendedorRequest.FechaRuta = fecha;
            int idEmpresaInt = 0;

            try
            {
                ApplicationDbContext db = new ApplicationDbContext();
                var userManager         = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
                // obtener el idEmpresa
                var userWithClaims = (ClaimsPrincipal)User;
                var idEmpresa      = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value;
                // convertir el idEmpresa a int
                idEmpresaInt = Convert.ToInt32(idEmpresa);
                //** agregar el idEmpresa al vendedorRequest **
                vendedorRequest.idEmpresa = idEmpresaInt;
                //** agregar el idVendedor al vendedorRequest **
                vendedorRequest.IdVendedor = IdVendedor;
                lista = await ApiServicio.ObtenerElementoAsync1 <RutasVisitasRequest>(vendedorRequest,
                                                                                      new Uri(WebApp.BaseAddress),
                                                                                      "api/Vendedores/ListarRutaVendedores");

                return(Json(lista));
            }
            catch (Exception ex)
            {
                return(Json(false));
            }
        }
コード例 #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));
            }
        }
コード例 #3
0
        public async Task <ActionResult> MapaCalor()
        {
            //bUSCA LA EMPRESA
            var idEmpresaInt = 0;

            try
            {
                var userWithClaims = (ClaimsPrincipal)User;
                var idEmpresa      = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value;

                idEmpresaInt = Convert.ToInt32(idEmpresa);
            }
            catch (Exception ex)
            {
                InicializarMensaje(Mensaje.ErrorIdEmpresa);

                return(View());
            }
            //FIN
            MapaCalorRequest mapacalor = new MapaCalorRequest();

            mapacalor.IdEmpresa = idEmpresaInt;

            var lista = await ApiServicio.ObtenerElementoAsync1 <MapaCalorRequest>(mapacalor, new Uri(WebApp.BaseAddress)
                                                                                   , "api/MapaCalor/ObtenerTipoClienteTipoCompromisoPorEmpresa");

            ViewBag.idTipoCliente    = new SelectList(lista.ListaTipoCliente, "idTipoCliente", "Tipo");
            ViewBag.IdTipoCompromiso = new SelectList(lista.ListaTipoCompromiso, "IdTipoCompromiso", "Descripcion");
            return(View());
        }
コード例 #4
0
        public async Task <ActionResult> VerVendedoresTiempoReal(int?id, string mensaje)
        {
            InicializarMensaje(mensaje);
            if (id != null)
            {
                var vendedor = new VendedorRequest {
                    IdVendedor = Convert.ToInt32(id)
                };

                var vendedorRequest = await ApiServicio.ObtenerElementoAsync1 <Response>(vendedor, new Uri(WebApp.BaseAddress)
                                                                                         , "api/Vendedores/ObtenerVendedor");

                if (vendedorRequest.IsSuccess)
                {
                    var vistaVendedor = JsonConvert.DeserializeObject <VendedorRequest>(vendedorRequest.Resultado.ToString());
                    var foto          = string.IsNullOrEmpty(vistaVendedor.Foto) != true?vistaVendedor.Foto.Replace("~", WebApp.BaseAddress) : "";

                    vistaVendedor.Foto = foto;
                    return(View(vistaVendedor));
                }

                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
        }
コード例 #5
0
        public async Task <ActionResult> Edit(int id)
        {
            if (id <= 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var agente = new Agente {
                AgenteId = id
            };

            var agenteRequest = await ApiServicio.ObtenerElementoAsync1 <Response>(agente,
                                                                                   new Uri(WebApp.BaseAddress),
                                                                                   "api/Agentes/GetAgente");

            if (!agenteRequest.IsSuccess)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var result = JsonConvert.DeserializeObject <Agente>(agenteRequest.Result.ToString());

            ViewBag.SectorId = new SelectList(await obtenerSectoresPorEmpresa(), "SectorId", "NombreSector", result.SectorId);

            return(View(result));
        }
コード例 #6
0
        public async Task <ActionResult> PerfilCliente(int?id)
        {
            if (id == null)
            {
                RedirectToAction("Index");
            }
            ;
            var cliente = new ClienteRequest
            {
                IdCliente = Convert.ToInt32(id),
            };
            var respuesta = await ApiServicio.ObtenerElementoAsync1 <Response>(cliente, new Uri(WebApp.BaseAddress)
                                                                               , "api/Clientes/ObtenerCliente");

            var clienteRequest = JsonConvert.DeserializeObject <ClienteRequest>(respuesta.Resultado.ToString());

            var foto = string.IsNullOrEmpty(clienteRequest.Foto) != true?clienteRequest.Foto.Replace("~", WebApp.BaseAddress) : "";

            clienteRequest.Foto = foto;
            var firma = string.IsNullOrEmpty(clienteRequest.Firma) != true?clienteRequest.Firma.Replace("~", WebApp.BaseAddress) : "";;

            clienteRequest.Firma = firma;

            var estadisticoVendedorRequest = await ApiServicio.ObtenerElementoAsync1 <EstadisticosClienteRequest>(clienteRequest,
                                                                                                                  new Uri(WebApp.BaseAddress),
                                                                                                                  "api/Clientes/VerEstadisticosCliente");


            clienteRequest.EstadisticosClienteRequest = estadisticoVendedorRequest;

            return(View(clienteRequest));
        }
コード例 #7
0
        public async Task <JsonResult> ListaClientes()
        {
            var lista = new List <ClienteRequest>();

            SupervisorRequest supervisorRequest = new SupervisorRequest();
            VendedorRequest   vendedorRequest   = new VendedorRequest();

            int idEmpresaInt = 0;;

            try
            {
                ApplicationDbContext db = new ApplicationDbContext();
                var userManager         = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));

                // obtener el idEmpresa
                var userWithClaims = (ClaimsPrincipal)User;
                var idEmpresa      = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value;

                // convertir el idEmpresa a int
                idEmpresaInt = Convert.ToInt32(idEmpresa);


                //** agregar el idEmpresa al vendedorRequest **
                vendedorRequest.idEmpresa = idEmpresaInt;


                var idUsuarioActual = User.Identity.GetUserId();

                supervisorRequest.IdUsuario = idUsuarioActual;
                supervisorRequest.IdEmpresa = idEmpresaInt;


                if (userManager.IsInRole(idUsuarioActual, "Supervisor"))
                {
                    // obtener el Id del supervisor
                    Response response = await ApiServicio.InsertarAsync(supervisorRequest,
                                                                        new Uri(WebApp.BaseAddress),
                                                                        "api/Vendedores/obtenerSupervisorPorIdUsuario");

                    supervisorRequest = JsonConvert.DeserializeObject <SupervisorRequest>(response.Resultado.ToString());


                    //** agregar el id del supervisor al vendedorRequest **
                    vendedorRequest.IdSupervisor = supervisorRequest.IdSupervisor;
                }


                lista = await ApiServicio.ObtenerElementoAsync1 <List <ClienteRequest> >(vendedorRequest,
                                                                                         new Uri(WebApp.BaseAddress),
                                                                                         "api/Vendedores/ListarClientesPorSupervisor");


                return(Json(lista));
            }
            catch (Exception ex)
            {
                return(Json(false));
            }
        }
コード例 #8
0
        public async Task <ActionResult> PerfilVendedor(string mensaje, int idVendedor)
        {
            SupervisorRequest supervisorRequest = new SupervisorRequest();
            VendedorRequest   vendedor          = new VendedorRequest();

            vendedor.IdVendedor = idVendedor;

            int idEmpresaInt = 0;

            try
            {
                var userWithClaims = (ClaimsPrincipal)User;
                var idEmpresa      = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value;

                idEmpresaInt = Convert.ToInt32(idEmpresa);

                vendedor.idEmpresa = idEmpresaInt;
            }
            catch (Exception ex)
            {
                InicializarMensaje(Mensaje.ErrorIdEmpresa);
            }



            InicializarMensaje("PerfilVendedor");

            try
            {
                vendedor = await ApiServicio.ObtenerElementoAsync1 <VendedorRequest>(vendedor,
                                                                                     new Uri(WebApp.BaseAddress),
                                                                                     "api/Vendedores/ListarClientesPorVendedor");

                var estadisticoVendedorRequest = await ApiServicio.ObtenerElementoAsync1 <EstadisticoVendedorRequest>(vendedor,
                                                                                                                      new Uri(WebApp.BaseAddress),
                                                                                                                      "api/Agendas/VerEstadisticosVendedor");

                vendedor.estadisticoVendedorRequest = estadisticoVendedorRequest;


                var foto = string.IsNullOrEmpty(vendedor.Foto) != true?vendedor.Foto.Replace("~", WebApp.BaseAddress) : "";

                vendedor.Foto = foto;


                InicializarMensaje("");
                return(View(vendedor));
            }
            catch
            {
                InicializarMensaje(Mensaje.Excepcion);
                return(View(vendedor));
            }
        }
コード例 #9
0
        public async Task <ActionResult> IntroducirCodigo(RecuperarContrasenaRequest recuperarContrasenaRequest)
        {
            var response = await ApiServicio.ObtenerElementoAsync1 <Response>(recuperarContrasenaRequest, new Uri(WebApp.BaseAddress)
                                                                              , "api/Usuarios/VerificarCodigo");

            if (response.IsSuccess)
            {
                return(RedirectToAction("IngresarContrasena", new { recuperarContrasenaRequest.Email }));
            }
            ModelState.AddModelError("", "El código no es correcto");
            return(View(recuperarContrasenaRequest));
        }
コード例 #10
0
        public async Task <ActionResult> Compromisos(SupervisorRequest supervisorRequest)
        {
            //bUSCA LA EMPRESA
            var idEmpresaInt = 0;

            try
            {
                var userWithClaims = (ClaimsPrincipal)User;
                var idEmpresa      = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value;

                idEmpresaInt = Convert.ToInt32(idEmpresa);
            }
            catch (Exception ex)
            {
                InicializarMensaje(Mensaje.ErrorIdEmpresa);
                return(View());
            }
            //FIN
            SupervisorRequest supervisorRequest1 = new SupervisorRequest();

            ApplicationDbContext db = new ApplicationDbContext();

            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));

            var idUsuarioActual = User.Identity.GetUserId();

            supervisorRequest1.IdUsuario = idUsuarioActual;
            supervisorRequest1.IdEmpresa = idEmpresaInt;

            if (userManager.IsInRole(idUsuarioActual, "Supervisor"))
            {
                Response response = await ApiServicio.InsertarAsync(supervisorRequest1,
                                                                    new Uri(WebApp.BaseAddress),
                                                                    "api/Vendedores/obtenerSupervisorPorIdUsuario");

                supervisorRequest1             = JsonConvert.DeserializeObject <SupervisorRequest>(response.Resultado.ToString());
                supervisorRequest.IdSupervisor = supervisorRequest1.IdSupervisor;
                var lista = await ApiServicio.ObtenerElementoAsync1 <SupervisorRequest>(supervisorRequest, new Uri(WebApp.BaseAddress)
                                                                                        , "api/Vista/ListarVisitas");

                supervisorRequest.Listarcompromiso = lista.Listarcompromiso;

                var listavendedor = await ApiServicio.ObtenerElementoAsync1 <SupervisorRequest>(supervisorRequest, new Uri(WebApp.BaseAddress)
                                                                                                , "api/Vendedores/ListarVendedoresGerente");

                ViewBag.IdVendedor = new SelectList(listavendedor.ListaVendedores, "IdVendedor", "NombreApellido");

                supervisorRequest.ListaVendedores = listavendedor.ListaVendedores;
                return(View(supervisorRequest));
            }
            return(View());
        }
コード例 #11
0
        public async static Task <bool> ValidateUser(LoginRequest login)
        {
            var response = await ApiServicio.ObtenerElementoAsync1 <Response>(login,
                                                                              new Uri(WebApp.BaseAddress),
                                                                              "api/Administradores/Login");

            if (!response.IsSuccess)
            {
                return(false);
            }
            var usuario = JsonConvert.DeserializeObject <Administrador>(response.Result.ToString());

            new UsuarioMembership(usuario);
            return(true);
        }
コード例 #12
0
        public async static Task <Administrador> GetUser(Administrador administrador)
        {
            var user = new UsuarioMembership();

            var response = await ApiServicio.ObtenerElementoAsync1 <Response>(administrador,
                                                                              new Uri(WebApp.BaseAddress),
                                                                              "api/Administradores/GetUserAdmin");

            if (!response.IsSuccess)
            {
                return(null);
            }
            var usuario = JsonConvert.DeserializeObject <Administrador>(response.Result.ToString());

            return(usuario);
        }
コード例 #13
0
        public async Task <ActionResult> Activar(int id, int idEstado)
        {
            var cliente = new ClienteRequest {
                IdCliente = id
            };

            var response = await ApiServicio.ObtenerElementoAsync1 <Response>(cliente, new Uri(WebApp.BaseAddress)
                                                                              , "api/Clientes/ActivarCliente");

            if (response.IsSuccess)
            {
                return(RedirectToAction("Index", new { idEstado }));
            }

            return(null);
        }
コード例 #14
0
        public async Task <JsonResult> ListarTipoCliente()
        {
            try
            {
                MapaCalorRequest mapacalor = new MapaCalorRequest();
                var respusta = await ApiServicio.ObtenerElementoAsync1 <MapaCalorRequest>(mapacalor, new Uri(WebApp.BaseAddress)
                                                                                          , "api/MapaCalor/ListarTipoCliente");

                //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));
            }
        }
コード例 #15
0
        public async Task <ActionResult> RecuperarContrasena(RecuperarContrasenaRequest recuperarContrasenaRequest)
        {
            if (string.IsNullOrEmpty(recuperarContrasenaRequest.Email))
            {
                ModelState.AddModelError("", "Debe introducir el correo electrónico");
            }

            var response = await ApiServicio.ObtenerElementoAsync1 <Response>(recuperarContrasenaRequest, new Uri(WebApp.BaseAddress)
                                                                              , "api/Usuarios/GenerarCodigo");

            if (response.IsSuccess)
            {
                return(RedirectToAction("IntroducirCodigo", new { recuperarContrasenaRequest.Email }));
            }
            ModelState.AddModelError("Email", "El correo electrónico no está registrado");
            return(View());
        }
コード例 #16
0
ファイル: HomeController.cs プロジェクト: nvalle88/VentasWeb
        public async Task <ActionResult> Estadisticas()
        {
            try
            {
                InicializarMensaje("");
                SupervisorRequest supervisorRequest = new SupervisorRequest();
                int idEmpresaInt   = 0;
                var userWithClaims = (ClaimsPrincipal)User;
                var idEmpresa      = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value;


                idEmpresaInt = Convert.ToInt32(idEmpresa);
                supervisorRequest.IdEmpresa = idEmpresaInt;

                ApplicationDbContext db       = new ApplicationDbContext();
                Response             response = new Response();

                var userManager     = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
                var idUsuarioActual = User.Identity.GetUserId();
                supervisorRequest.IdUsuario = idUsuarioActual;
                supervisorRequest.IdEmpresa = idEmpresaInt;
                //metodo buscar supervisor

                response = await ApiServicio.ObtenerElementoAsync(supervisorRequest,
                                                                  new Uri(WebApp.BaseAddress),
                                                                  "api/Vendedores/obtenerSupervisorPorIdUsuario");

                supervisorRequest = JsonConvert.DeserializeObject <SupervisorRequest>(response.Resultado.ToString());
                supervisorRequest.IdSupervisor = supervisorRequest.IdSupervisor;


                var estadisticoVendedorRequest = await ApiServicio.ObtenerElementoAsync1 <EstadisticoSupervisorRequest>(supervisorRequest,
                                                                                                                        new Uri(WebApp.BaseAddress),
                                                                                                                        "api/Compromiso/VerEstadisticosPorSupervisor");

                supervisorRequest.estadisticoSupervisorRequest = estadisticoVendedorRequest;
                return(View(supervisorRequest));
            }
            catch
            {
                InicializarMensaje(Mensaje.Excepcion);
                return(View());
            }
        }
コード例 #17
0
        public async Task <ActionResult> Edit(int id)
        {
            var vendedor = new Vendedor {
                VendedorId = id
            };

            var vendedorRequest = await ApiServicio.ObtenerElementoAsync1 <Response>(vendedor,
                                                                                     new Uri(WebApp.BaseAddress),
                                                                                     "api/Vendedors/GetVendedor");

            if (!vendedorRequest.IsSuccess)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var result = JsonConvert.DeserializeObject <Vendedor>(vendedorRequest.Result.ToString());

            return(View(result));
        }
コード例 #18
0
        public async Task <ActionResult> Estadisticas()
        {
            try
            {
                InicializarMensaje("");
                SupervisorRequest supervisor   = new SupervisorRequest();
                var estadisticoVendedorRequest = await ApiServicio.ObtenerElementoAsync1 <EstadisticoSupervisorRequest>(supervisor,
                                                                                                                        new Uri(WebApp.BaseAddress),
                                                                                                                        "api/Compromiso/VerEstadisticos");

                supervisor.estadisticoSupervisorRequest = estadisticoVendedorRequest;
                return(View(supervisor));
            }
            catch
            {
                InicializarMensaje(Mensaje.Excepcion);
                return(View());
            }
        }
コード例 #19
0
ファイル: IdentityModels.cs プロジェクト: nvalle88/VentasWeb
        public async Task <ClaimsIdentity> GenerateUserIdentityAsync(UserManager <ApplicationUser> manager)
        {
            // Tenga en cuenta que el valor de authenticationType debe coincidir con el definido en CookieAuthenticationOptions.AuthenticationType
            var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);

            var userRequest = new UserRequest {
                Id = userIdentity.GetUserId()
            };
            var response = await ApiServicio.ObtenerElementoAsync1 <Response>(userRequest, new Uri(WebApp.BaseAddress)
                                                                              , "api/Empresa/ObtenerEmpresaPorCliente");

            if (response.IsSuccess)
            {
                var empresa = JsonConvert.DeserializeObject <AspNetUsers>(response.Resultado.ToString());
                userIdentity.AddClaim(new Claim(Constantes.Empresa, Convert.ToString(empresa.IdEmpresa)));
            }

            return(userIdentity);
        }
コード例 #20
0
        public async Task <ActionResult> Edit(int id)
        {
            var clienteRequests = new ClienteRequest {
                IdCliente = id
            };
            var response = await ApiServicio.ObtenerElementoAsync1 <Response>(clienteRequests, new Uri(WebApp.BaseAddress)
                                                                              , "api/Clientes/ObtenerCliente");

            if (response.IsSuccess)
            {
                var cliente = JsonConvert.DeserializeObject <ClienteRequest>(response.Resultado.ToString());

                await CargarCombos(cliente);

                cliente.Foto  = NormalizarFoto(cliente);
                cliente.Firma = NormalizarFirma(cliente);

                return(View(cliente));
            }

            return(View());
        }
コード例 #21
0
        public async Task <ActionResult> Edit(int id)
        {
            if (id <= 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var tipoMulta = new TipoMultas {
                TipoMultaId = id
            };

            var agenteRequest = await ApiServicio.ObtenerElementoAsync1 <Response>(tipoMulta,
                                                                                   new Uri(WebApp.BaseAddress),
                                                                                   "api/TiposMultas/GetTipoMulta");

            if (!agenteRequest.IsSuccess)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var result = JsonConvert.DeserializeObject <TipoMultas>(agenteRequest.Result.ToString());

            return(View(result));
        }
コード例 #22
0
        public async Task <ActionResult> Details(int id)
        {
            if (id <= 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var sector = new Sector {
                SectorId = id
            };

            var sectorRequest = await ApiServicio.ObtenerElementoAsync1 <Response>(sector,
                                                                                   new Uri(WebApp.BaseAddress),
                                                                                   "api/Sectors/GetSector");

            if (!sectorRequest.IsSuccess)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var result = JsonConvert.DeserializeObject <Sector>(sectorRequest.Result.ToString());

            return(View(result));
        }
コード例 #23
0
        public async Task <ActionResult> Edit(int id)
        {
            if (id <= 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var salario = new SalarioBasico {
                SalarioBasicoId = id
            };

            var salarioRequest = await ApiServicio.ObtenerElementoAsync1 <Response>(salario,
                                                                                    new Uri(WebApp.BaseAddress),
                                                                                    "api/SalariosBasicos/GetSalarioBasico");

            if (!salarioRequest.IsSuccess)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var result = JsonConvert.DeserializeObject <SalarioBasico>(salarioRequest.Result.ToString());

            return(View(result));
        }
コード例 #24
0
        public async Task <ActionResult> Recorrido(int id)
        {
            if (id <= 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var agente = new Agente {
                Id = id
            };

            var sectorRequest = await ApiServicio.ObtenerElementoAsync1 <Response>(agente,
                                                                                   new Uri(WebApp.BaseAddress),
                                                                                   "Simed/api/Agentes/GetAgente");

            if (!sectorRequest.IsSuccess)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var result = JsonConvert.DeserializeObject <Agente>(sectorRequest.Result.ToString());

            result.Fecha = DateTime.Now;
            return(View(result));
        }
コード例 #25
0
        public async Task <ActionResult> Create(HttpPostedFileBase fileUpload, string Latitud, string Longitud, ClienteRequest clienteRequest)
        {
            try
            {
                var userWithClaims = (ClaimsPrincipal)User;
                var idEmpresa      = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value;
                var lat            = Latitud.Replace(".", ",");
                var lon            = Longitud.Replace(".", ",");

                clienteRequest.Latitud  = Convert.ToDouble(lat);
                clienteRequest.Longitud = Convert.ToDouble(lon);

                var cliente = new ClienteRequest
                {
                    Identificacion = clienteRequest.Identificacion,
                    IdEmpresa      = Convert.ToInt32(idEmpresa),
                };

                var respuesta = await ApiServicio.ObtenerElementoAsync1 <Response>(cliente, new Uri(WebApp.BaseAddress)
                                                                                   , "api/Clientes/ExisteClientePorEmpresa");

                if (respuesta == null)
                {
                    ModelState.AddModelError("", "Ha ocurrido un error al conectarse al servicio...");
                    await CargarCombos();

                    return(View(clienteRequest));
                }

                if (respuesta.IsSuccess == true)
                {
                    ModelState.AddModelError("Identificacion", "El cliente ya existe...");

                    await CargarCombos();

                    clienteRequest.Identificacion = "";
                    return(View(clienteRequest));
                }


                cliente.Apellido      = clienteRequest.Apellido;
                cliente.Direccion     = clienteRequest.Direccion;
                cliente.Email         = clienteRequest.Email;
                cliente.IdTipoCliente = Convert.ToInt32(clienteRequest.IdTipoCliente);
                cliente.IdVendedor    = Convert.ToInt32(clienteRequest.IdVendedor);
                cliente.Latitud       = Convert.ToDouble(clienteRequest.Latitud);
                cliente.Longitud      = Convert.ToDouble(clienteRequest.Longitud);
                cliente.Nombre        = clienteRequest.Nombre;
                cliente.Telefono      = clienteRequest.Telefono;
                cliente.TelefonoMovil = clienteRequest.TelefonoMovil;
                cliente.RazonSocial   = clienteRequest.RazonSocial;
                cliente.Estado        = EstadoCliente.Activo;


                var respuestaInsertar = await ApiServicio.InsertarAsync <Response>(cliente, new Uri(WebApp.BaseAddress)
                                                                                   , "api/Clientes/InsertarCliente");


                if (respuestaInsertar.IsSuccess)
                {
                    if (fileUpload != null)
                    {
                        var clienteSalvado = JsonConvert.DeserializeObject <ClienteRequest>(respuestaInsertar.Resultado.ToString());
                        var fichero        = readFileContents(fileUpload);
                        var foto           = new ArchivoRequest {
                            Id = Convert.ToString(clienteSalvado.IdCliente), Array = fichero, Tipo = 1
                        };


                        var fotoRequest = await ApiServicio.InsertarAsync <Response>(foto, new Uri(WebApp.BaseAddress)
                                                                                     , "Api/Archivos/Insertar");

                        if (fotoRequest.IsSuccess)
                        {
                            var clienteActualizarFoto = new ClienteRequest
                            {
                                IdCliente = clienteSalvado.IdCliente,
                                Foto      = fotoRequest.Resultado.ToString(),
                            };
                            var fotoActualizar = await ApiServicio.InsertarAsync <Response>(clienteActualizarFoto, new Uri(WebApp.BaseAddress)
                                                                                            , "api/Clientes/EditarFotoCliente");

                            if (fotoActualizar.IsSuccess)
                            {
                                return(RedirectToAction("Index", EstadoCliente.Activo));
                            }
                        }
                    }



                    return(RedirectToAction("Index", EstadoCliente.Activo));
                }


                return(RedirectToAction("Index", EstadoCliente.Activo));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
コード例 #26
0
        public async Task <ActionResult> Edit(string id, SupervisorRequest supervisorRequest)
        {
            Response             response = new Response();
            ApplicationDbContext db       = new ApplicationDbContext();
            //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)
            {
                var super = new SupervisorRequest
                {
                    IdSupervisor = Convert.ToInt32(id)
                };
                response = await ApiServicio.ObtenerElementoAsync(super,
                                                                  new Uri(WebApp.BaseAddress),
                                                                  "api/Supervisor/obtenerSupervisor");

                var MyUser = JsonConvert.DeserializeObject <SupervisorRequest>(response.Resultado.ToString());
                if (MyUser.Correo != supervisorRequest.Correo)
                {
                    InicializarMensaje(Mensaje.ExisteCorreo);
                    return(View(response.Resultado));
                }
            }

            //VALIDA SI EXITE LA IDENTIFICACION AL CREAR
            var ExisteUsuario = await ApiServicio.ObtenerElementoAsync1 <SupervisorRequest>(supervisorRequest,
                                                                                            new Uri(WebApp.BaseAddress),
                                                                                            "api/Supervisor/BuscarSupervisorPorEmpresaEIdentificacion");

            if (ExisteUsuario != null)
            {
                var super = new SupervisorRequest
                {
                    IdSupervisor = Convert.ToInt32(id)
                };
                response = await ApiServicio.ObtenerElementoAsync(super,
                                                                  new Uri(WebApp.BaseAddress),
                                                                  "api/Supervisor/obtenerSupervisor");

                var MyUser = JsonConvert.DeserializeObject <SupervisorRequest>(response.Resultado.ToString());

                if (MyUser.Identificacion != supervisorRequest.Identificacion)
                {
                    InicializarMensaje(Mensaje.ExisteIdentificacionUsuario);
                    return(View(response.Resultado));
                }
            }
            var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
            var user        = db.Users.Find(supervisorRequest.IdUsuario);

            user.UserName       = supervisorRequest.Correo;
            user.Email          = supervisorRequest.Correo;
            user.Identificacion = supervisorRequest.Identificacion;
            user.Apellidos      = supervisorRequest.Apellidos;
            user.Nombres        = supervisorRequest.Nombres;
            user.Direccion      = supervisorRequest.Direccion;
            user.Telefono       = supervisorRequest.Telefono;
            var result = await userManager.UpdateAsync(user);

            db.SaveChanges();

            if (result != null)
            {
                return(RedirectToAction("Index"));
            }
            return(View());
        }
コード例 #27
0
        public async Task <ActionResult> CalendarioIndex(int idVendedor)
        {
            SupervisorRequest supervisorRequest = new SupervisorRequest();
            VendedorRequest   vendedorRequest   = new VendedorRequest();

            var lista        = new List <VendedorRequest>();
            int idEmpresaInt = 0;


            try
            {
                var userWithClaims = (ClaimsPrincipal)User;
                var idEmpresa      = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value;

                idEmpresaInt = Convert.ToInt32(idEmpresa);

                vendedorRequest.idEmpresa  = idEmpresaInt;
                vendedorRequest.IdVendedor = idVendedor;
            }
            catch (Exception ex)
            {
                InicializarMensaje(Mensaje.ErrorIdEmpresa);
                return(View(lista));
            }



            try
            {
                // Obtener supervisor
                ApplicationDbContext db = new ApplicationDbContext();

                var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));


                var idUsuarioActual = User.Identity.GetUserId();

                supervisorRequest.IdUsuario = idUsuarioActual;
                supervisorRequest.IdEmpresa = idEmpresaInt;

                if (userManager.IsInRole(idUsuarioActual, "Supervisor"))
                {
                    Response response = await ApiServicio.InsertarAsync(supervisorRequest,
                                                                        new Uri(WebApp.BaseAddress),
                                                                        "api/Vendedores/obtenerSupervisorPorIdUsuario");

                    supervisorRequest            = JsonConvert.DeserializeObject <SupervisorRequest>(response.Resultado.ToString());
                    vendedorRequest.IdSupervisor = supervisorRequest.IdSupervisor;
                }



                // Carga de combo

                lista = await ApiServicio.ObtenerElementoAsync1 <List <VendedorRequest> >(vendedorRequest, new Uri(WebApp.BaseAddress)
                                                                                          , "api/Vendedores/ListarVendedoresPorSupervisor");

                lista.Add(new VendedorRequest {
                    IdVendedor     = 0,
                    NombreApellido = "Seleccione"
                });

                lista = lista.OrderBy(x => x.IdVendedor).ToList();

                ViewBag.IdVendedor = new SelectList(lista, "IdVendedor", "NombreApellido");



                // Lista de eventos para cargar la agenda
                var listaEventos = await ApiServicio.ObtenerElementoAsync1 <List <EventoRequest> >(vendedorRequest, new Uri(WebApp.BaseAddress)
                                                                                                   , "api/Agendas/ListarEventosPorVendedor");


                return(View(listaEventos));
            }
            catch (Exception ex)
            {
                InicializarMensaje(Mensaje.Excepcion);
                return(View());
            }
        }
コード例 #28
0
        public async Task <ActionResult> EditarVendedor(HttpPostedFileBase fileUpload, VendedorRequest vendedorRequest)
        {
            InicializarMensaje(Mensaje.GuardadoSatisfactorio);
            int idEmpresaInt = 0;


            try
            {
                var userWithClaims = (ClaimsPrincipal)User;
                var idEmpresa      = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value;

                idEmpresaInt = Convert.ToInt32(idEmpresa);
                vendedorRequest.idEmpresa         = idEmpresaInt;
                vendedorRequest.TiempoSeguimiento = 5;
            }
            catch (Exception ex)
            {
                InicializarMensaje(Mensaje.ErrorIdEmpresa);
                return(View(vendedorRequest));
            }


            if (!ModelState.IsValid)
            {
                InicializarMensaje(Mensaje.ModeloInvalido);
                return(View(vendedorRequest));
            }

            Response response = new Response();

            ApplicationDbContext db = new ApplicationDbContext();

            using (var transaction = db.Database.BeginTransaction())
            {
                try
                {
                    var userManager2     = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
                    var InstanciaUsuario = await userManager2.FindByEmailAsync(vendedorRequest.Correo);

                    if (InstanciaUsuario != null && InstanciaUsuario.Id != vendedorRequest.IdUsuario)
                    {
                        InicializarMensaje(Mensaje.ExisteCorreo);
                        return(View(vendedorRequest));
                    }

                    var ExisteUsuario = await ApiServicio.ObtenerElementoAsync1 <List <VendedorRequest> >(vendedorRequest,
                                                                                                          new Uri(WebApp.BaseAddress),
                                                                                                          "api/Vendedores/BuscarUsuariosVendedoresPorEmpresaEIdentificacion");

                    if (ExisteUsuario.Count > 0)
                    {
                        for (int i = 0; i < ExisteUsuario.Count; i++)
                        {
                            if (ExisteUsuario.ElementAt(i).IdUsuario != vendedorRequest.IdUsuario)
                            {
                                InicializarMensaje(Mensaje.ExisteIdentificacionUsuario);
                                return(View(vendedorRequest));
                            }
                        }
                    }


                    var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
                    InstanciaUsuario = await userManager.FindByIdAsync(vendedorRequest.IdUsuario);

                    InstanciaUsuario.UserName       = vendedorRequest.Correo;
                    InstanciaUsuario.Email          = vendedorRequest.Correo;
                    InstanciaUsuario.Identificacion = vendedorRequest.Identificacion;
                    InstanciaUsuario.Nombres        = vendedorRequest.Nombres;
                    InstanciaUsuario.Apellidos      = vendedorRequest.Apellidos;
                    InstanciaUsuario.Direccion      = vendedorRequest.Direccion;
                    InstanciaUsuario.Telefono       = vendedorRequest.Telefono;

                    InstanciaUsuario.Estado    = 1;
                    InstanciaUsuario.IdEmpresa = idEmpresaInt;


                    db.Entry(InstanciaUsuario).State = EntityState.Modified;
                    await db.SaveChangesAsync();



                    response = await ApiServicio.InsertarAsync(vendedorRequest,
                                                               new Uri(WebApp.BaseAddress),
                                                               "api/Vendedores/EditarVendedor");


                    if (response.IsSuccess)
                    {
                        if (fileUpload != null)
                        {
                            var idVendedor = response.Resultado;


                            var fichero = readFileContents(fileUpload);
                            var foto    = new ArchivoRequest {
                                Id = Convert.ToString(vendedorRequest.IdVendedor), Array = fichero, Tipo = 3
                            };


                            var fotoRequest = await ApiServicio.InsertarAsync <Response>(foto, new Uri(WebApp.BaseAddress)
                                                                                         , "Api/Archivos/Insertar");

                            if (fotoRequest.IsSuccess)
                            {
                                InstanciaUsuario.Foto = fotoRequest.Resultado.ToString();

                                db.Entry(InstanciaUsuario).State = EntityState.Modified;
                                await db.SaveChangesAsync();

                                transaction.Commit();

                                return(RedirectToAction("VendedorIndex", new { mensaje = response.Message }));
                            }
                            else
                            {
                                transaction.Rollback();
                                return(RedirectToAction("VendedorIndex", new { mensaje = Mensaje.Error }));
                            }
                        }
                        else
                        {
                            transaction.Commit();

                            return(RedirectToAction("VendedorIndex", new { mensaje = response.Message }));
                        }
                    }

                    transaction.Rollback();

                    ViewData["Error"] = response.Message;
                    return(View(vendedorRequest));
                }
                catch (Exception ex)
                {
                    transaction.Rollback();

                    ViewData["Error"] = response.Message;
                    return(View(vendedorRequest));
                }
            }
        }
コード例 #29
0
        public async Task <ActionResult> VendedorIndex(string mensaje)
        {
            List <VendedorRequest> lista             = new List <VendedorRequest>();
            VendedorRequest        vendedorRequest   = new VendedorRequest();
            SupervisorRequest      supervisorRequest = new SupervisorRequest();

            int idEmpresaInt = 0;

            Response response = new Response();

            InicializarMensaje(mensaje);


            try
            {
                var userWithClaims = (ClaimsPrincipal)User;
                var idEmpresa      = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value;

                idEmpresaInt = Convert.ToInt32(idEmpresa);

                vendedorRequest.idEmpresa = idEmpresaInt;
            }
            catch (Exception ex) {
                InicializarMensaje(Mensaje.ErrorIdEmpresa);
                return(View(lista));
            }


            try
            {
                ApplicationDbContext db = new ApplicationDbContext();

                var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));


                var idUsuarioActual = User.Identity.GetUserId();

                supervisorRequest.IdUsuario = idUsuarioActual;
                supervisorRequest.IdEmpresa = idEmpresaInt;

                if (userManager.IsInRole(idUsuarioActual, "Supervisor"))
                {
                    response = await ApiServicio.InsertarAsync(supervisorRequest,
                                                               new Uri(WebApp.BaseAddress),
                                                               "api/Vendedores/obtenerSupervisorPorIdUsuario");

                    supervisorRequest            = JsonConvert.DeserializeObject <SupervisorRequest>(response.Resultado.ToString());
                    vendedorRequest.IdSupervisor = supervisorRequest.IdSupervisor;

                    lista = await ApiServicio.ObtenerElementoAsync1 <List <VendedorRequest> >(vendedorRequest,
                                                                                              new Uri(WebApp.BaseAddress),
                                                                                              "api/Vendedores/ListarVendedoresPorSupervisor");
                }
                else //(userManager.IsInRole(idUsuarioActual, "GerenteComercial"))
                {
                    lista = await ApiServicio.ObtenerElementoAsync1 <List <VendedorRequest> >(vendedorRequest,
                                                                                              new Uri(WebApp.BaseAddress),
                                                                                              "api/Vendedores/ListarVendedores");
                }



                lista.FirstOrDefault().NumeroMenu = 1;
                return(View(lista));
            }
            catch (Exception ex)
            {
                //InicializarMensaje(Mensaje.Excepcion);
                //lista.FirstOrDefault().NumeroMenu = 1;
                return(View(lista));
            }
        }
コード例 #30
0
        public async Task <ActionResult> CrearVendedor(HttpPostedFileBase fileUpload, VendedorRequest vendedorRequest)
        {
            InicializarMensaje("");

            int idEmpresaInt = 0;

            SupervisorRequest supervisorRequest = new SupervisorRequest();

            var guardar = false;



            try
            {
                var userWithClaims = (ClaimsPrincipal)User;
                var idEmpresa      = userWithClaims.Claims.First(c => c.Type == Constantes.Empresa).Value;


                idEmpresaInt = Convert.ToInt32(idEmpresa);
                vendedorRequest.idEmpresa         = idEmpresaInt;
                vendedorRequest.TiempoSeguimiento = 5;
            }
            catch (Exception ex)
            {
                InicializarMensaje(Mensaje.ErrorIdEmpresa);
                return(View(vendedorRequest));
            }


            if (!ModelState.IsValid)
            {
                InicializarMensaje(Mensaje.ModeloInvalido);
                return(View(vendedorRequest));
            }


            ApplicationDbContext db       = new ApplicationDbContext();
            Response             response = new Response();


            try
            {
                var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));


                var idUsuarioActual = User.Identity.GetUserId();

                supervisorRequest.IdUsuario = idUsuarioActual;
                supervisorRequest.IdEmpresa = idEmpresaInt;

                if (userManager.IsInRole(idUsuarioActual, "Supervisor"))
                {
                    response = await ApiServicio.InsertarAsync(supervisorRequest,
                                                               new Uri(WebApp.BaseAddress),
                                                               "api/Vendedores/obtenerSupervisorPorIdUsuario");

                    supervisorRequest            = JsonConvert.DeserializeObject <SupervisorRequest>(response.Resultado.ToString());
                    vendedorRequest.IdSupervisor = supervisorRequest.IdSupervisor;

                    guardar = true;
                }

                else if (userManager.IsInRole(idUsuarioActual, "GerenteGeneral"))
                {
                    guardar = true;
                }


                if (guardar == false)
                {
                    InicializarMensaje("No tiene permisos para agregar un nuevo vendedor");
                    return(View(vendedorRequest));
                }

                var userManager2     = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));
                var InstanciaUsuario = await userManager2.FindByEmailAsync(vendedorRequest.Correo);

                if (InstanciaUsuario != null)
                {
                    InicializarMensaje(Mensaje.ExisteCorreo);
                    return(View(vendedorRequest));
                }

                var ExisteUsuario = await ApiServicio.ObtenerElementoAsync1 <List <VendedorRequest> >(vendedorRequest,
                                                                                                      new Uri(WebApp.BaseAddress),
                                                                                                      "api/Vendedores/BuscarUsuariosVendedoresPorEmpresaEIdentificacion");

                if (ExisteUsuario.Count > 0)
                {
                    InicializarMensaje(Mensaje.ExisteIdentificacionUsuario);
                    return(View(vendedorRequest));
                }

                var user = new ApplicationUser
                {
                    UserName       = vendedorRequest.Correo,
                    Email          = vendedorRequest.Correo,
                    Identificacion = vendedorRequest.Identificacion,

                    Nombres   = vendedorRequest.Nombres,
                    Apellidos = vendedorRequest.Apellidos,
                    Direccion = vendedorRequest.Direccion,
                    Telefono  = vendedorRequest.Telefono,

                    Estado = 1,

                    IdEmpresa = idEmpresaInt
                };



                var result = await userManager.CreateAsync(user, "A123345.1a");

                db.SaveChanges();

                if (result != null)
                {
                    InstanciaUsuario = await userManager2.FindByEmailAsync(vendedorRequest.Correo);

                    vendedorRequest.IdUsuario = InstanciaUsuario.Id;


                    userManager.AddToRole(InstanciaUsuario.Id, "Vendedor");



                    response = await ApiServicio.InsertarAsync(vendedorRequest,
                                                               new Uri(WebApp.BaseAddress),
                                                               "api/Vendedores/InsertarVendedor");



                    if (response.IsSuccess)
                    {
                        if (fileUpload != null)
                        {
                            var idVendedor = response.Resultado;


                            var fichero = readFileContents(fileUpload);
                            var foto    = new ArchivoRequest {
                                Id = Convert.ToString(idVendedor), Array = fichero, Tipo = 3
                            };


                            var fotoRequest = await ApiServicio.InsertarAsync <Response>(foto, new Uri(WebApp.BaseAddress)
                                                                                         , "Api/Archivos/Insertar");

                            if (fotoRequest.IsSuccess)
                            {
                                user.Foto = fotoRequest.Resultado.ToString();

                                db.Entry(user).State = EntityState.Modified;
                                await db.SaveChangesAsync();


                                var recuperarContrasenaRequest0 = new RecuperarContrasenaRequest();
                                recuperarContrasenaRequest0.Email = user.Email;

                                var response0 = await ApiServicio.ObtenerElementoAsync1 <Response>(recuperarContrasenaRequest0, new Uri(WebApp.BaseAddress)
                                                                                                   , "api/Usuarios/GenerarCodigo");

                                return(RedirectToAction("VendedorIndex", new { mensaje = response.Message }));
                            }
                            else
                            {
                                InicializarMensaje(Mensaje.Error);
                                return(View(vendedorRequest));
                            }
                        }

                        var recuperarContrasenaRequest = new RecuperarContrasenaRequest();
                        recuperarContrasenaRequest.Email = user.Email;

                        var response2 = await ApiServicio.ObtenerElementoAsync1 <Response>(recuperarContrasenaRequest, new Uri(WebApp.BaseAddress)
                                                                                           , "api/Usuarios/GenerarCodigo");

                        return(RedirectToAction("VendedorIndex", new { mensaje = response.Message }));
                    }
                }

                InicializarMensaje("No se ha podido crear un usuario");
                return(View(vendedorRequest));
            }
            catch (Exception ex)
            {
                ViewData["Error"] = Mensaje.Error;
                return(View(vendedorRequest));
            }
        }