コード例 #1
0
        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);
        }