Beispiel #1
0
        public IEnumerable <NewSostanze> GetSubstancesFromNumbers(List <long> progressivi)
        {
            var substances = (from items in context.NewElementis
                              where progressivi.Contains(items.Progressivo)
                              orderby items.Nome
                              select items).OfType <NewSostanze>();

            foreach (var sostanza in substances)
            {
                int codesAvailable = sostanza.CodiciQrs.Count;
                if (codesAvailable < 10)
                {
                    for (int i = 0; i < 10; i++)
                    {
                        CodiciQr codeToCheck = sostanza.CodiciQrs.Skip(i).FirstOrDefault();
                        if (codeToCheck == null)
                        {
                            codeToCheck        = new CodiciQr();
                            codeToCheck.Codice = Guid.NewGuid();
                            sostanza.CodiciQrs.Add(codeToCheck);
                        }
                    }
                    context.SaveChanges();
                }
            }

            return(substances);
        }
Beispiel #2
0
 public bool SaveNewSubstance(string nome, string desc, string effetto, string urlImmagine, float costo, long disponibilita, DateTime?scadenza, string modoUso, long tipoSostanza, long valoreEfficacia)
 {
     try
     {
         //creo l'oggetto
         NewSostanze newItem = new NewSostanze();
         newItem.Costo           = costo;
         newItem.DataScadenza    = scadenza;
         newItem.Descrizione     = desc;
         newItem.Disponibilita   = disponibilita;
         newItem.Effetto         = effetto;
         newItem.Immagine        = urlImmagine;
         newItem.Nome            = nome;
         newItem.ModoUso         = modoUso;
         newItem.ValoreEfficacia = valoreEfficacia;
         newItem.Tipo            = tipoSostanza;
         //ora creo i dieci GUID che servono a fare i QR differenziati
         for (int i = 0; i < 10; i++)
         {
             CodiciQr codice = new CodiciQr();
             codice.Codice = Guid.NewGuid();
             newItem.CodiciQrs.Add(codice);
         }
         context.AddToNewElementis(newItem);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Beispiel #3
0
 public bool SaveNewItem(string nome, string desc, string effetto, string urlImmagine, float costo, long disponibilita, DateTime?scadenza, int?numeroCariche, long tipoOggetto)
 {
     try
     {
         //creo l'oggetto
         NewOggetti newItem = new NewOggetti();
         newItem.Costo         = costo;
         newItem.DataScadenza  = scadenza;
         newItem.Descrizione   = desc;
         newItem.Disponibilita = disponibilita;
         newItem.Effetto       = effetto;
         newItem.Immagine      = urlImmagine;
         newItem.Nome          = nome;
         newItem.NumeroCariche = numeroCariche;
         newItem.Tipo          = tipoOggetto;
         //ora creo i dieci GUID che servono a fare i QR differenziati
         for (int i = 0; i < 10; i++)
         {
             CodiciQr codice = new CodiciQr();
             codice.Codice = Guid.NewGuid();
             newItem.CodiciQrs.Add(codice);
         }
         context.AddToNewElementis(newItem);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Beispiel #4
0
        protected override iTextSharp.text.pdf.PdfPCell AddFrontRowRightItem <T>(T item)
        {
            NewSostanze sostanza = item as NewSostanze;
            PdfPCell    cella    = NewBorderedCell();

            cella.HorizontalAlignment = Element.ALIGN_CENTER;

            //----INDICAZIONE CHE E' UN CARTELLINO SOSTANZA
            Paragraph par = new Paragraph("CARTELLINO SOSTANZA", boldfontlarge);

            par.Alignment           = Element.ALIGN_CENTER;
            par.ExtraParagraphSpace = 5;
            cella.AddElement(par);

            //----CODICE QR
            int      codesAvailable = sostanza.CodiciQrs.Count;
            int      codeSelected   = rand.Next(codesAvailable);
            CodiciQr codice         = sostanza.CodiciQrs.Skip(codeSelected).FirstOrDefault();

            Guid  codiceUnico = codice.Codice;
            Image qrCode      = Image.GetInstance(CodeManager.GetPictureFromGuid(codiceUnico), BaseColor.WHITE);

            qrCode.Alignment = Image.ALIGN_CENTER;
            qrCode.ScalePercent(60, 60);
            cella.AddElement(qrCode);

            //----MODO USO
            par           = new Paragraph(sostanza.ModoUso, boldfontlarge);
            par.Alignment = Element.ALIGN_CENTER;
            cella.AddElement(par);

            return(cella);
        }
Beispiel #5
0
 public bool CloneItem(long progressivo, string nome, string desc, string effetto, string urlImmagine, float costo, long disponibilita, DateTime?scadenza, string modoUso, long tipoSostanza, long valoreEfficacia)
 {
     try
     {
         //Creo l'oggetto nuovo (la clonatura in realtà è avvenuta in Form, qui "clono" solo i Componenti
         NewSostanze newItem = new NewSostanze();
         newItem.Costo           = costo;
         newItem.DataScadenza    = scadenza;
         newItem.Descrizione     = desc;
         newItem.Disponibilita   = disponibilita;
         newItem.Effetto         = effetto;
         newItem.Immagine        = urlImmagine;
         newItem.Nome            = nome;
         newItem.ModoUso         = modoUso;
         newItem.ValoreEfficacia = valoreEfficacia;
         newItem.Tipo            = tipoSostanza;
         context.AddToNewElementis(newItem);
         //Ora "clono" i componenti dall'oggetto originale
         IEnumerable <NewFormule> components = from componenti in context.NewFormules
                                               where componenti.Risultato == progressivo
                                               orderby componenti.NumeroIngrediente ascending
                                               select componenti;
         foreach (NewFormule singleComponent in components)
         {
             NewFormule newComponent = new NewFormule();
             newComponent.Ingrediente       = singleComponent.Ingrediente;
             newComponent.NumeroIngrediente = singleComponent.NumeroIngrediente;
             newItem.Componenti.Add(newComponent);
         }
         //ora creo i dieci GUID che servono a fare i QR differenziati
         for (int i = 0; i < 10; i++)
         {
             CodiciQr codice = new CodiciQr();
             codice.Codice = Guid.NewGuid();
             newItem.CodiciQrs.Add(codice);
         }
         context.AddToNewElementis(newItem);
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Beispiel #6
0
        protected override iTextSharp.text.pdf.PdfPCell AddRowLeftItem <T>(T item)
        {
            NewOggetti oggetto = item as NewOggetti;
            PdfPCell   cella   = NewBorderedCell();

            cella.HorizontalAlignment = Element.ALIGN_CENTER;

            Paragraph par = new Paragraph(oggetto.TipoOggetti.Descrizione, font);

            par.Alignment = Element.ALIGN_CENTER;
            cella.AddElement(par);

            par                     = new Paragraph(oggetto.Nome, boldFont);
            par.Alignment           = Element.ALIGN_CENTER;
            par.ExtraParagraphSpace = 5;
            cella.AddElement(par);

            //par = new Paragraph("==", normalFont);
            //par.Alignment = Element.ALIGN_CENTER;
            //cella.AddElement(par);

            int      codesAvailable = oggetto.CodiciQrs.Count;
            int      codeSelected   = rand.Next(codesAvailable);
            CodiciQr codice         = oggetto.CodiciQrs.Skip(codeSelected).FirstOrDefault();
            //Guid codiceUnico = (from codes in oggetto.CodiciQrs
            //                    where codes.Progressivo == codeSelected
            //                    select codes.Codice).FirstOrDefault();
            Guid  codiceUnico = codice.Codice;
            Image qrCode      = Image.GetInstance(CodeManager.GetPictureFromGuid(codiceUnico), BaseColor.WHITE);

            qrCode.Alignment = Image.ALIGN_CENTER;
            qrCode.ScalePercent(60, 60);
            cella.AddElement(qrCode);

            //----LOGO
            logo.ScalePercent(3, 3);
            cella.AddElement(logo);
            return(cella);
        }