public override void Object2Ui(Tabelle t) { if (t != null) { Artikel_art artikel = t as Artikel_art; _uiTbBezeichnung.Text = artikel.sBezeichnung; _uiTbModell.SelectedValue = artikel.mod_iId; _uiTbFarbe.SelectedValue = artikel.fab_iId; _uiTbGroesse.SelectedValue = artikel.gro_iId; _uiTbArtNr.Text = artikel.iArtNr.ToString(); generateBarcode(artikel.iArtNr); } else { _uiTbBezeichnung.Clear(); _uiTbModell.SelectedValue = null; _uiTbFarbe.SelectedValue = null; _uiTbGroesse.SelectedValue = null; _uiTbArtNr.Clear(); } }
public override Tabelle Ui2Object(Tabelle record) { Regex regex = new Regex("^[0-9]+$"); Artikel_art a; if (record == null) { a = new Artikel_art(); } else { a = record as Artikel_art; } if (_uiTbBezeichnung.Text.Trim().Length == 0) { a.sBezeichnung = null; } else { a.sBezeichnung = _uiTbBezeichnung.Text.Trim(); } if (_uiTbArtNr.Text.Trim().Length == 0) { MessageBox.Show("ArtNr darf nicht Leer sein"); return(null); } else if (!regex.IsMatch(_uiTbArtNr.Text.Trim())) { MessageBox.Show("EAN darf nur Nummern beinnhalten", "Eingabefehler"); _uiTbBezeichnung.Focus(); return(null); } else { a.iArtNr = int.Parse(_uiTbArtNr.Text.Trim()); } if (_uiTbModell.SelectedValue == null) { MessageBox.Show("Modell muss ausgewählt werden", "Eingabefehler"); return(null); } else { a.mod_iId = (int)_uiTbModell.SelectedValue; } if (_uiTbFarbe.SelectedValue == null) { MessageBox.Show("Farbe muss ausgewählt werden", "Eingabefehler"); return(null); } else { a.fab_iId = (int)_uiTbFarbe.SelectedValue; } if (_uiTbGroesse.SelectedValue == null) { MessageBox.Show("Größe muss ausgewählt werden", "Eingabefehler"); return(null); } else { a.gro_iId = (int)_uiTbGroesse.SelectedValue; } return(a); }
//Lukas internal bool ArtikelSpeichern(Artikel_art a, out string errms) { errms = ""; using (SqlConnection con = new SqlConnection(_connectionString)) { con.Open(); String sql; // alter oder neuer DS if (a.iId != null) { sql = "UPDATE Aufkleber.Artikel_art SET sBezeichnung=@pBezeichnung, iArtNr=@iArtNr, mod_iId = @pMod_iId, " + "fab_iId=@pFab_iId, gro_iId=@pGro_iId " + "WHERE iId=@pid"; } else { sql = "INSERT INTO Aufkleber.Artikel_art " + "(sBezeichnung, iArtNr, mod_iId, fab_iId, gro_iId) " + "VALUES (@pBezeichnung, @iArtNr, @pMod_iId, @pFab_iId, @pGro_iId);" + " SELECT SCOPE_IDENTITY();"; } SqlCommand cmd = new SqlCommand(sql, con); if (a.iId != null) { cmd.Parameters.AddWithValue("@pid", a.iId); } cmd.Parameters.AddWithValue("@pMod_iId", a.mod_iId); cmd.Parameters.AddWithValue("@pFab_iId", a.fab_iId); cmd.Parameters.AddWithValue("@pGro_iId", a.gro_iId); cmd.Parameters.AddWithValue("@iArtNr", a.iArtNr); // Nullable Parameter auf NULL setzen SqlParameter pBezeichnung = cmd.Parameters.Add(new SqlParameter("@pBezeichnung", System.Data.SqlDbType.NVarChar)); pBezeichnung.IsNullable = true; pBezeichnung.Value = DBNull.Value; SqlParameter pEAN = cmd.Parameters.Add(new SqlParameter("@pEAN", System.Data.SqlDbType.NChar)); pEAN.IsNullable = true; pEAN.Value = DBNull.Value; // Werte zuweisen für die Nullable-Spalten if (!string.IsNullOrEmpty(a.sBezeichnung)) { pBezeichnung.Value = a.sBezeichnung; } try { if (a.iId == null) { a.iId = Convert.ToInt32(cmd.ExecuteScalar()); Console.WriteLine("Neue Id: {0}", a.iId); } else { cmd.ExecuteNonQuery(); } } catch (SqlException e) { if (e.Number == 2627) { errms = "Numer war nicht eindeutig"; } else { errms = "Unbekannter DB-Fehler"; } errms += "\n" + e.Message; return(false); } con.Close(); } return(true); }