Пример #1
0
        public ActivateViewModel PostActivate(ActivateInputViewModel input)
        {
            try
            {
                string tokenId        = input.TokenId;
                string activationCode = input.ActivationCode;
                string deviceId       = input.DeviceId;
                string deviceModel    = input.DeviceModel;
                string osType         = input.OsType;
                string osVersion      = input.OsVersion;


                ActivateViewModel activate = new ActivateViewModel();
                Status            status   = new Status();
                ActivateResult    result   = new ActivateResult();

                ActivationCode activation = IsValidActivationCode(tokenId, activationCode);
                if (activation != null)
                {
                    User user = ActivateUser(tokenId, activationCode);
                    UpdateActivationCode(activation, deviceId, deviceModel, osType, osVersion);
                    UnitOfWork.Save();

                    status.IsSuccess  = true;
                    status.Message    = Resources.Messages.Register_SuccessActivate;
                    status.StatusCode = 0;

                    LoginResultViewModel login = Login(user.CellNum, user.Password);
                    if (login.IsSuccess)
                    {
                        UpdateUserWithToken(user, login.Token);
                        result.TokenId = login.Token;
                        UnitOfWork.Save();
                    }
                }
                else
                {
                    status.IsSuccess  = false;
                    status.Message    = Resources.Messages.Registe_WrongActivationCode;
                    status.StatusCode = 2;
                }

                activate.Result = result;
                activate.Status = status;
                return(activate);
            }
            catch (Exception e)
            {
                return(new ActivateViewModel()
                {
                    Result = null,
                    Status = status.ReturnStatus(100, "خطا در بازیابی اطلاعات", false)
                });
            }
        }
Пример #2
0
        public static ActivateResult ICActive(int iDelaytime, ref string cardUID)
        {
            if (!IsUse)
            {
                return(ActivateResult.ET_SETSUCCESS);
            }
            byte[] ucType       = new byte[2];   //卡类型
            byte[] ucDLen       = new byte[2];   //卡序列号长度
            byte[] ucCardUID    = new byte[128]; //卡序列号
            byte[] ucATRLen     = new byte[2];   //ATR数据长度
            byte[] ucATRDataBuf = new byte[512]; //卡片复位应答协议和历史字符(激活成功才返回)
            byte[] apo          = new byte[512];
            byte[] msg          = new byte[128];

            ActivateResult nRet = (ActivateResult)EA_mifare_sICActive(iDelaytime, ucType, ucDLen, ucCardUID, ucATRLen, ucATRDataBuf);

            if (nRet == ActivateResult.ET_SETSUCCESS)
            {
                EA_Alarm(100);
                int len = ucDLen[0] + 16 * ucDLen[1];
                cardUID = Utility.bcd2str(ucCardUID, len);
            }
            return(nRet);
        }