Exemplo n.º 1
0
        public async Task <IActionResult> Post([FromForm] IFormFile licence)
        {
            var path = _enviroment.ContentRootPath;

            System.IO.File.Delete(Path.Combine(path, "licencia.lic"));
            using (var stream = System.IO.File.Create(Path.Combine(path, "licencia.lic")))
            {
                licence.CopyTo(stream);
            }
            var lic = LicenceLoader.LoadFromFile(Path.Combine(path, "licencia.lic"));

            var cl = new LicenceChecker.Checker(Path.Combine(_enviroment.ContentRootPath, "keys/"));

            if (cl.Check(lic, DateTime.Now))
            {
                _db.Set <Licencia>().RemoveRange(_db.Set <Licencia>().ToList());
                _db.Add(new Licencia
                {
                    Aplicacion  = lic.Application,
                    Subscriptor = lic.Suscriptor,
                    Vencimiento = lic.ExpirationDate,
                    Hash        = lic.LicenceHash
                });
                _db.SaveChanges();
                return(Ok(new LicenciaVm {
                    Subscriptor = lic.Suscriptor, FechaVencimiento = String.Format("{0:dd/MM/yyy}", lic.ExpirationDate)
                }));
            }
            return(BadRequest("Error el agregar la licencia"));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Get()
        {
            var licencia = _licenciaService.Licencia;

            if (licencia == null)
            {
                return(BadRequest("La aplicacion no posee una licencia activa"));
            }
            var path      = _enviroment.ContentRootPath;
            var cl        = new LicenceChecker.Checker(Path.Combine(_enviroment.ContentRootPath, "keys/"));
            var isCorrect = cl.CheckIntegrity(new LicenceChecker.Licence
            {
                Application    = licencia.Aplicacion,
                ExpirationDate = licencia.Vencimiento,
                LicenceHash    = licencia.Hash,
                Suscriptor     = licencia.Subscriptor
            });

            if (!isCorrect)
            {
                return(BadRequest("Su licencia esta corrupta. Contacte al proveedor del sistema."));
            }
            if (licencia.Vencimiento < DateTime.Now.AddDays(15))
            {
                return(BadRequest("Su licencia esta vencida. Contacte al administrador."));
            }
            var result = new LicenciaVm
            {
                Subscriptor      = licencia.Subscriptor,
                FechaVencimiento = String.Format("{0:dd/MM/yyy}", licencia.Vencimiento),
            };

            return(Ok(result));
        }