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")); }
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)); }