public LicenseModel Active([FromBody] LicenseInput licenseInput) { var resp = new LicenseModel(); try { if (string.IsNullOrEmpty(licenseInput?.IdentityNumber) || string.IsNullOrEmpty(licenseInput.ApplicationHash) || string.IsNullOrEmpty(licenseInput.LicenseNumber)) { throw new Exception("invalid data"); } var res = _licenseRepository.ActiveLicense(licenseInput.LicenseNumber, licenseInput.IdentityNumber, licenseInput.ApplicationHash); switch (res) { case LicenseStatusEnum.Incorrect: resp.Description = "License is incorrect"; break; case LicenseStatusEnum.InActive: resp.Description = "License is not active"; break; case LicenseStatusEnum.HasExpired: resp.Description = "License has expired"; break; case LicenseStatusEnum.NotEnabled: resp.Description = "License is not enabled"; break; case LicenseStatusEnum.NoIdentityNumber: resp.Description = "No identity number"; break; case LicenseStatusEnum.AlreadyActivated: resp.Description = "License already activated"; break; case LicenseStatusEnum.Active: case LicenseStatusEnum.Activated: resp.Description = "License active"; var licenseClass = new LicenseClass(); resp = licenseClass.GetLicense(licenseInput.LicenseNumber, licenseInput.IdentityNumber, licenseInput.ApplicationHash); break; case LicenseStatusEnum.Error: resp.Description = "Error"; break; default: throw new ArgumentOutOfRangeException(); } } catch (Exception ex) { resp.Description = $"Error: {ex.Message}"; } //SetLogs new LogsClass(new Logs { Description = resp.Description, Date = DateTime.Now, LicenseNumber = licenseInput?.LicenseNumber ?? "" }).SetLogs(); return(resp); }