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