// Inserimento di un dettaglio d'ordine. private void query() { DETTAGLIODORDINE dettaglioGiacenza = new DETTAGLIODORDINE { IDordine = this.ordine.IDordine, PRODOTTO = (PRODOTTO)this.comboBox.SelectedValue, quantità = Convert.ToInt32(this.textBoxQuantita.Text) }; db.DETTAGLIODORDINE.InsertOnSubmit(dettaglioGiacenza); // Update del prezzo dell'ordine all'inserimento di un nuovo dettaglio var ordineCorrente = ( from ord in db.ORDINE where ord.IDordine == this.ordine.IDordine select ord).Single(); ordineCorrente.prezzo += dettaglioGiacenza.PRODOTTO.prezzo * dettaglioGiacenza.quantità; try { db.SubmitChanges(); } catch (System.Data.Linq.DuplicateKeyException e) { db.DETTAGLIODORDINE.DeleteOnSubmit(dettaglioGiacenza); ordineCorrente.prezzo -= dettaglioGiacenza.PRODOTTO.prezzo * dettaglioGiacenza.quantità; db.SubmitChanges(); MessageBox.Show("Hai già inserito questo dettaglio d'ordine nell'ordine!"); } catch (Exception e) { db.DETTAGLIODORDINE.DeleteOnSubmit(dettaglioGiacenza); ordineCorrente.prezzo -= dettaglioGiacenza.PRODOTTO.prezzo * dettaglioGiacenza.quantità; db.SubmitChanges(); MessageBox.Show(e.GetType().ToString()); } }
partial void DeleteDETTAGLIODORDINE(DETTAGLIODORDINE instance);
partial void UpdateDETTAGLIODORDINE(DETTAGLIODORDINE instance);
partial void InsertDETTAGLIODORDINE(DETTAGLIODORDINE instance);
private void detach_DETTAGLIODORDINE(DETTAGLIODORDINE entity) { this.SendPropertyChanging(); entity.PRODOTTO = null; }
private void attach_DETTAGLIODORDINE(DETTAGLIODORDINE entity) { this.SendPropertyChanging(); entity.ORDINE = this; }