コード例 #1
0
        public ResponseModel <string> GetNewKey()
        {
            var resp = new ResponseModel <string>();

            try
            {
                var licenseClass = new LicenseClass
                {
                    LicenseRepository     = AppRepo,
                    PermissionsRepository = PermissionsRepository
                };

                var licNumber = licenseClass.GetNewLicenseString();
                if (!string.IsNullOrEmpty(licNumber))
                {
                    resp.Status      = 200;
                    resp.Description = "OK";
                    resp.Data        = licNumber;
                }
                else
                {
                    throw new Exception("Number can't be generate");
                }
            }
            catch (Exception ex)
            {
                resp.Status      = 500;
                resp.Description = $"Error: {ex.Message}";
                resp.Data        = null;
            }

            return(resp);
        }
コード例 #2
0
        public ResponseModel <int> Post([FromBody] ApplicationModel dataToAdd)
        {
            var resp = new ResponseModel <int>();

            try
            {
                if (dataToAdd == null)
                {
                    resp.Data        = 0;
                    resp.Status      = 500;
                    resp.Description = "no data";
                    return(resp);
                }

                var model = new Application()
                {
                    Description = dataToAdd.Description,
                    Name        = dataToAdd.Name,
                    IsActive    = dataToAdd.IsActive,
                    Version     = dataToAdd.Version,
                    Creation    = DateTime.Now,
                    IdGroup     = dataToAdd.IdGroup,
                    Hash        = LicenseClass.RandomStringNoDash(32)
                };

                if (ApplicationsRepository.CheckExitsForGroup(model))
                {
                    throw new Exception("Application already exits");
                }

                if (ApplicationsRepository.Insert(model))
                {
                    resp.Data        = model.Id;
                    resp.Status      = 200;
                    resp.Description = "OK";
                }
                else
                {
                    resp.Status      = 200;
                    resp.Data        = 0;
                    resp.Description = "Error";
                }
            }
            catch (Exception ex)
            {
                resp.Status      = 500;
                resp.Description = $"Error: {ex.Message}";
                resp.Data        = 0;
            }

            return(resp);
        }
コード例 #3
0
        public IHttpActionResult Post([FromBody] RegistrationModel value)
        {
            string message = string.Empty;

            try
            {
                LicenseClass lc = new LicenseClass();
                message = lc.Register(value, HttpContext.Current.Request.UserHostAddress);
            }
            catch (Exception ex)
            {
                message = ex.Message;
                FileLogger.AppendLog("ACCOUNT", LogType.Error, "POST", ex.Message);
            }
            if (message.ToLower().Equals("success"))
            {
                return(Ok(message));
            }
            else
            {
                return(BadRequest(message));
            }
        }
コード例 #4
0
ファイル: entity.cs プロジェクト: godfreja/vehelper
        public static char LicenseClassToChar( LicenseClass c )
        {
            char result;

            switch (c)
            {
            case LicenseClass.Novice:
                result = 'N';
                break;
            case LicenseClass.Technician:
                result = 'T';
                break;
            case LicenseClass.TechnicianPlus:
                result = 'P';
                break;
            case LicenseClass.General:
                result = 'G';
                break;
            case LicenseClass.Advanced:
                result = 'A';
                break;
            case LicenseClass.Extra:
                result = 'E';
                break;
            default:
                result = ' ';
                break;
            }
            return result;
        }
コード例 #5
0
        public ResponseModel <int> PostReturnId([FromBody] LicenseModel dataToAdd)
        {
            var resp = new ResponseModel <int>();

            try
            {
                if (dataToAdd is null)
                {
                    resp.Data        = 0;
                    resp.Status      = 500;
                    resp.Description = "Data is null";
                    return(resp);
                }

                var licenseClass = new LicenseClass
                {
                    LicenseRepository     = AppRepo,
                    PermissionsRepository = PermissionsRepository
                };

                var validate = licenseClass.ValidateLicenseAdd(dataToAdd);
                if (validate != null)
                {
                    resp.Data        = 0;
                    resp.Status      = 500;
                    resp.Description = validate.Message;
                    return(resp);
                }

                var licNumber = licenseClass.GetNewLicenseString();
                if (string.IsNullOrEmpty(licNumber))
                {
                    throw new Exception("Number can't be generate");
                }

                var model = new Licenses
                {
                    Creation        = DateTime.Now,
                    IdClients       = dataToAdd.IdClient,
                    IsActive        = dataToAdd.IsActive,
                    AssignedVersion = dataToAdd.AssignedVersion,
                    Expiration      = dataToAdd.Expiration,
                    IdApplication   = dataToAdd.IdApplication,
                    IdentityNumber  = dataToAdd.IdentityNumber,
                    Inclusion       = dataToAdd.Inclusion,
                    IsActivated     = dataToAdd.IsActivated,
                    Number          = licNumber,
                    Permissions     = PermissionClass.ConvertPermission(dataToAdd.PermissionsModel)
                };

                if (AppRepo.Insert(model))
                {
                    if (model.Permissions != null)
                    {
                        if (!licenseClass.InsertPermissions(model))
                        {
                            throw new Exception("Error in insert permissions");
                        }
                    }
                    resp.Data        = model.Id;
                    resp.Status      = 200;
                    resp.Description = "OK";
                    return(resp);
                }
                throw new Exception("Unkown insert error");
            }
            catch (Exception ex)
            {
                resp.Status      = 500;
                resp.Description = $"Error: {ex.Message}";
                resp.Data        = 0;
                return(resp);
            }
        }
コード例 #6
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);
        }