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