Esempio n. 1
0
 protected void TimerTick(object sender, EventArgs e)
 {
     Timer1.Enabled = false;
     txtRisultato.Text = string.Empty;
     PageViews.SetActiveView(viewRisultato);
     Guid? uniqueCode = null;
     if (!string.IsNullOrWhiteSpace(qrReader.Code))
     {
         uniqueCode = new Guid(qrReader.Code);
     }
     PersonaggiManagerNew manager = new PersonaggiManagerNew(DatabaseContext);
     Personaggio characterFound = manager.GetCharacterByGUID(uniqueCode);
     if (characterFound != null)
     {
         if (characterFound.Infeziones.Count == 0)
         {
             txtRisultato.Text = "Il soggetto risulta essere sano e privo di infezioni";
         }
         else
         {
             foreach (var Infezione in characterFound.Infeziones)
             {
                 txtRisultato.Text += Infezione.Nome + ": " + Infezione.Descrizione + "\r\n";
             }
         }
     }
     else
     {
         txtRisultato.Text = "La sostanza analizzata non è sangue, perlomeno di nessuna specie conosciuta";
     }
 }
Esempio n. 2
0
 void qrReader_OnCodeDecoded(object sender, EventArgs e)
 {
     //Tenere a mente: questo sistema di login si basa sul riconoscimento di UN codice recuperato da un QR Code.
     //Quindi non occorre confrontare password o che altro, basta recuperare il personaggio associato a quel codice, e verificare
     //che appartenga alla fazione corretta.
     string myCode = qrReader.Code; //fase 1: prendo il codice letto dal plugin
     if (!string.IsNullOrEmpty(myCode))
     {
         Guid uniqueCode;
         try
         {
             uniqueCode = new Guid(myCode);
         }
         catch
         {
             lblErrorMessage.Text = "Cartellino non valido"; //Se il codice è un codice ad cazzum, non un GUID, è ovviamente un QR Code sbagliato
             return;
         }
         PersonaggiManagerNew manager = new PersonaggiManagerNew(this.DatabaseContext);
         Personaggio loggedCharacter = manager.GetCharacterByGUID(uniqueCode); //Cerco nel database un PG associato a quel GUID
         if (loggedCharacter == null)
         {
             lblErrorMessage.Text = "Cartellino non di login"; //Se non ho PG associati a quel GUID, non è un cartellino di login. Forse un medicinale o droga o oggetto.
             return;
         }
         string rete = Session["Rete"].ToString(); //recupero il codice della rete a cui ci si sta loggando
         if (string.IsNullOrWhiteSpace(rete))
         {
             rete = "0";
         }
         int numeroRete = int.Parse(rete.Trim());
         if (numeroRete == 0 || loggedCharacter.Fazione == numeroRete) //il login è valido se la rete è 0 (Holonet blu), o se il PG appartiene alla fazione dell'holonet specifica (1 = repubblica, 2 = impero, 3 = federazione)
         {
             HttpCookie cookie = Context.Request.Cookies["Personaggio"]; //popolo il cookie col suo numero PG
             if (cookie != null)
             {
                 cookie.Value = loggedCharacter.NumeroPG.ToString();
             }
             else
             {
                 Context.Response.Cookies.Add(new HttpCookie("Personaggio", loggedCharacter.NumeroPG.ToString()));
             }
             Session["Personaggio"] = loggedCharacter;
             Response.Redirect("~/Default.aspx"); //pagina di default con redirect al menu iniziale
         }
         else //Login non valido: non è l'Holonet blu, il personaggio esiste ma non fa parte della fazione.
         {
             Session["Personaggio"] = null;
             lblErrorMessage.Text = "Utente non autorizzato all'accesso";
         }
     }
 }