public bool Load(TypeOrder objtypeorder) { bool ret = false; DBase.CommandText = "SELECT * FROM " + TableName + " where IdTypeOrder=@IdTypeOrder ORDER BY Number "; DBase.Parameters["IdTypeOrder"].Value = objtypeorder.Id; try { SqlCeDataReader rdr = DBase.ExecuteReader(); if (rdr != null) { while (rdr.Read()) { objtypeorder.ListPole.Add(new TypeOrderPole(Convert.ToInt32(rdr["Id"].ToString()), Convert.ToInt32(rdr["IdTypeOrder"].ToString()), Convert.ToInt32(rdr["Number"].ToString()), rdr["NamePole"].ToString())); } } rdr.Close(); ret = true; } catch (Exception e) { MessageBox.Show(e.Message, "Внимание!"); } return(ret); }
public bool Action(TypeOrder objtypeorder) { bool ret = false; SqlCeTransaction tx = typeorder.DBase.Connection.BeginTransaction(); typeorder.DBase.Transaction = tx; try { // Изменить запись Типа Заказа typeorder.DBase.CommandText = "UPDATE " + typeorder.TableName + " Set Name=@NameType , Perc=@PercentType " + " where Id=@IdType; \r\n"; typeorder.DBase.Parameters["IdType"].Value = objtypeorder.Id; typeorder.DBase.Parameters["NameType"].Value = objtypeorder.Name; typeorder.DBase.Parameters["PercentType"].Value = objtypeorder.Percent; int n = typeorder.DBase.ExecuteNonQuery(); // Удалить все старые поля pole.DBase.CommandText = "DELETE " + pole.TableName + " Where IdTypeOrder=@IdTypeOrder;\r\n"; pole.DBase.Parameters["IdTypeOrder"].Value = objtypeorder.Id; n = pole.DBase.ExecuteNonQuery(); // Сохранить новые поля for (int i = 0; i < objtypeorder.ListPole.Count; i++) { objtypeorder.ListPole[i].IdTypeOrder = objtypeorder.Id; pole.DBase.CommandText = "INSERT INTO " + pole.TableName + " (IdTypeOrder,Number,NamePole)" + " VALUES (@IdTypeOrder,@NumberTypeOrderPole,@NamePoleTypeOrderPole);\r\n"; pole.DBase.Parameters["IdTypeOrder"].Value = objtypeorder.ListPole[i].IdTypeOrder; pole.DBase.Parameters["NumberTypeOrderPole"].Value = objtypeorder.ListPole[i].Number; pole.DBase.Parameters["NamePoleTypeOrderPole"].Value = objtypeorder.ListPole[i].NamePole; n = pole.DBase.ExecuteNonQuery(); pole.DBase.CommandText = "SELECT @@IDENTITY;"; int r = Convert.ToInt32(pole.DBase.ExecuteScalar()); objtypeorder.ListPole[i].Id = r; } ret = true; tx.Commit(); } catch (Exception e) { tx.Rollback(); MessageBox.Show(e.Message, "Внимание!"); } finally { typeorder.DBase.Transaction = null; } return(ret); }
public int Action(TypeOrder objtypeorder) { int ret = -1; SqlCeTransaction tx = typeorder.DBase.Connection.BeginTransaction(); typeorder.DBase.Transaction = tx; try { // Добавление нового типа заказа // Добавляем запись типа заказа typeorder.DBase.CommandText = "INSERT INTO " + typeorder.TableName + " (Name, Perc) " + " VALUES (@NameType,@PercentType);\r\n"; typeorder.DBase.Parameters["NameType"].Value = objtypeorder.Name; typeorder.DBase.Parameters["PercentType"].Value = objtypeorder.Percent; int n = typeorder.DBase.ExecuteNonQuery(); typeorder.DBase.CommandText = "SELECT @@IDENTITY;"; ret = Convert.ToInt32(typeorder.DBase.ExecuteScalar()); objtypeorder.Id = ret; // Добавление полей типа заказа for (int i = 0; i < objtypeorder.ListPole.Count; i++) { objtypeorder.ListPole[i].IdTypeOrder = ret; pole.DBase.CommandText = "INSERT INTO " + pole.TableName + " (IdTypeOrder,Number,NamePole)" + " VALUES (@IdTypeOrder,@NumberTypeOrderPole,@NamePoleTypeOrderPole);\r\n"; pole.DBase.Parameters["IdTypeOrder"].Value = objtypeorder.ListPole[i].IdTypeOrder; pole.DBase.Parameters["NumberTypeOrderPole"].Value = objtypeorder.ListPole[i].Number; pole.DBase.Parameters["NamePoleTypeOrderPole"].Value = objtypeorder.ListPole[i].NamePole; n = pole.DBase.ExecuteNonQuery(); pole.DBase.CommandText = "SELECT @@IDENTITY;"; int r = Convert.ToInt32(pole.DBase.ExecuteScalar()); objtypeorder.ListPole[i].Id = r; } tx.Commit(); } catch (Exception e) { tx.Rollback(); MessageBox.Show(e.Message, "Внимание!"); } finally { typeorder.DBase.Transaction = null; } return(ret); }
private void button6_Click(object sender, EventArgs e) { // Вывести данные if (listView2.SelectedIndices.Count > 0) { // Нажатие кнопки изменение в Таблице разновидностей заказов int n = listView2.SelectedIndices[0]; // DataRow row = Base.classTypeOrder.dataSet.Tables[0].Rows[n]; TypeOrder objtypeorder = new TypeOrder(Int32.Parse(row[0].ToString()), row[1].ToString(), Decimal.Parse(row[2].ToString())); // Загрузить имена полей Base.classTypeOrderPole.Load(objtypeorder); // Изменение заголовка вкладки tabPage6.Text = "Изменение"; button10.Text = "Изменить"; // Помещаем объект который будет изменяться вот сюда button10.Tag = objtypeorder; textBox1.Text = objtypeorder.Name; textBox2.Text = objtypeorder.Percent.ToString(); // Заполним таблицу полей TypeOrderPoleProperties.Clear(); for (int i = 0; i < objtypeorder.ListPole.Count; i++) { CustomProperty myProp = new CustomProperty(objtypeorder.ListPole[i].Number.ToString(), objtypeorder.ListPole[i].NamePole, false, true); TypeOrderPoleProperties.Add(myProp); } propertyGrid2.Refresh(); // Отобразить вкладку tabControl3.TabPages.Add(tabPage6); tabControl3.SelectedIndex = 1; } }
void LoadComboBox() { // Загрузка комбобокса для выбора типа Закза // Обновить дата сет UpdateTableTypeOrder(); // Загрузить comboBox1.Items.Clear(); for (int i = 0; i < Base.classTypeOrder.dataSet.Tables[0].Rows.Count; i++) { DataRow row = Base.classTypeOrder.dataSet.Tables[0].Rows[i]; int id = Int32.Parse(row[0].ToString()); TypeOrder typeOrder = new TypeOrder(id, row[1].ToString(), Decimal.Parse(row[2].ToString())); Base.classTypeOrderPole.Load(typeOrder); comboBox1.Items.Add(typeOrder); // Загружать списки полей } if (comboBox1.Items.Count > 0) { comboBox1.SelectedIndex = 0; } }
void addTipeOrder() { //Добавление нового тип Заказа Decimal d = 0; try { d = Decimal.Parse(textBox2.Text); } catch { } // Формируем структуру TypeOrder objtypeorder = new TypeOrder(-1, textBox1.Text.Trim(), d);//Convert.ToInt32(textBox2.Text)); for (int i = 0; i < TypeOrderPoleProperties.Count; i++) { objtypeorder.ListPole.Add(new TypeOrderPole(-1, -1, i + 1, (string)TypeOrderPoleProperties[i].Value)); } // Передаем структуру в добавление InsertTypeOrder insertTypeOrder = new InsertTypeOrder(Base.classTypeOrder, Base.classTypeOrderPole); int n = insertTypeOrder.Action(objtypeorder); }
void updateTipeOrder() { // Изменение Типа Заказа Decimal d = 0; try { d = Decimal.Parse(textBox2.Text); } catch { } TypeOrder objtypeorder = (TypeOrder)button10.Tag; objtypeorder.Name = textBox1.Text.Trim(); objtypeorder.Percent = d; objtypeorder.ListPole.Clear(); for (int i = 0; i < TypeOrderPoleProperties.Count; i++) { objtypeorder.ListPole.Add(new TypeOrderPole(-1, -1, i + 1, (string)TypeOrderPoleProperties[i].Value)); } UpdateTypeOrder updateTypeOrder = new UpdateTypeOrder(Base.classTypeOrder, Base.classTypeOrderPole); bool b = updateTypeOrder.Action(objtypeorder); }