//Конструктор, вызываемый для редактирования public add_ingr_in_food(db_connect data_module, string ingr_in_food_name_food, string ingr_in_food_ingr_name, int ingr_id, int food_id) { InitializeComponent(); this.lb_ingr.Items.Clear(); class_ingr_in_food[] ingr_in_food = new class_ingr_in_food[512]; ingr_in_food = Program.add_read_module.get_list_ingr_id(food_id, ingr_id); if (ingr_in_food != null) { this.lb_ingr.Items.Clear(); for (int i = 1; i < ingr_in_food.Count(); i++) { if (ingr_in_food[i] != null) { this.lb_ingr.Items.Add(ingr_in_food[i].ingr_name); } else { break; } } } this.ingr_id = ingr_id; this.set_state("OLD"); this.food_name = ingr_in_food_name_food.ToString(); this.ingr_name = ingr_in_food_ingr_name.ToString(); this.fill_ingr_in_food_data(); this._data_module = data_module; }
// Конструктор, вызываемый при нажатии "Добавить" public add_ingr_in_food(db_connect data_module, int food_id) { InitializeComponent(); this.lb_ingr.Items.Clear(); class_ingr_in_food[] ingr_in_food = new class_ingr_in_food[512]; ingr_in_food = Program.add_read_module.get_list_ingr_name(food_id); if (ingr_in_food != null) { for (int i = 1; i < ingr_in_food.Count(); i++) { if (ingr_in_food[i] != null) { this.lb_ingr.Items.Add(ingr_in_food[i].ingr_name); } else { break; } } } this._data_module = data_module; this.set_state("NEW"); }
/// <summary> /// Возвращает вес 8-го ингредиента на ужин /// </summary> public class_ingr_in_food[] get_ves_supper8() { class_ingr_in_food[] food = new class_ingr_in_food[512]; if (supper_food[8] != null) { string query = "select IIF.Net_weight from Foods F " + " join Ingridients_in_food IIF on F.ID_food = IIF.ID_food" + " join Ingridients I on I.Id_ingridients = IIF.Id_ingridients" + " join Food_in_menu FIM on FIM.ID_food = F.ID_food where FIM.Serve_time_of_food ='ужин'" + " and day_id ='" + AddDayID + "'" + " and IIF.ID_food='" + supper_food[8].food_id + "'"; if (_ingr_list_supper == null) { _ingr_list_supper = null; } else { for (int i = 1; i < _ingr_list_supper.Count(); i++) { if (_ingr_list_supper[i] != null) { string g1 = "and IIF.Id_ingridients='" + this._ingr_list_supper[i].ingr_id + "'"; try { SqlCommand com = Program.data_module._conn.CreateCommand(); com.CommandText = query + g1; SqlDataReader rd = com.ExecuteReader(); while (rd.Read()) { food[i] = new class_ingr_in_food(); food[i].result = "OK"; food[i].net = rd.GetDouble(0).ToString(); } if (food[i] == null) { food[i] = new class_ingr_in_food(); food[i].net = "0"; int g = Convert.ToInt32(food[i].net); g = 0; } rd.Close(); rd.Dispose(); com.Dispose(); } catch (Exception ex) { MessageBox.Show(ex.Message + " " + ex.Data); return null; } } } } } return food; }
/// <summary> /// Возвращает общий вес ингредиентов на ужин /// </summary> public class_ingr_in_food[] get_sum_supper(int day) { class_food[] food = new class_food[512]; class_ingr_in_food[] foods = new class_ingr_in_food[512]; string query = "select Sum( count_serve * Net_weight /1000 ) from Ingridients_in_food join Food_in_menu on Ingridients_in_food.ID_food = Food_in_menu.ID_food " + " where Food_in_menu.day_id='" + day + "'" + "and Food_in_menu.Serve_time_of_food='ужин'" + " group by Ingridients_in_food.Id_ingridients"; try { SqlCommand com = Program.data_module._conn.CreateCommand(); com.CommandText = query; SqlDataReader rd = com.ExecuteReader(); int i = 0; while (rd.Read()) { i++; foods[i] = new class_ingr_in_food(); foods[i].result = "OK"; if (rd.IsDBNull(0)) { foods[i].net = ""; } else { foods[i].net = rd.GetDouble(0).ToString(); } } rd.Close(); rd.Dispose(); com.Dispose(); } catch (Exception ex) { MessageBox.Show(ex.Message + " " + ex.Data); return null; } return foods; }
/// <summary> /// возвращает ингридиент в блюде по указанному в параметрах идентификатору (коду) /// </summary> /// <param name="ingr_name"></param> /// <param name="food_name"></param> /// <returns></returns> public class_ingr_in_food get_ingr_in_food(string ingr_name, string food_name) { class_ingr_in_food ingr_in_food = new class_ingr_in_food(); string query = "Select F.Name_food, F.ID_food,I.ingridient_name, IIF.Gross_weight, IIF.Net_weight, IIF.Id_ingridients " + "From Ingridients_in_food IIF join Ingridients I on " + "IIF.Id_ingridients = I.Id_ingridients " + "join Foods F on F.ID_food = IIF.ID_food "; query += "where I.ingridient_name = '" + ingr_name.ToString() + "'" + "and F.Name_food='" + food_name.ToString() + "'"; ; try { SqlCommand com = Program.data_module._conn.CreateCommand(); com.CommandText = query; SqlDataReader rd = com.ExecuteReader(); if (rd.Read()) { ingr_in_food.result = "OK"; ingr_in_food.ingr_name = ingr_name.ToString(); ingr_in_food.food_name = rd.GetString(0); ingr_in_food.id_food = rd.GetInt32(1).ToString(); if (rd.IsDBNull(3)) { ingr_in_food.gross = ""; } else { ingr_in_food.gross = rd.GetDouble(3).ToString(); } if (rd.IsDBNull(4)) { ingr_in_food.net = ""; } else { ingr_in_food.net = rd.GetDouble(4).ToString(); } if (rd.IsDBNull(5)) { ingr_in_food.ingr_id = ""; } else { ingr_in_food.ingr_id = rd.GetInt32(5).ToString(); } } rd.Close(); rd.Dispose(); com.Dispose(); } catch (Exception ex) { ingr_in_food.result = "ERROR_" + ex.Data + " " + ex.Message; } return ingr_in_food; }
/// <summary> /// возвращает ингридиент по указанному в параметрах идентификатору (коду) /// </summary> /// <returns></returns> public class_ingr_in_food[] get_list_ingr_name(int _id_food) { class_ingr_in_food[] ingr = new class_ingr_in_food[512]; string query = "select I.Id_ingridients, I.ingridient_name " + "from Ingridients I where I.Id_ingridients " + "not in (select Id_ingridients from Ingridients_in_food IIF join Foods F on IIF.ID_food = F.ID_food where F.ID_food = '" + _id_food +"')"; try { SqlCommand com = Program.data_module._conn.CreateCommand(); com.CommandText = query; SqlDataReader rd = com.ExecuteReader(); int i = 0; while (rd.Read()) { i++; ingr[i] = new class_ingr_in_food(); ingr[i].result = "OK"; ingr[i].ingr_id = rd.GetInt32(0).ToString(); ingr[i].ingr_name = rd.GetString(1); } rd.Close(); rd.Dispose(); com.Dispose(); } catch (Exception ex) { ingr[1].result = "ERROR_" + ex.Data + " " + ex.Message; } return ingr; }
/// <summary> /// возвращает блюдо по указанному в параметрах идентификатору (коду) /// </summary> /// <returns></returns> public class_ingr_in_food[] get_list_food_id() { class_ingr_in_food[] id_food = new class_ingr_in_food[512]; string query = "Select Name_food, ID_food from Foods"; try { SqlCommand com = Program.data_module._conn.CreateCommand(); com.CommandText = query; SqlDataReader rd = com.ExecuteReader(); int i = 0; while (rd.Read()) { i++; id_food[i] = new class_ingr_in_food(); id_food[i].result = "OK"; id_food[i].id_food = rd.GetInt32(1).ToString(); id_food[i].food_name = rd.GetString(0); } rd.Close(); rd.Dispose(); com.Dispose(); } catch (Exception ex) { id_food[1].result = "ERROR_" + ex.Data + " " + ex.Message; } return id_food; }