private static Credential CriarCredencialProvisoria(Cardholder cardholder, DateTime?validade, Guid layoutCracha) { try { DateTime _DataValidade; if (validade != null) { _DataValidade = (DateTime)validade; _DataValidade = _DataValidade.AddSeconds(86399); _DataValidade = _DataValidade <= DateTime.Now ? DateTime.Now.AddSeconds(3) : _DataValidade; } else { _DataValidade = DateTime.Now.AddSeconds(86399); } Credential _credencial; _sdk.TransactionManager.CreateTransaction(); _credencial = _sdk.CreateEntity("Credencial de " + cardholder.FirstName, EntityType.Credential) as Credential; _credencial.Name = cardholder.FirstName + " " + cardholder.LastName; _credencial.ActivationMode = new SpecificActivationPeriod(DateTime.Now, _DataValidade); BadgeTemplate _BadgeTemplate = _sdk.GetEntity(layoutCracha) as BadgeTemplate; _credencial.BadgeTemplate = _BadgeTemplate.Guid; _credencial.InsertIntoPartition(Partition.DefaultPartitionGuid); cardholder.Credentials.Add(_credencial); _sdk.TransactionManager.CommitTransaction(); return(_credencial); } catch (Exception ex) { throw; } }
public static bool VincularVeiculo(ClasseVeiculosCredenciais.VeiculoCredencial veiculoCredencial) { try { //IEngine _sdk = Main.engine; Cardholder _cardholder; string _firstname = ""; string _lastname = ""; ////// CardHolder try { _sdk.TransactionManager.CreateTransaction(); _cardholder = BuscarCardHolder(veiculoCredencial.Placa, veiculoCredencial.CNPJ); string[] _nomeCompleto = veiculoCredencial.VeiculoNome.Split(' '); int _len = _nomeCompleto.Count(); if (_len > 1) { _lastname = _nomeCompleto[_len - 1]; _firstname = _nomeCompleto[0]; } else { _firstname = veiculoCredencial.VeiculoNome; } //DateTime _DataValidade; //if (vinculo.Validade != null) //{ // _DataValidade = (DateTime)vinculo.Validade; // _DataValidade = _DataValidade.AddSeconds(86399); // _DataValidade = _DataValidade <= DateTime.Now ? DateTime.Now.AddSeconds(3) : _DataValidade; //} //else //{ // _DataValidade = DateTime.Now.AddSeconds(86399); //} CardholderGroup _cardholderGroup = _sdk.GetEntity(EntityType.CardholderGroup, 1) as CardholderGroup; if (_cardholder == null) { _cardholder = _sdk.CreateEntity(veiculoCredencial.VeiculoNome, EntityType.Cardholder) as Cardholder; } BitmapImage _img = Conversores.STRtoIMG(veiculoCredencial.VeiculoFoto) as BitmapImage; Bitmap _Foto = Conversores.BitmapImageToBitmap(_img); if (_Foto != null) { _cardholder.Picture = _Foto; } Bitmap _Motorista = null; _cardholder.SetCustomFieldAsync("No. do Veiculo", veiculoCredencial.VeiculoID); _cardholder.SetCustomFieldAsync("CPF", veiculoCredencial.Placa); _cardholder.SetCustomFieldAsync("Motorista", _img); _cardholder.SetCustomFieldAsync("Empresa", veiculoCredencial.EmpresaNome); _cardholder.SetCustomFieldAsync("Nome Fantasia", veiculoCredencial.EmpresaApelido); _cardholder.SetCustomFieldAsync("CNPJ", veiculoCredencial.CNPJ); _cardholder.SetCustomFieldAsync("Cargo", veiculoCredencial.Cargo); _cardholder.InsertIntoPartition(Partition.DefaultPartitionGuid); if (_cardholder.Groups.Count == 0 && _cardholderGroup != null) { _cardholder.Groups.Add(_cardholderGroup.Guid); } _cardholder.FirstName = _firstname; _cardholder.LastName = _lastname; //_cardholder.ActivationMode = new SpecificActivationPeriod(DateTime.Now, _DataValidade); _sdk.TransactionManager.CommitTransaction(); veiculoCredencial.CardHolderGuid = _cardholder.Guid; } catch (Exception ex) { return(false); } //// Credencial /// if (veiculoCredencial.FormatIDGUID != "00000000-0000-0000-0000-000000000000" && veiculoCredencial.NumeroCredencial != "") { try { DateTime _DataValidade; if (veiculoCredencial.Validade != null) { _DataValidade = (DateTime)veiculoCredencial.Validade; _DataValidade = _DataValidade.AddSeconds(86399); _DataValidade = _DataValidade <= DateTime.Now ? DateTime.Now.AddSeconds(3) : _DataValidade; } else { _DataValidade = DateTime.Now.AddSeconds(86399); } Credential _credencial; // = _sdk.GetEntity((Guid)veiculoCredencial.CredencialGuid) as Credential; _credencial = BuscarCredencial(veiculoCredencial.NumeroCredencial, veiculoCredencial.FormatIDGUID, veiculoCredencial.FC); if (_credencial != null) { if (_credencial.CardholderGuid != _cardholder.Guid) { //MessageBox.Show("Esta credencial pertence a outro usuário e não pode ser vinculada!", "Erro ao Vincular", MessageBoxButtons.OK,MessageBoxIcon.Exclamation); Global.PopupBox("Esta credencial já está associada a um usuário e não pode ser vinculada!", 4); return(false); } else // atualizar credencial { if (veiculoCredencial.LayoutCrachaGUID != "") { BadgeTemplate _BadgeTemplate = _sdk.GetEntity(new Guid(veiculoCredencial.LayoutCrachaGUID)) as BadgeTemplate; _credencial.BadgeTemplate = _BadgeTemplate.Guid; _credencial.ActivationMode = new SpecificActivationPeriod(DateTime.Now, _DataValidade); } } } else //criar nova credencial { _sdk.TransactionManager.CreateTransaction(); _credencial = _sdk.CreateEntity("Credencial de " + _firstname, EntityType.Credential) as Credential; _credencial.Name = veiculoCredencial.NumeroCredencial + " - " + _firstname + " " + _lastname; _credencial.ActivationMode = new SpecificActivationPeriod(DateTime.Now, _DataValidade); if (veiculoCredencial.LayoutCrachaGUID != "") { BadgeTemplate _BadgeTemplate = _sdk.GetEntity(new Guid(veiculoCredencial.LayoutCrachaGUID)) as BadgeTemplate; _credencial.BadgeTemplate = _BadgeTemplate.Guid; } //0 N/D 00000000-0000-0000-0000-000000000000 //1 Standard - 26 bits 00000000-0000-0000-0000-000000000200 //2 H10302 - 37 bits 00000000-0000-0000-0000-000000000400 //3 H10304 - 37 bits 00000000-0000-0000-0000-000000000500 //4 H10306 - 34 bits 00000000-0000-0000-0000-000000000300 //5 HID Corporate 1000 - 35 bits 00000000-0000-0000-0000-000000000600 //6 HID Corporate 1000 - 48 bits 00000000-0000-0000-0000-000000000800 //7 CSN 00000000-0000-0000-0000-000000000700 switch (veiculoCredencial.FormatIDGUID) { case "00000000-0000-0000-0000-000000000200": _credencial.Format = new WiegandStandardCredentialFormat(Convert.ToInt32(veiculoCredencial.FC), Convert.ToInt32(veiculoCredencial.NumeroCredencial)); break; case "00000000-0000-0000-0000-000000000400": _credencial.Format = new WiegandH10302CredentialFormat(Convert.ToInt32(veiculoCredencial.NumeroCredencial)); break; case "00000000-0000-0000-0000-000000000500": _credencial.Format = new WiegandH10304CredentialFormat(Convert.ToInt32(veiculoCredencial.FC), Convert.ToInt32(veiculoCredencial.NumeroCredencial)); break; case "00000000-0000-0000-0000-000000000300": _credencial.Format = new WiegandH10306CredentialFormat(Convert.ToInt32(veiculoCredencial.FC), Convert.ToInt32(veiculoCredencial.NumeroCredencial)); break; case "00000000-0000-0000-0000-000000000600": _credencial.Format = new WiegandCorporate1000CredentialFormat(Convert.ToInt32(veiculoCredencial.FC), Convert.ToInt32(veiculoCredencial.NumeroCredencial)); break; case "00000000-0000-0000-0000-000000000800": _credencial.Format = new Wiegand48BitCorporate1000CredentialFormat(Convert.ToInt32(veiculoCredencial.FC), Convert.ToInt32(veiculoCredencial.NumeroCredencial)); break; case "00000000-0000-0000-0000-000000000700": CustomCredentialFormat mifareCSN; SystemConfiguration sysConfig = _sdk.GetEntity(SdkGuids.SystemConfiguration) as SystemConfiguration; if (sysConfig != null) { foreach (CredentialFormat cardFormat in sysConfig.CredentialFormats) { if (cardFormat.Name == "CSN") { mifareCSN = cardFormat as CustomCredentialFormat; mifareCSN.SetValues(long.Parse(veiculoCredencial.NumeroCredencial)); _credencial.Format = mifareCSN; break; } // } } break; } //if (_credencial.Format != null) //{ _credencial.InsertIntoPartition(Partition.DefaultPartitionGuid); _cardholder.Credentials.Add(_credencial); //} _sdk.TransactionManager.CommitTransaction(); } veiculoCredencial.CredencialGuid = _credencial.Guid; } catch (Exception ex) { return(false); } } return(true); } catch (Exception ex) { return(false); } }
// Update is called once per frame void Update() { if (xcord < 0) { xcord = 0; } if (xcord >= visibleColumns) { xcord = visibleColumns - 1; } if (ycord < 0) { ycord = 0; } if (ycord >= visibleRows) { ycord = visibleRows - 1; } cursor.transform.position = transform.position + new Vector3(Screen.width * (itemXOffset * xcord - initialXOffset), Screen.height * (-itemYOffset * ycord - initialYOffset), 0); int itemIdx = ycord * visibleColumns + xcord; if (itemIdx < badgeList.Count) { BadgeTemplate badge = BadgeMapping.badgeMap[badgeList[itemIdx]].GetComponent <BadgeTemplate>(); string itemName = badge.name; string itemDescription = badge.itemDescription; descriptionText.text = itemName + ": " + itemDescription; if (controls.OverworldControls.MainAction.triggered) { if (movementDelay > 0.25) { if (!GameDataTracker.playerData.EquipedEquipmentID[badgeList[itemIdx]]) { if (GameDataTracker.playerData.CurrentBadgePoints > badge.badgeCost) { GameDataTracker.playerData.EquipedEquipmentID[badgeList[itemIdx]] = !GameDataTracker.playerData.EquipedEquipmentID[badgeList[itemIdx]]; gameObjectRow[ycord][xcord].GetComponent <Image>().color = new Color32(255, 255, 255, 255); badge.OnEquip(); GameDataTracker.playerData.CurrentBadgePoints -= badge.badgeCost; UpdateEconomyText(); } } else { GameDataTracker.playerData.EquipedEquipmentID[badgeList[itemIdx]] = !GameDataTracker.playerData.EquipedEquipmentID[badgeList[itemIdx]]; gameObjectRow[ycord][xcord].GetComponent <Image>().color = new Color32(125, 125, 125, 125); badge.OnUnequip(); GameDataTracker.playerData.CurrentBadgePoints += badge.badgeCost; UpdateEconomyText(); } movementDelay = 0; } } } else { descriptionText.text = "Empty Pocket"; } Vector2 thumbstick_values = controls.OverworldControls.Movement.ReadValue <Vector2>(); float xPress = thumbstick_values[0]; float yPress = thumbstick_values[1]; movementDelay += Time.unscaledDeltaTime; //Debug.Log(movementDelay); //Debug.Log(xPress); //Debug.Log(yPress); if (movementDelay > 0.25) { if (xPress > 0.5) { xcord += 1; movementDelay = 0; } if (xPress < -0.5) { xcord -= 1; movementDelay = 0; } if (yPress < -0.5) { ycord += 1; movementDelay = 0; } if (yPress > 0.5) { ycord -= 1; movementDelay = 0; } } }