/// <summary> /// Конструктор, вызываемый при нажатии "Добавить" /// </summary> /// <param name="data_module"></param> public add_cards(db_connect data_module) { InitializeComponent(); //получаем список блюд class_card[] card = new class_card[512]; card = Program.add_read_module.get_list_food_name_in_card(); if (card != null) { this.cb_food.Items.Clear(); for (int i = 1; i < card.Count(); i++) { if (card[i] != null) { this.cb_food.Items.Add(card[i].food_name); } else { break; } } } this._data_module = data_module; this.set_state("NEW"); }
/// <summary> /// получаем способ приготовления и номер диеты по номеру карты /// </summary> /// <returns></returns> public class_card[] get_card_list() { class_card[] card = new class_card[512]; string cell = gw.Rows[gw.CurrentRow.Index].Cells[4].Value.ToString(); string query = "select C.Id_Cards, C.Number_Card, D.NumOfDiet from Cards C "; query += "join Food_In_Diets FIN on C.Id_Cards = FIN.Id_Cards "; query += "join Diets D on D.ID_Diets = FIN.ID_Diets "; query += "where Number_Card = '" + cell + "'"; try { SqlCommand com = Program.data_module._conn.CreateCommand(); com.CommandText = query; SqlDataReader rd = com.ExecuteReader(); int i = 0; while (rd.Read()) { i = i + 1; card[i] = new class_card(); card[i].result = "OK"; if (rd.IsDBNull(2)) { card[i].diet_numb = ""; } else { card[i].diet_numb = rd.GetString(2); } } rd.Close(); rd.Dispose(); com.Dispose(); } catch (Exception ex) { MessageBox.Show(ex.Message + " " + ex.Data); return null; } return card; }
/// <summary> /// Конструктор, вызываемый для редактирования /// </summary> /// <param name="data_module"></param> /// <param name="card_id"></param> /// <param name="food_name"></param> /// <param name="food_id"></param> public add_cards(db_connect data_module, int card_id, string food_name, int food_id) { InitializeComponent(); cb_food.Visible = false; label1.Visible = false; this.b_save.Location = new System.Drawing.Point(10, 130); this.b_cancel.Location = new System.Drawing.Point(160, 130); this.Size = new Size(520, 195); label2.Location= new System.Drawing.Point(5, 10); tb_cost.Location = new System.Drawing.Point(10, 30); label4.Location = new System.Drawing.Point(5, 55); tb_card_numb.Location = new System.Drawing.Point(10, 75); //получаем список блюд class_card[] card = new class_card[512]; card = Program.add_read_module.get_list_food_name_in_card(); if (card != null) { this.cb_food.Items.Clear(); for (int i = 1; i < card.Count(); i++) { if (card[i] != null) { this.cb_food.Items.Add(card[i].food_name); } else { break; } } } this.card_id = card_id.ToString(); this.food_id = food_id.ToString(); this.set_state("OLD"); this.food_name = food_name.ToString(); this.fill_card_data(); this._data_module = data_module; }
/// <summary> /// возвращает карту по указанному в параметрах идентификатору (коду) /// </summary> /// <param name="food_name"></param> /// <returns></returns> public class_card get_card(string food_name) { class_card card = new class_card(); string query = "Select C.Id_Cards, F.Name_food, C.Cost, C.Method_of_cooking, C.Number_Card " + "From Cards C " + "join Foods F on F.ID_food = C.ID_food "; query += "where F.Name_food = '" + food_name + "'"; try { SqlCommand com = Program.data_module._conn.CreateCommand(); com.CommandText = query; SqlDataReader rd = com.ExecuteReader(); if (rd.Read()) { card.result = "OK"; card.food_name = rd.GetString(1); if (rd.IsDBNull(2)) { card.cost = ""; } else { card.cost = rd.GetSqlMoney(2).ToString(); } if (rd.IsDBNull(3)) { card.method = ""; } else { card.method = rd.GetString(3); } if (rd.IsDBNull(4)) { card.card_numb = ""; } else { card.card_numb = rd.GetString(4); } } rd.Close(); rd.Dispose(); com.Dispose(); } catch (Exception ex) { card.result = "ERROR_" + ex.Data + " " + ex.Message; } return card; }
/// <summary> /// возвращает блюдо по указанному в параметрах идентификатору (коду) /// </summary> /// <returns></returns> public class_card[] get_list_food_name_in_card() { class_card[] food = new class_card[512]; string query = "Select Name_food, ID_food from Foods " + "where ID_food not in " + "(select ID_food from Cards)"; try { SqlCommand com = Program.data_module._conn.CreateCommand(); com.CommandText = query; SqlDataReader rd = com.ExecuteReader(); int i = 0; while (rd.Read()) { i++; food[i] = new class_card(); food[i].result = "OK"; food[i].food_id = rd.GetInt32(1).ToString(); food[i].food_name = rd.GetString(0); } rd.Close(); rd.Dispose(); com.Dispose(); } catch (Exception ex) { food[1].result = "ERROR_" + ex.Data + " " + ex.Message; } return food; }
/// <summary> /// Возвращает метод приготовления /// </summary> /// <returns></returns> public class_card[] get_method_list() { class_card[] card = new class_card[512]; string cell = gw.Rows[gw.CurrentRow.Index].Cells[4].Value.ToString(); string query = "select Method_of_cooking from Cards "; query += "where Number_Card = '" + cell + "'"; try { SqlCommand com = Program.data_module._conn.CreateCommand(); com.CommandText = query; SqlDataReader rd = com.ExecuteReader(); int i = 0; while (rd.Read()) { i = i + 1; card[i] = new class_card(); card[i].result = "OK"; if (rd.IsDBNull(0)) { card[i].method = ""; } else { card[i].method = rd.GetString(0); } } rd.Close(); rd.Dispose(); com.Dispose(); } catch (Exception ex) { MessageBox.Show(ex.Message + " " + ex.Data); return null; } return card; }