public AddProductNameRowForm(FormType ftype, string tag, ProductNameRow data, long key)
 {
     InitializeComponent();
     switch (ftype)
     {
         case FormType.ADDFORM:
             this.Text = "Добавление записи в таблицу";
             break;
         case FormType.EDITFORM:
             this.Text = "Редактирование записи";
             break;
     }
     TableTag = tag;
     FType = ftype;
     Key = key;
     InitializeData();
     LoadDataToControls(data);
 }
Exemple #2
0
        public static ProductNameRow ConvertRowInfoToProductNameRow(GridViewRowInfo row)
        {
            ProductNameRow res = new ProductNameRow();

            res.Code = (long)row.Cells[0].Value;
            res.Name = row.Cells[1].Value.ToString();
            res.Designation = row.Cells[2].Value.ToString();
            res.ProductCode = Convert.ToInt32(row.Cells[3].Value);
            res.TypeCode = Convert.ToInt32(row.Cells[4].Value);
            res.SignCode = Convert.ToInt32(row.Cells[5].Value);

            return res;
        }
Exemple #3
0
 public static DatabaseLib.ParametersCollection ConvertProductNameRowToParameters(ProductNameRow row)
 {
     DatabaseLib.ParametersCollection par = new DatabaseLib.ParametersCollection();
     par.Add("ProductKey", row.Code, DbType.UInt64);
     par.Add("Name", row.Name, DbType.String);
     par.Add("Designation", row.Designation, DbType.String);
     par.Add("ViewCode", row.ProductCode, DbType.Byte);
     par.Add("TypeCode", row.TypeCode, DbType.Byte);
     par.Add("SignCode", row.SignCode, DbType.Byte);
     return par;
 }
Exemple #4
0
        public static ProductNameRow ConvertDataTableRowToProductNameRow(DataTable dt)
        {
            ProductNameRow res = new ProductNameRow();

            res.Code = dt.Rows[0].Field<long>(0);
            res.Name = dt.Rows[0].Field<string>(1);
            res.Designation = dt.Rows[0].Field<string>(2);
            res.ProductCode = Convert.ToInt32(dt.Rows[0].ItemArray.GetValue(3));
            res.TypeCode = Convert.ToInt32(dt.Rows[0].ItemArray.GetValue(4));
            res.SignCode = Convert.ToInt32(dt.Rows[0].ItemArray.GetValue(5));

            return res;
        }
Exemple #5
0
        /// <summary>
        /// Загрузка данных из файла для таблицы "Справочник наименований продукции"
        /// </summary>
        /// <param name="fname">Полный путь к тектовому файлу с данными для заполнения</param>
        /// <returns>Возвращает массив структур struct ProductNameRow</returns>
        public static ProductNameRow[] LoadDataForProductNames(string fname)
        {
            StreamReader file = new StreamReader(fname);
            int count = 0;
            string[] mas = new string[0];
            while (!file.EndOfStream)
            {
                string str = file.ReadLine();
                count++;
                Array.Resize(ref mas, count);
                mas[count - 1] = str;
            }
            file.Close();

            ProductNameRow[] Prod = new ProductNameRow[count];
            for (int i = 0; i < count; i++)
            {
                string[] tmp = mas[i].Split('\t');
                Prod[i].Code = Convert.ToInt64(tmp[0]);
                Prod[i].Designation = tmp[1];
                Prod[i].Name = tmp[2];
                Prod[i].ProductCode = Convert.ToInt32(tmp[3]);
                Prod[i].TypeCode = Convert.ToInt32(tmp[4]);
                Prod[i].SignCode = Convert.ToInt32(tmp[5]);
            }

            return Prod;
        }
 private void okButton_Click(object sender, EventArgs e)
 {
     if (radTextBox1.Text != "" && radTextBox1.Text != " " && radTextBox2.Text != "" && radTextBox2.Text != " " &&
         radTextBox3.Text != "" && radTextBox3.Text != " " &&
         radMultiColumnComboBox1.SelectedIndex >= 0 && radMultiColumnComboBox2.SelectedIndex >= 0 &&
         radMultiColumnComboBox3.SelectedIndex >= 0)
     {
         ProductNameRow row = new ProductNameRow();
         row.Code = Convert.ToInt64(radTextBox1.Text);
         row.Name = radTextBox2.Text;
         row.Designation = radTextBox3.Text;
         row.ProductCode = Convert.ToInt32(radMultiColumnComboBox1.EditorControl.Rows[radMultiColumnComboBox1.SelectedIndex].Cells[0].Value);
         row.TypeCode = Convert.ToInt32(radMultiColumnComboBox2.EditorControl.Rows[radMultiColumnComboBox2.SelectedIndex].Cells[0].Value);
         row.SignCode = Convert.ToInt32(radMultiColumnComboBox3.EditorControl.Rows[radMultiColumnComboBox3.SelectedIndex].Cells[0].Value);
         switch (FType)
         {
             case FormType.ADDFORM: // вставка данных в ТБД
                 // проверка кода продукции на совпадение с уже имеющимися (pramary key)
                 if (CheckProductCode(Convert.ToInt64(radTextBox1.Text)))
                 {
                     MessageBox.Show("Введеный код продукции уже есть! Ключ продукта должен быть уникален!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     return;
                 }
                 DBWorker.InsertDataRowToTable(TableTag, row);
                 break;
             case FormType.EDITFORM: // обновление записи в таблице
                 DBWorker.UpdateDataInRow(TableTag, Key, Converter.ConvertProductNameRowToParameters(row));
                 break;
         }
         this.DialogResult = DialogResult.OK;
         this.Close();
     }
     else
         MessageBox.Show("Не верно введены данные или не заданы совсем!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
 }
 // заполнение данными контрола
 private void LoadDataToControls(ProductNameRow data)
 {
     radTextBox1.Text = data.Code.ToString();
     radTextBox2.Text = data.Name;
     radTextBox3.Text = data.Designation;
     int i;
     for (i = 0; i < radMultiColumnComboBox1.EditorControl.Rows.Count; i++)
     {
         if (Convert.ToInt64(radMultiColumnComboBox1.EditorControl.Rows[i].Cells[0].Value) == data.ProductCode)
         {
             radMultiColumnComboBox1.SelectedIndex = i;
             continue;
         }
     }
     for (i = 0; i < radMultiColumnComboBox2.EditorControl.Rows.Count; i++)
     {
         if (Convert.ToInt64(radMultiColumnComboBox2.EditorControl.Rows[i].Cells[0].Value) == data.TypeCode)
         {
             radMultiColumnComboBox2.SelectedIndex = i;
             continue;
         }
     }
     for (i = 0; i < radMultiColumnComboBox3.EditorControl.Rows.Count; i++)
     {
         if (Convert.ToInt64(radMultiColumnComboBox3.EditorControl.Rows[i].Cells[0].Value) == data.SignCode)
         {
             radMultiColumnComboBox3.SelectedIndex = i;
             continue;
         }
     }
 }