Пример #1
0
        // Query D2: Aggiunta di un nuovo dipendente.
        private void queryD2()
        {
            DIPENDENTE dipendente = new DIPENDENTE
            {
                CODfiscale = textBoxInsDipCodFis.Text,
                nome = textBoxInsDipNome.Text,
                cognome = textBoxInsDipCognome.Text,
                tipo = ((tipoDipendenti)comboBoxInsDipTipoDip.SelectedValue).ToString()
            };
            Regex r = new Regex("[a-z]{6}[0-9]{2}[a-z][0-9]{2}[a-z][0-9]{3}[a-z]{1}", RegexOptions.Compiled | RegexOptions.IgnoreCase);

            if (this.textBoxInsDipCodFis.Text.Length != 16 || !r.IsMatch(this.textBoxInsDipCodFis.Text, 0))
            {
                MessageBox.Show("Codice fiscale non valido. Es: RSSMRA85T10A562S");
                return;
            }
            switch ((tipoDipendenti)comboBoxInsDipTipoDip.SelectedValue)
            {
                case tipoDipendenti.venditore:
                    break;
                case tipoDipendenti.dirigente:
                    dipendente.datainizio = dateTimePickerInsDipInizio.Value;
                    dipendente.datafine = dateTimePickerInsDipFine.Value;
                    if (dipendente.datainizio > dipendente.datafine)
                    {
                        MessageBox.Show("La data di inizio deve essere inferiore della data di fine");
                        return;
                    }
                    break;
                case tipoDipendenti.rappresentante:
                    dipendente.numeroclienti = 0;
                    dipendente.commissione = (float)numericUpDownInsDipCommissione.Value;
                    break;
                case tipoDipendenti.magazziniere:
                    dipendente.orelavorate = 0;
                    dipendente.pagaoraria = (float)numericUpDownInsDipPagaOraria.Value;
                    dipendente.MAGAZZINO = (MAGAZZINO)comboBoxInsDipMagazzino.SelectedValue;
                    break;
            }

            db.DIPENDENTE.InsertOnSubmit(dipendente);
            try
            {
                db.SubmitChanges();
            }
            catch (System.Data.Linq.DuplicateKeyException e)
            {
                db.DIPENDENTE.DeleteOnSubmit(dipendente);
                db.SubmitChanges();
                MessageBox.Show("Hai già inserito questo dipendente");
            }
            catch (Exception e)
            {
                db.DIPENDENTE.DeleteOnSubmit(dipendente);
                db.SubmitChanges();
                MessageBox.Show(e.GetType().ToString());
            }

            queryD1();
        }
 partial void DeleteDIPENDENTE(DIPENDENTE instance);
 partial void InsertDIPENDENTE(DIPENDENTE instance);
 partial void UpdateDIPENDENTE(DIPENDENTE instance);
		private void detach_DIPENDENTE(DIPENDENTE entity)
		{
			this.SendPropertyChanging();
			entity.MAGAZZINO = null;
		}