public IHttpActionResult Authenticate(string usuario, string contrasena)
        {
            if (usuario == null || contrasena == null)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            //Aqui se puede validar cualquier cosa desde usuario de sesion aplicacion otra cosa.
            bool isCredentialValid = (contrasena == "123456");

            if (isCredentialValid)
            {
                var stringtoken = GeneradorToken.GeneradorTokenJWT(usuario);
                var token       = new Token();
                token.auth_token   = stringtoken;
                token.expire_token = new DateTimeOffset().AddHours(1).Hour;
                token.user_token   = usuario;
                token.role         = "Cualquiera";
                return(Ok(token));
            }
            else
            {
                var respueta = new HttpError(
                    string.Format($"Petición no auturizada codigo {(int)HttpStatusCode.Unauthorized}",
                                  CultureInfo.CurrentCulture));
                return(Content(HttpStatusCode.Unauthorized, respueta));
            }
        }
示例#2
0
        public async Task <ActionResult> Sincronizar()
        {
            int codSw = (int)EnumCodigoUrlServicioWeb.ConsultarEntidad;
            var user  = db.PermisoServicioWeb.Where(x => x.UrlServicioWebId == codSw).ToList();

            foreach (var ite in user)
            {
                var result = await GeneradorToken.Sincronizador(HttpContext.Request.RawUrl,
                                                                ite.UsuarioAutorizado.Usuario,
                                                                ite.UsuarioAutorizado.Password,
                                                                ite.UrlBase.Descripcion,
                                                                ite.UrlServicioWeb.Url);

                if (result != null)
                {
                    var datos = JsonConvert.DeserializeObject <List <DominioEntidad> >(result);

                    foreach (var item in datos)
                    {
                        bool existe = db.Entidad.Any(x => x.CodigoPonal == item.ID_ENTIDAD);
                        if (!existe)
                        {
                            Entidad dato = new Entidad();
                            dato.CodigoPonal       = Convert.ToInt32(item.ID_ENTIDAD);
                            dato.CodigoTipoEntidad = Convert.ToInt32(item.COD_TIPO_ENTIDAD);
                            dato.TipoEntidad       = item.TIPO_ENTIDAD;
                            dato.Descripcion       = item.DESCRIPCION;
                            dato.Direccion         = item.DIRECCION;
                            dato.Correo            = item.CORREO;
                            dato.Telefono          = item.TELEFONO;
                            dato.Celular           = item.CELULAR;
                            dato.Nit             = item.NIT;
                            dato.Web             = item.WEB;
                            dato.Latitud         = Convert.ToInt32(item.LATITUD);
                            dato.Longitud        = Convert.ToInt32(item.LONGITUD);
                            dato.CodMunicipio    = (int)item.COD_MUNICIPIO;
                            dato.Municipio       = item.MUNICIPIO;
                            dato.CodDepartamento = (int)item.COD_DEPARTAMENTO;
                            dato.Municipio       = item.MUNICIPIO;
                            dato.Vigente         = true;
                            db.Entidad.Add(dato);
                            db.SaveChanges();
                        }
                    }
                }
            }
            return(RedirectToAction("Index", "Entidads"));
        }
示例#3
0
        public async Task <ActionResult> SincronizaComportamiento()
        {
            string username = "******";
            string password = "******";
            var    client   = new HttpClient();

            client.BaseAddress = new Uri("https://catalogoservicioweb.policia.gov.co");
            var url   = "/sw/api/ListaValor/ConsultaComportamiento";
            var token = GeneradorToken.TokenPonal(username, password);

            client.DefaultRequestHeaders.Add("Authorization", token);
            var response = await client.GetAsync(url);

            if (!response.IsSuccessStatusCode)
            {
                return(null);
            }

            var result = await response.Content.ReadAsStringAsync();

            var resultado = JsonConvert.DeserializeObject <List <DominioComportamiento> >(result);

            foreach (var item in resultado)
            {
                bool existe = db.ListaComportamiento.Any(x => x.CodigoPonal == item.ID_COMPORTAMIENTO);
                if (!existe)
                {
                    ListaComportamiento dato = new ListaComportamiento();
                    dato.CodigoPonal = Convert.ToInt32(item.ID_COMPORTAMIENTO);
                    dato.Descripcion = item.DESCRIPCION;
                    dato.IdPapa      = Convert.ToDecimal(item.ID_PAPA);
                    dato.IdTipo      = Convert.ToDecimal(item.ID_TIPO);
                    dato.Orden       = item.ORDEN;
                    dato.IdTitulo    = Convert.ToDecimal(item.ID_TITULO);
                    dato.IdCapitulo  = Convert.ToDecimal(item.ID_CAPITULO);
                    dato.IdArticulo  = Convert.ToDecimal(item.ID_ARTICULO);
                    dato.Vigente     = true;
                    db.ListaComportamiento.Add(dato);
                    db.SaveChanges();
                }
            }

            return(RedirectToAction("Index"));
        }
        public async Task <ActionResult> SincronizaEstadoMedida()
        {
            string username = "******";
            string password = "******";

            var client = new HttpClient();

            client.BaseAddress = new Uri("https://catalogoservicioweb.policia.gov.co");
            var url   = "/sw/api/ListaValor/ConsultaEstadoMedida";
            var token = GeneradorToken.TokenPonal(username, password);

            client.DefaultRequestHeaders.Add("Authorization", token);
            var response = await client.GetAsync(url);

            if (!response.IsSuccessStatusCode)
            {
                return(null);
            }

            var result = await response.Content.ReadAsStringAsync();

            var datos = JsonConvert.DeserializeObject <List <DominioPonal> >(result);

            foreach (var item in datos)
            {
                bool existe = db.EstadoMedida.Any(x => x.CodigoPonal == item.ID_DOMINIO);
                if (!existe)
                {
                    EstadoMedida dato = new EstadoMedida();
                    dato.CodigoPonal = Convert.ToInt32(item.ID_DOMINIO);
                    dato.Descripcion = item.DESCRIPCION;
                    dato.Vigente     = true;
                    db.EstadoMedida.Add(dato);
                    db.SaveChanges();
                }
            }

            return(RedirectToAction("Index"));
        }
示例#5
0
        public async Task <IHttpActionResult> LoginAsync(UsuarioLogin usuarioLogin)
        {
            if (usuarioLogin == null)
            {
                return(BadRequest("Usuario y Contraseña requeridos."));
            }


            //UsuarioInfo userInfo = await AutenticarUsuarioAsync(usuarioLogin.Cedula, usuarioLogin.Password);
            Usuario user = Sistema.Instancia.Login(new Usuario {
                Cedula = usuarioLogin.Cedula, Password = usuarioLogin.Password
            });

            if (user != null)
            {
                var tok = GeneradorToken.GenerarTokenJWT(user);
                return(Ok(new { token = tok, usuario = user }));
            }
            else
            {
                return(Unauthorized());
            }
        }
        public async Task <ActionResult> SincronizaLocalidad()
        {
            int codSw = (int)EnumCodigoUrlServicioWeb.ConsultarLocalidad;
            var user  = db.PermisoServicioWeb.Where(x => x.UrlServicioWebId == codSw).ToList();

            foreach (var ite in user)
            {
                var result = await GeneradorToken.Sincronizador(HttpContext.Request.RawUrl,
                                                                ite.UsuarioAutorizado.Usuario,
                                                                ite.UsuarioAutorizado.Password,
                                                                ite.UrlBase.Descripcion,
                                                                ite.UrlServicioWeb.Url);

                if (result != null)
                {
                    var datos = JsonConvert.DeserializeObject <List <DominioLocalidad> >(result);

                    foreach (var item in datos)
                    {
                        bool existe = db.Localidad.Any(x => x.CodigoPonal == item.ID_LOCALIDAD);
                        if (!existe)
                        {
                            Localidad dato = new Localidad();
                            dato.CodigoPonal     = Convert.ToInt32(item.ID_LOCALIDAD);
                            dato.CodigoMunicipio = (int)item.COD_MUNICIPIO;
                            dato.Municipio       = item.MUNICIPIO;
                            dato.NombreLocalidad = item.LOCALIDAD;
                            dato.Vigente         = true;
                            db.Localidad.Add(dato);
                            db.SaveChanges();
                        }
                    }
                }
            }

            return(RedirectToAction("Index", "Localidads"));
        }