Exemple #1
0
        public override void Object2Ui(Tabelle t)
        {
            _uiLiMaterial.Items.Clear();
            foreach (var record in Datenverwaltung.GetAllRecordsFromTable("Material_mat"))
            {
                _uiLiMaterial.Items.Add(new CheckBox()
                {
                    DataContext = (Material_mat)record, Content = ((Material_mat)record).sBezeichnung
                });
            }



            if (t != null)
            {
                Modell_mod modell = t as Modell_mod;
                _uiTbBezeichnung.Text         = modell.sBezeichnung;
                _uiTbGeschlecht.SelectedValue = modell.sGeschlecht;
                _uiImBildAnzeige.Source       = Byte2Pic(modell.bSymbolBild);
                _uiTbTyp.SelectedValue        = modell.typ_iId;
                _bild = modell.bSymbolBild;

                foreach (var item in _uiLiMaterial.Items)
                {
                    if (modell.Materialien.Contains(((CheckBox)item).DataContext))
                    {
                        ((CheckBox)item).IsChecked = true;
                    }
                    else
                    {
                        ((CheckBox)item).IsChecked = false;
                    }
                }
            }
            else
            {
                _uiTbBezeichnung.Clear();
                _uiTbGeschlecht.SelectedValue = null;
                _uiImBildAnzeige.Source       = null;
                _uiTbTyp.SelectedValue        = null;
                _bild = null;

                foreach (var item in _uiLiMaterial.Items)
                {
                    ((CheckBox)item).IsChecked = false;
                }
            }
        }
Exemple #2
0
        //Heider
        public bool ModellSpeichern(Modell_mod mod, out string errmsg)
        {
            errmsg = "";

            using (SqlConnection con = new SqlConnection(_connectionString))
            {
                con.Open();

                String sql;

                if (mod.iId != null)
                {
                    sql = "UPDATE Aufkleber.Modell_mod SET sBezeichnung=@sBezeichnung, sGeschlecht = @sGeschlecht, bSymbolBild = @bSymbolBild, typ_iId = @typ_iId " +
                          "WHERE iId=@pid";
                }
                else

                {
                    sql = "INSERT INTO Aufkleber.Modell_mod " +
                          "(sBezeichnung, sGeschlecht, bSymbolBild, typ_iId) " +
                          "VALUES (@sBezeichnung, @sGeschlecht, @bSymbolBild, @typ_iId);" +
                          "SELECT SCOPE_IDENTITY();";
                }

                SqlCommand cmd = new SqlCommand(sql, con);
                if (mod.iId != null)
                {
                    cmd.Parameters.AddWithValue("@pid", mod.iId);
                }

                cmd.Parameters.AddWithValue("@sBezeichnung", mod.sBezeichnung);
                cmd.Parameters.AddWithValue("@sGeschlecht", mod.sGeschlecht);

                SqlParameter symbolBild = cmd.Parameters.Add(new SqlParameter("@bSymbolBild", System.Data.SqlDbType.VarBinary));
                symbolBild.IsNullable = true;
                symbolBild.Value      = DBNull.Value;
                if (mod.bSymbolBild != null)
                {
                    symbolBild.Value = mod.bSymbolBild;
                }


                cmd.Parameters.AddWithValue("@typ_iId", mod.typ_iId);



                try
                {
                    if (mod.iId == null)
                    {
                        mod.iId = Convert.ToInt32(cmd.ExecuteScalar());
                        //cmd.ExecuteNonQuery();
                    }
                    else
                    {
                        cmd.ExecuteNonQuery();
                    }
                }

                catch (SqlException e)
                {
                    if (e.Number == 2627)
                    {
                        // Unique violation
                        errmsg = "Nummer war nicht eindeutig.";
                    }
                    else
                    {
                        // irgendein Fehler
                        errmsg = "Unbekannter DB-Fehler";
                    }
                    // Orginaltext noch anhängen
                    errmsg += "\n" + e.Message;
                    return(false);
                }
            }

            ModMatSpeichern(mod, errmsg);


            return(true);
        }
Exemple #3
0
        public override Tabelle Ui2Object(Tabelle record)
        {
            Modell_mod m;

            byte[] savePic;
            if (record == null)
            {
                m = new Modell_mod();
            }
            else
            {
                m = record as Modell_mod;
            }

            /*string bez = _uiTbBezeichnung.Text; ;
             * foreach (Modell_mod item in Datenverwaltung.GetAllRecordsFromTable("Modell_mod"))
             * {
             *
             *  if (item.sBezeichnung == bez)
             *  {
             *      MessageBox.Show("Bezeichnung muss eindeutig sein", "Fehlermeldung");
             *      return null;
             *
             *  }
             * }*/
            try
            {
                m.sBezeichnung = _uiTbBezeichnung.Text;
            }
            catch (Exception e)
            {
                MessageBox.Show("Bezeichnug muss eindeutig sein", "DB-Fehler");
            }



            m.sGeschlecht = _uiTbGeschlecht.SelectedValue.ToString();

            m.bSymbolBild = _bild;

            savePic       = m.bSymbolBild;
            m.bSymbolBild = Link2Byte();
            if (m.bSymbolBild == null)
            {
                m.bSymbolBild = savePic;
            }

            _uiTbSymbolBildPfad = null;

            m.typ_iId = (int?)_uiTbTyp.SelectedValue;


            m.Materialien.Clear();
            foreach (var item in _uiLiMaterial.Items)
            {
                if (((CheckBox)item).IsChecked == true)
                {
                    m.Materialien.Add((Material_mat)((CheckBox)item).DataContext);
                }
            }



            return(m);
        }
Exemple #4
0
        public bool ModMatSpeichern(Modell_mod m, string errmsg)
        {
            errmsg = "";
            Console.WriteLine("in ModMatSpeichern vor löschen");

            DeleteModMat(new List <Tabelle> {
                m
            }, errmsg);
            Console.WriteLine("in ModMatSpeichern Nach löschen");

            if (m.Materialien.Count == 0)
            {
                Console.WriteLine("in ModMatSpeichern hat 0 Materialien");
                return(true);
            }


            using (SqlConnection con = new SqlConnection(_connectionString))
            {
                con.Open();

                String sql;

                sql = "INSERT INTO Aufkleber.mod_mat " +
                      "(mod_iId, mat_iId) VALUES";


                for (int i = 0; i < m.Materialien.Count; i++)
                {
                    if (i != 0)
                    {
                        sql += ", ";
                    }
                    sql += "(" + m.iId + ", " + m.Materialien[i].iId + ")";
                }


                Console.WriteLine(sql);
                SqlCommand cmd = new SqlCommand(sql, con);


                try
                {
                    cmd.ExecuteNonQuery();
                    Console.WriteLine("in ModMatSpeichern Nach Execute");
                }
                catch (SqlException e)
                {
                    if (e.Number == 2627)
                    {
                        errmsg = "Numer war nicht eindeutig";
                    }
                    else
                    {
                        errmsg = "Unbekannter DB-Fehler";
                    }
                    errmsg += "\n" + e.Message;
                    return(false);
                }
                con.Close();
            }

            Console.WriteLine("in ModMatSpeichern sollte gehen");
            return(true);
        }