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