private void InserisciRichiesta_Click(object sender, EventArgs e)
        {
            using (EditingDialog editDialog = new EditingDialog())
            {
                editDialog.SetEditableType((typeof(RichiestaDiLavoro)));
                if (editDialog.ShowDialog() == DialogResult.OK)
                {
                    String   nome = String.Empty, cognome = String.Empty, codiceFiscale = String.Empty, Email = String.Empty, via = String.Empty;
                    ulong    telefono = 0;
                    DateTime nascita  = new DateTime();

                    foreach (KeyValuePair <PropertyInfo, object> tb in editDialog.RequisitiControl.Properties)
                    {
                        if (tb.Key.Name == ("Nome"))
                        {
                            nome = (string)tb.Value;
                        }
                        if (tb.Key.Name == "Cognome")
                        {
                            cognome = (string)tb.Value;
                        }
                        if (tb.Key.Name == "Email")
                        {
                            Email = (string)tb.Value;
                        }
                        if (tb.Key.Name == "Telefono")
                        {
                            telefono = (ulong)tb.Value;
                        }
                        if (tb.Key.Name == "CodiceFiscale")
                        {
                            codiceFiscale = (string)tb.Value;
                        }
                        if (tb.Key.Name == "Indirizzo")
                        {
                            via = (string)tb.Value;
                        }
                        if (tb.Key.Name == "DataDiNascita")
                        {
                            nascita = (DateTime)tb.Value;
                        }
                    }
                    DocumentoGenerico d = DocumentoFactory.CreateRichiestaDiLavoro(
                        nome, cognome, nascita, telefono, Email, codiceFiscale, via);
                    foreach (RequisitoPersonale rp in editDialog.Requisiti)
                    {
                        d.AggiungiRequisito(rp);
                    }
                    Archivio.GetInstance().AggiungiDocumento(d);
                }
            }
        }
        private void InserisciOfferta_Click(object sender, EventArgs e)
        {
            using (EditingDialog editDialog = new EditingDialog())
            {
                editDialog.SetEditableType((typeof(OffertaDiLavoro)));
                if (editDialog.ShowDialog() == DialogResult.OK)
                {
                    String nomeAzienda = String.Empty, Descrizione = String.Empty, TipoContratto = String.Empty, Email = String.Empty;
                    int    PostiDisponibili = 0;

                    foreach (KeyValuePair <PropertyInfo, object> tb in editDialog.RequisitiControl.Properties)
                    {
                        if (tb.Key.Name == ("NomeAzienda"))
                        {
                            nomeAzienda = (string)tb.Value;
                        }
                        if (tb.Key.Name == "PostiDisponibili")
                        {
                            PostiDisponibili = (int)tb.Value;
                        }
                        if (tb.Key.Name == "Descrizione")
                        {
                            Descrizione = (string)tb.Value;
                        }
                        if (tb.Key.Name == "TipoContratto")
                        {
                            TipoContratto = (string)tb.Value;
                        }
                        if (tb.Key.Name == "Email")
                        {
                            Email = (string)tb.Value;
                        }
                    }

                    DocumentoGenerico d = DocumentoFactory.CreateOffertaDiLavoro(
                        nomeAzienda, PostiDisponibili, Descrizione, TipoContratto, Email);
                    foreach (RequisitoPersonale rp in editDialog.Requisiti)
                    {
                        d.AggiungiRequisito(rp);
                    }
                    Archivio.GetInstance().AggiungiDocumento(d);
                }
            }
        }