/// <summary> /// Löschen der Anlagendaten im Projekt und Einügen der Daten des aktuell ausgewählten Schiffes. /// </summary> /// <param name="s">Das Schiffsobjekt das ausgewählt wurde</param> /// <param name="blView">Die View in der die Anlagen angezeigt werden.</param> private void setSchiffAnlagen(schiff s, BindingListCollectionView blView) { int c = blView.Count - 1; for (int i = c; i >= 0; i--) { blView.RemoveAt(i); } var anl = from sa in db.SchiffAnlage where sa.id_Schiff == s.id select sa; foreach (var item in anl) { if (blView != null) { var agg = (projektAggregat)(blView.AddNew()); agg.id_aggregat = item.id_Anlage; agg.Kennzeichen = item.Kennzeichen; agg.Bemerkung = item.Bemerkung; blView.CommitNew(); } } }
private void AddSchiffAnlage(schiff s, string Kennzeichen, SteinbachEntities data) { var sa = new SchiffAnlage(); sa.id_Schiff = s.id; sa.id_Anlage = 1; sa.Kennzeichen = Kennzeichen; data.AddToSchiffAnlage(sa); }
private bool SaveChanges() { try { var om = this.db.ObjectStateManager.GetObjectStateEntries(System.Data.EntityState.Modified | System.Data.EntityState.Added); foreach (var o in om) { if (o.Entity is schiff) { var p = (schiff)o.Entity; if (p.imonummer == null || p.imonummer.Equals(string.Empty) || Regex.IsMatch(p.imonummer.ToString(), "\\D")) { MessageBox.Show("Bitte eine gültige Imonummer oder 0 eingeben."); return(false); } if (p.EntityState == System.Data.EntityState.Added) { bool KeyInUse = db.schiffe.Any(c => c.imonummer == p.imonummer && (c.imonummer != null && c.imonummer != 0)); if (KeyInUse) { var query = from s in db.schiffe where s.imonummer == p.imonummer && (s.imonummer != null && s.imonummer != 0) select s; schiff Schiff = query.FirstOrDefault(); MessageBox.Show(String.Format("Die Imonummer {0} wird schon benutzt von Schiff {1}, ID {2} .", p.imonummer, Schiff.name, Schiff.id)); return(false); } bool NameInUse = db.schiffe.Any(c => c.name == p.name); if (NameInUse) { var query = from s in db.schiffe where s.name == p.name select s; schiff Schiff = query.FirstOrDefault(); var Result = MessageBox.Show(String.Format("Der Name {0} wird schon benutzt von dem Schiff mit der Imonummer {1}, ID {2}. Trotzdem speichern ?", p.name, Schiff.imonummer, Schiff.id), "", MessageBoxButton.YesNo); if (Result == MessageBoxResult.Yes) { db.SaveChanges(); return(true); } else { return(false); } } } if (p.EntityState == System.Data.EntityState.Modified) { if (p.imonummer != 0) { object Tt = o.OriginalValues["name"]; //MessageBox.Show(Tt.ToString()); string sName = Tt.ToString(); var query = from s in db.schiffe where s.imonummer == p.imonummer && s.id != p.id select s; schiff Schiff = query.FirstOrDefault(); if (Schiff != null) { MessageBox.Show(String.Format("Änderung nicht möglich. Die Imonummer {0} wird schon benutzt von Schiff {1}, ID {2} .", p.imonummer, Schiff.name, Schiff.id)); return(false); } } var query1 = from s in db.schiffe where s.name == p.name && s.id != p.id select s; schiff Schiff1 = query1.FirstOrDefault(); if (Schiff1 != null) { var Result = MessageBox.Show(String.Format("Der Name {0} wird schon benutzt von dem Schiff mit der Imonummer {1}, ID {2}. Trotzdem speichern ?", p.name, Schiff1.imonummer, Schiff1.id), "", MessageBoxButton.YesNo); if (Result == MessageBoxResult.Yes) { db.SaveChanges(); return(true); } else { return(false); } } } } } db.SaveChanges(); // db.Dispose(); return(true); } catch (Exception ex) { MessageBox.Show(ex.Message); return(false); } }
public void insertShipData(MainWindow mw, BindingListCollectionView blView) { if (mw.ftbSchiff.ComboBoxText != null) { var query = from f in db.schiffe where f.name == mw.ftbSchiff.tBox.Text select f; if (query.Count() > 0) { schiff ship = query.FirstOrDefault(); mw.imonummer.Text = ship.imonummer.ToString(); mw.txtWerftname.Text = ship.werftname; mw.txtWerfnummer.Text = ship.werftnummer; setSchiffAnlagen(ship, blView); //switch (mw.cboFirma.SelectedValue == null ? 0 : (int)mw.cboFirma.SelectedValue) switch (mw.Firma_FCB_X.SelectedValue == null ? 0 : (int)mw.Firma_FCB_X.SelectedValue) { case 10014: // "Brunvoll AS" { mw.txtUrsprungsprojekt.Text = ship.brursprungsprojekt; mw.txtBrunvollprojektnummer.Text = ship.brpprojektnr; break; } case 10016: //"Tamrotor Marine Compressors AS": { mw.txtUrsprungsprojekt.Text = ship.taursprungsprojekt; break; } case 10019: //"Sperre Industri AS": { mw.txtUrsprungsprojekt.Text = ship.spursprungsprojekt; mw.txtBrunvollprojektnummer.Text = ship.spnr; break; } case 10095: //"Finnoy Gear and Propeller AS": { mw.txtUrsprungsprojekt.Text = ship.foursprungsprojekt; break; } case 10164: //"Nyborg AS": { mw.txtUrsprungsprojekt.Text = ship.nyursprungsprojekt; break; } case 10179: //"Tecnicomar S.p.A.": { mw.txtUrsprungsprojekt.Text = ship.teursprungsprojekt; break; } case 10177: //"Jets AS": { mw.txtUrsprungsprojekt.Text = ship.jtursprungsprojekt; mw.txtBrunvollprojektnummer.Text = ship.jtunitnr; break; } case 11688: //"Metizoft": { mw.txtUrsprungsprojekt.Text = ship.mzursprungsprojekt; break; } case 12022: //"MMC Green Technology AS": { mw.txtUrsprungsprojekt.Text = ship.mmursprungsprojekt; break; } default: break; } } } }