Пример #1
0
 private void qrReader_OnCodeDecoded(object sender, EventArgs e)
 {
     string myCode = qrReader.Code;
     if (!string.IsNullOrEmpty(myCode))
     {
         Guid uniqueCode;
         try
         {
             lblDescrizione.Text = string.Empty;
             uniqueCode = new Guid(myCode);
         }
         catch
         {
             lblDescrizione.Text = "Cartellino non valido"; //Se il codice è un codice ad cazzum, non un GUID, è ovviamente un QR Code sbagliato
             return;
         }
         SostanzeManager manager = new SostanzeManager(DatabaseContext);
         NewSostanze sostanza = manager.GetSubstanceFromQRCode(uniqueCode);
         if (sostanza == null)
         {
             lblDescrizione.Text = "Non è un cartellino sostanza";
         }
         else
         {
             txtElencoIngredienti.Text += sostanza.Nome + "\r\n";
             hidField.Value += sostanza.Progressivo + ";";
             lblDescrizione.Text = "Ingrediente inserito";
             btnCrea.Enabled = true;
         }
     }
 }
Пример #2
0
 private void btnAggiungi_Click(object sender, EventArgs e)
 {
     if (lstComponenti.SelectedItems.Count > 0)
     {
         DialogResult res = MessageBox.Show("Vuoi aggiungere questo elemento alla lista degli ingredienti?", "Sei sicuro?", MessageBoxButtons.YesNo);
         if (res == System.Windows.Forms.DialogResult.Yes)
         {
             using (context = CreateDatabaseContext())
             {
                 long progressivoOggetto = (long)lstComponenti.SelectedValue;
                 SostanzeManager manager = new SostanzeManager(context);
                 bool res2 = manager.AddComponentToSubstance(progressivoOggettoPadre, progressivoOggetto);
                 if (res2)
                 {
                     context.SaveChanges();
                     this.Close();
                 }
                 else
                 {
                     MessageBox.Show("C'è stato un errore, chiedi allo Zeno");
                 }
             }
         }
     }
 }
Пример #3
0
 public override void LoadData()
 {
     using (databaseContext = CreateDatabaseContext())
     {
         SostanzeManager manager = new SostanzeManager(databaseContext);
         cmbTipoSostanza.DataSource = manager.GetSubstancesTypes();
     }
 }
Пример #4
0
 private void lstComponenti_SelectedValueChanged(object sender, EventArgs e)
 {
     if (lstComponenti.SelectedItems.Count > 0)
     {
         long progressivoOggetto = (long)lstComponenti.SelectedValue;
         using (context = CreateDatabaseContext())
         {
             SostanzeManager manager = new SostanzeManager(context);
             txtEffetto.Text = manager.GetEffectOfSubstance(progressivoOggetto) + "\n Valore di efficacia: " + manager.GetEffectValueOfSubstance(progressivoOggetto);
         }
     }
 }
 void qrReader_OnCodeDecoded(object sender, EventArgs e)
 {
     string myCode = qrReader.Code;
     svuotaControlli();
     if (!string.IsNullOrEmpty(myCode))
     {
         Guid uniqueCode;
         try
         {
             uniqueCode = new Guid(myCode);
         }
         catch
         {
             lblDescrizione.Text = "Cartellino non valido"; //Se il codice è un codice ad cazzum, non un GUID, è ovviamente un QR Code sbagliato
             return;
         }
         SostanzeManager manager = new SostanzeManager(DatabaseContext);
         NewSostanze myItem = manager.GetSubstanceFromQRCode(uniqueCode);
         if (myItem == null)
         {
             lblDescrizione.Text = "Non è un cartellino di un composto";
             return;
         }
         if (myItem.Tipo == 0 || myItem.Tipo == 1)
         {
             lblNome.Text = myItem.Nome;
             if (!string.IsNullOrWhiteSpace(myItem.Descrizione))
             {
                 lblDescrizione.Text = myItem.Descrizione.Replace("\r", "<br />");
             }
             if (!string.IsNullOrWhiteSpace(myItem.Effetto))
             {
                 lblEffetto.Text = myItem.Effetto.Replace("\r", "<br />");
             }
             lblData.Text = myItem.DataScadenza.HasValue ? myItem.DataScadenza.Value.ToString("dd/MM/yyyy") : string.Empty;
             lblCosto.Text = myItem.Costo.ToString();
             lblEfficacia.Text = myItem.ValoreEfficacia.ToString();
             lblTipo.Text = myItem.TipoSostanze.Descrizione;
             lblModoUso.Text = myItem.ModoUso;
             if (!string.IsNullOrWhiteSpace(myItem.Immagine))
             {
                 imgOggetto.Visible = true;
                 imgOggetto.ImageUrl = myItem.Immagine;
             }
         }
         else
         {
             lblDescrizione.Text = "La sostanza non è nè un ingrediente nè un medicinale (forse tossina o droga?)";
         }
     }
 }
Пример #6
0
 public InsertSostanza(long itemToEdit)
     : this()
 {
     originalItem = itemToEdit;
     using (databaseContext = CreateDatabaseContext())
     {
         SostanzeManager manager = new SostanzeManager(databaseContext);
         NewSostanze original = manager.GetSubstanceFromNumber(itemToEdit);
         txtNome.Text = original.Nome;
         txtDescrizione.Text = original.Descrizione;
         txtEffetto.Text = original.Effetto;
         mstxCosto.Text = original.Costo.ToString();
         mstxEfficacia.Text = original.ValoreEfficacia.ToString();
         cmbDisponibilita.SelectedValue = original.Disponibilita;
         cmbTipo.SelectedValue = original.Tipo;
         cmbModoUso.SelectedItem = original.ModoUso;
         calScadenza.SelectionStart = calScadenza.SelectionEnd = original.DataScadenza.HasValue ? original.DataScadenza.Value : DateTime.Today;
     }
 }
Пример #7
0
        private void btnSalva_Click(object sender, EventArgs e)
        {
            if (validateForm())
            {
                using (databaseContext = CreateDatabaseContext())
                {
                    SostanzeManager manager = new SostanzeManager(databaseContext);
                    float costo = float.Parse(mstxCosto.Text);
                    int efficacia = 0;
                    if (!string.IsNullOrWhiteSpace(mstxEfficacia.Text))
                    {
                        efficacia = int.Parse(mstxEfficacia.Text);
                    }
                    DateTime? selectedDate = null;
                    if (calScadenza.SelectionStart > DateTime.Today)
                    {
                        selectedDate = calScadenza.SelectionStart;
                    }

                    bool res = false;
                    if (IsCloning)
                    {
                        res = manager.CloneItem(originalItem.Value, txtNome.Text.Trim(), txtDescrizione.Text.Trim(), txtEffetto.Text.Trim(), null, costo, (long)cmbDisponibilita.SelectedValue, selectedDate, cmbModoUso.SelectedValue.ToString(), (long)cmbTipo.SelectedValue, efficacia);
                    }
                    else
                    {
                        res = manager.SaveSubstance(originalItem, txtNome.Text.Trim(), txtDescrizione.Text.Trim(), txtEffetto.Text.Trim(), null, costo, (long)cmbDisponibilita.SelectedValue, selectedDate, cmbModoUso.SelectedValue.ToString(), (long)cmbTipo.SelectedValue, efficacia);
                    }
                    if (res)
                    {
                        databaseContext.SaveChanges();
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("Errore durante il salvataggio, ricontrollare i dati inseriti");
                    }
                }
            }
        }
Пример #8
0
 private void btnEliminaComponente_Click(object sender, EventArgs e)
 {
     if (grdIngredienti.SelectedRows.Count == 1)
     {
         long progressivoOggetto = (long)grdSostanze.SelectedRows[0].Cells["Progressivo"].Value;
         long numeroIngrediente = (long)grdIngredienti.SelectedRows[0].Cells["NumeroIngrediente"].Value;
         using (databaseContext = CreateDatabaseContext())
         {
             SostanzeManager manager = new SostanzeManager(databaseContext);
             bool res = manager.RemoveComponentFromSubstance(progressivoOggetto, numeroIngrediente);
             if (res)
             {
                 databaseContext.SaveChanges();
                 LoadComponentsGrid();
             }
             else
             {
                 MessageBox.Show("Errore durante l'eliminazione");
             }
         }
     }
 }
Пример #9
0
 private void txtSearch_TextChanged(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(txtSearch.Text))
     {
         string text = txtSearch.Text;
         long tipo = (long)cmbTipoSostanza.SelectedValue;
         using (databaseContext = CreateDatabaseContext())
         {
             SostanzeManager manager = new SostanzeManager(databaseContext);
             grdSostanze.DataSource = manager.GetSubstancesFromText(text, tipo);
         }
     }
     else
     {
         LoadSubstancesGrid();
     }
 }
Пример #10
0
 private void LoadSubstancesGrid()
 {
     if (cmbTipoSostanza.SelectedValue != null)
     {
         long tipoSostanze = (long)cmbTipoSostanza.SelectedValue;
         using (databaseContext = CreateDatabaseContext())
         {
             SostanzeManager manager = new SostanzeManager(databaseContext);
             //var sostanze = manager.GetPagedSubstancesList(startPage, pageSize);
             var sostanze = manager.GetPagedSubstancesList(startPage, pageSize, tipoSostanze);
             grdSostanze.DataSource = sostanze;
         }
     }
 }
Пример #11
0
 private void LoadComponentsGrid()
 {
     if (grdSostanze.SelectedRows.Count == 1)
     {
         long progressivo = (long)(grdSostanze.SelectedRows[0].Cells["Progressivo"].Value);
         using (databaseContext = CreateDatabaseContext())
         {
             SostanzeManager manager = new SostanzeManager(databaseContext);
             grdIngredienti.DataSource = manager.GetComponentsBySubstance(progressivo);
         }
     }
     else
     {
         grdIngredienti.DataSource = null;
     }
 }
Пример #12
0
 private void lnkNext_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
 {
     using (databaseContext = CreateDatabaseContext())
     {
         SostanzeManager manager = new SostanzeManager(databaseContext);
         int max = manager.Count();
         startPage += 50;
         if (startPage >= max)
         {
             startPage = max - 50;
             if (startPage < 0)
             {
                 startPage = 0;
             }
         }
     }
     LoadSubstancesGrid();
 }
Пример #13
0
 private void btnStampa_Click(object sender, EventArgs e)
 {
     Cursor.Current = Cursors.WaitCursor;
     if (grdSostanze.SelectedRows.Count > 0)
     {
         FolderBrowserDialog selectFolder = new FolderBrowserDialog();
         var res = selectFolder.ShowDialog();
         if (res == DialogResult.OK)
         {
             string path = selectFolder.SelectedPath;
             long tipoSostanze = (long)cmbTipoSostanza.SelectedValue;
             using (databaseContext = CreateDatabaseContext())
             {
                 SostanzeManager manager = new SostanzeManager(databaseContext);
                 List<long> indexes = new List<long>();
                 for (int i = 0; i < grdSostanze.SelectedRows.Count; i++)
                 {
                     indexes.Add((long)grdSostanze.SelectedRows[i].Cells["Progressivo"].Value);
                 }
                 List<NewSostanze> itemsToPrint = manager.GetSubstancesFromNumbers(indexes).ToList<NewSostanze>();
                 if (itemsToPrint.Count == 1 && chkMultiplePrint.Checked)
                 {
                     for (int i = 1; i < 10; i++)
                     {
                         itemsToPrint.Add(itemsToPrint[0]);
                     }
                 }
                 if (tipoSostanze == 0)
                 {
                     CartelliniIngredienti cartellini = new CartelliniIngredienti(path + @"\" + DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + "-" + DateTime.Now.Hour + "-" + DateTime.Now.Minute + "-" + DateTime.Now.Second + ".pdf", itemsToPrint);
                     cartellini.Save();
                 }
                 else
                 {
                     CartelliniSostanze cartellini = new CartelliniSostanze(path + @"\" + DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + "-" + DateTime.Now.Hour + "-" + DateTime.Now.Minute + "-" + DateTime.Now.Second + ".pdf", itemsToPrint);
                     cartellini.Save();
                 }
             }
             MessageBox.Show("Stampa avvenuta");
             OpenFolder(path);
         }
     }
     Cursor.Current = Cursors.Default;
 }
Пример #14
0
 private void LoadSelectedType()
 {
     if (radItem.Checked)
     {
         using (context = CreateDatabaseContext())
         {
             OggettiManager manager = new OggettiManager(context);
             cmbTipo.DisplayMember = "Descrizione";
             cmbTipo.ValueMember = "Progressivo";
             cmbTipo.DataSource = manager.GetItemTypes();
         }
     }
     else
     {
         using (context = CreateDatabaseContext())
         {
             SostanzeManager manager = new SostanzeManager(context);
             cmbTipo.DisplayMember = "Descrizione";
             cmbTipo.ValueMember = "Progressivo";
             cmbTipo.DataSource = manager.GetSubstancesTypes();
         }
     }
 }
Пример #15
0
 private void Timer1_Tick(object sender, EventArgs e)
 {
     Timer1.Enabled = false;
     string[] ingredientiLetti = hidField.Value.Split(';');
     List<long?> progressiviIngredienti = new List<long?>();
     for (int i = 0; i < ingredientiLetti.Length; i++)
     {
         if (!string.IsNullOrWhiteSpace(ingredientiLetti[i]))
         {
             long progressivo = long.Parse(ingredientiLetti[i]);
             progressiviIngredienti.Add(progressivo);
         }
     }
     SostanzeManager manager = new SostanzeManager(DatabaseContext);
     NewSostanze sostanza = manager.GetSubstanceFromListOfComponents(progressiviIngredienti);
     ElaborazioneViews.SetActiveView(viewRisultato);
     if (sostanza != null)
     {
         if (sostanza.Tipo == 0 || sostanza.Tipo == 1)
         {
             lblNome.Text = sostanza.Nome;
             if (!string.IsNullOrWhiteSpace(sostanza.Descrizione))
             {
                 lblDescrizione.Text = sostanza.Descrizione.Replace("\r", "<br />");
             }
             if (!string.IsNullOrWhiteSpace(sostanza.Effetto))
             {
                 lblEffetto.Text = sostanza.Effetto.Replace("\r", "<br />");
             }
             lblData.Text = sostanza.DataScadenza.HasValue ? sostanza.DataScadenza.Value.ToString("dd/MM/yyyy") : string.Empty;
             lblCosto.Text = sostanza.Costo.ToString();
             lblEfficacia.Text = sostanza.ValoreEfficacia.ToString();
             lblTipo.Text = sostanza.TipoSostanze.Descrizione;
             lblModoUso.Text = sostanza.ModoUso;
             if (!string.IsNullOrWhiteSpace(sostanza.Immagine))
             {
                 imgOggetto.Visible = true;
                 imgOggetto.ImageUrl = sostanza.Immagine;
             }
             btnCrea.Enabled = false;
         }
         else
         {
             resetResults();
             ElaborazioneViews.SetActiveView(viewAttesa);
             lblDescrizione.Text = "Gli ingredienti inseriti non hanno dato un risultato";
         }
     }
     else
     {
         resetResults();
         ElaborazioneViews.SetActiveView(viewAttesa);
         lblDescrizione.Text = "Gli ingredienti inseriti non hanno dato un risultato";
     }
 }
Пример #16
0
 private void PopulateList()
 {
     if (cmbTipoSostanza.SelectedValue != null)
     {
         long tipoSostanza = (long)cmbTipoSostanza.SelectedValue;
         using (context = CreateDatabaseContext())
         {
             SostanzeManager manager = new SostanzeManager(context);
             lstComponenti.ValueMember = "Progressivo";
             lstComponenti.DisplayMember = "Nome";
             lstComponenti.DataSource = manager.GetSubstancesForCombo(tipoSostanza);
         }
     }
 }
Пример #17
0
 private void PopulateCombo()
 {
     using (context = CreateDatabaseContext())
     {
         SostanzeManager manager = new SostanzeManager(context);
         cmbTipoSostanza.DataSource = manager.GetSubstancesTypes();
     }
 }