xamarin / SicpaXamDevice / trunk / Sicpa.Xam.Device.Droid / Rfid / Agrident / AgridentReceiver.cs @ 4
Historique | Voir | Annoter | Télécharger (1,742 ko)
1 |
using Android.Content; |
---|---|
2 |
using Sicpa.Xam.Device.Forms.Models; |
3 |
using System; |
4 |
|
5 |
|
6 |
namespace Sicpa.Xam.Device.Droid.Rfid.Agrident |
7 |
{ |
8 |
public class AgridentReceiver : BroadcastReceiver |
9 |
{ |
10 |
public EventHandler<InfosRfid> TagLuReceiver; |
11 |
public override void OnReceive(Context context, Intent intent) |
12 |
{ |
13 |
if (intent.Action.Equals(AgridentConstantes.LECTURE_TAG_REUSSI)) |
14 |
{ |
15 |
//on récupère la string DONNEE_LU de l'intent |
16 |
string tmpDonnee = intent.GetStringExtra(AgridentConstantes.DONNEE_LUE); |
17 |
//ici on met en forme toutes les informations qui doivent êtres contenu dans la classe RfidInfos |
18 |
string tmpIsoRfid = tmpDonnee.Substring(1, 15); |
19 |
string tmpCodePays = tmpDonnee.Substring(1, 3); |
20 |
string tmpdNumAnimal = tmpDonnee.Substring(4, 12); |
21 |
string tmpTypeTag = ""; |
22 |
string tmpIsoEtendu = tmpDonnee; |
23 |
string tmpCodeEtendu = tmpDonnee.Substring(0, 1); |
24 |
bool tmpTagLu = true; |
25 |
//on met toutes ces infos dans une variable qui sera passée à l'événement |
26 |
var infosEvent = new InfosRfid() { IsoRfid = tmpIsoRfid, CodePays = tmpCodePays, NumeroAnimal = tmpdNumAnimal, TypeTag = tmpTypeTag, IsoEtendu = tmpIsoEtendu, CodeEtendu = tmpCodeEtendu, TagLu = tmpTagLu }; |
27 |
|
28 |
TagLuReceiver?.Invoke(this, infosEvent); |
29 |
} |
30 |
else |
31 |
{ |
32 |
var infosEvent = new InfosRfid() { IsoRfid = "No Tag", CodePays = "", NumeroAnimal = "", TypeTag = "", IsoEtendu = "", CodeEtendu = "", TagLu = false }; |
33 |
TagLuReceiver?.Invoke(this, infosEvent); |
34 |
} |
35 |
|
36 |
} |
37 |
} |
38 |
} |