/// <summary> /// Поиск записи о компоненте пользователя в БД /// </summary> /// <param name="curRaw">компонента пользователя</param> /// <returns>найденная запись если есть</returns> protected override int FindSimilarDataRawStruct(DataRawStruct curRec, string tableName) { string sqlStr = "SELECT id FROM " + tableName + " WHERE name=?"; OdbcCommand cmd = new OdbcCommand(sqlStr, conn); cmd.Parameters.AddWithValue("@name", curRec.Name); //throw new Exception("The method or operation is not implemented."); DataTable comp_table = null; try { if (this.conn.State == ConnectionState.Closed) { this.conn.Open(); } this.adapter.SelectCommand = cmd; DataSet ds = new DataSet("tables"); ds.Locale = CultureInfo.InvariantCulture; this.adapter.Fill(ds); comp_table = ds.Tables[0]; } catch (OdbcException pe) { MessageBox.Show(pe.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, 0); return(-1); } if (comp_table.Rows.Count == 0) { return(-1); } return(Convert.ToInt32(comp_table.Rows[0][0], CultureInfo.InvariantCulture)); }
/// <summary> /// Добавление записи в таблицу /// </summary> /// <param name="curRec">запись которая добавляется</param> /// <param name="tableName">имя таблицы</param> protected override void AddDataRawStruct(DataRawStruct curRec, string tableName) { string sqlStr = "INSERT INTO " + tableName + " (name, water, caloric, fat, acid, ash, cholesterol, protein, starch, saccharides, cellulose, vitaminA, vitaminB, vitaminB1, vitaminB2, vitaminPP, vitaminC, mineralK, mineralNa, mineralCa, mineralMg, mineralP, mineralFe, comment, normativDoc, brutto, inSostav, inRecept) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, " + "?, ?, ?, ?, ?, ?, ?, ?)"; OdbcCommand cmd = new OdbcCommand(sqlStr, conn); cmd.Parameters.AddWithValue("@name", curRec.Name); cmd.Parameters.AddWithValue("@water", curRec.Water.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@caloric", curRec.Caloric.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@fat", curRec.fat.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@acid", curRec.acid.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@ash", curRec.ash.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@cholesterol", curRec.cholesterol.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@protein", curRec.protein.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@starch", curRec.starch.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@saccharides", curRec.saccharides.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@cellulose", curRec.cellulose.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminA", curRec.vitaminA.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminB", curRec.VitaminB.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminB1", curRec.VitaminB1.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminB2", curRec.VitaminB2.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminPP", curRec.VitaminPP.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminC", curRec.VitaminC.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralK", curRec.MineralK.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralNa", curRec.MineralNA.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralCa", curRec.MineralCA.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralMg", curRec.MineralMG.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralP", curRec.MineralP.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralFe", curRec.MineralFE.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@comment", curRec.Comment); cmd.Parameters.AddWithValue("@normativDoc", curRec.NormativDoc); cmd.Parameters.AddWithValue("@brutto", curRec.Brutto.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@inSostav", curRec.InSostav); cmd.Parameters.AddWithValue("@inRecept", curRec.InRecept); int ret = 0; try { if (this.conn.State == ConnectionState.Closed) { this.conn.Open(); } this.adapter.InsertCommand = cmd; ret = this.adapter.InsertCommand.ExecuteNonQuery(); } catch (System.Exception e) { MessageBox.Show("Обновление записи неудачно:\n " + e.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, 0); return; } if (ret != 1) { MessageBox.Show("Во время обновления произошла ошибка", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, 0); } curRec.IsChanged = false; //throw new Exception("The method or operation is not implemented."); }
internal DataRawStruct FindSimilarRaw(DataRawStruct curRec) { if (curRec == null) { return(null); } return(this.GetRawByNum(FindSimilarDataRawStruct(curRec, "comps"))); }
internal DataRawStruct FindSimilarProcessLoss(DataRawStruct curRec) { if (curRec == null) { return(null); } return(this.GetProcessLossByNum(FindSimilarDataRawStruct(curRec, "processLoss"))); }
/// <summary> /// Обновление записи в таблице /// </summary> /// <param name="curRec">запись</param> /// <param name="tableName">имя таблицы</param> protected override void UpdateDataRawStruct(DataRawStruct curRec, string tableName) { string sqlStr = "UPDATE " + tableName + " SET name=?, water=?, caloric=?, fat=?, acid=?, ash=?, cholesterol=?, protein=?, starch=?, saccharides=?, cellulose=?, vitaminA=?, vitaminB=?, vitaminB1=?, vitaminB2=?, vitaminPP=?, vitaminC=?, mineralK=?, mineralNa=?, mineralCa=?, mineralMg=?, mineralP=?, mineralFe=?, comment=?, normativDoc=?, brutto=?, inSostav=?, inRecept=? WHERE id=?"; OdbcCommand cmd = new OdbcCommand(sqlStr, conn); cmd.Parameters.AddWithValue("@name", curRec.Name); cmd.Parameters.AddWithValue("@water", curRec.Water.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@caloric", curRec.Caloric.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@fat", curRec.fat.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@acid", curRec.acid.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@ash", curRec.ash.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@cholesterol", curRec.cholesterol.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@protein", curRec.protein.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@starch", curRec.starch.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@saccharides", curRec.saccharides.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@cellulose", curRec.cellulose.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminA", curRec.vitaminA.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminB", curRec.VitaminB.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminB1", curRec.VitaminB1.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminB2", curRec.VitaminB2.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminPP", curRec.VitaminPP.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminC", curRec.VitaminC.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralK", curRec.MineralK.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralNa", curRec.MineralNA.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralCa", curRec.MineralCA.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralMg", curRec.MineralMG.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralP", curRec.MineralP.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralFe", curRec.MineralFE.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@comment", curRec.Comment); cmd.Parameters.AddWithValue("@normativDoc", curRec.NormativDoc); cmd.Parameters.AddWithValue("@brutto", curRec.Brutto.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@inSostav", curRec.InSostav); cmd.Parameters.AddWithValue("@inRecept", curRec.InRecept); cmd.Parameters.AddWithValue("@id", curRec.Id.ToString(CultureInfo.InvariantCulture)); //throw new Exception("The method or operation is not implemented."); int ret = 0; try { if (this.conn.State == ConnectionState.Closed) { this.conn.Open(); } this.adapter.UpdateCommand = cmd; ret = this.adapter.UpdateCommand.ExecuteNonQuery(); } catch (System.Exception e) { MessageBox.Show("Обновление записи неудачно:\n " + e.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, 0); return; } if (ret != 1) { MessageBox.Show("Во время обновления произошла ошибка", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, 0); } curRec.IsChanged = false; }
/// <summary> /// окончание работы со списком /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cbName_Leave(object sender, EventArgs e) { //cbName.Visible = false; TreeGridNode curNode = cbName.Tag as TreeGridNode; DataRawStruct curSel = cbName.SelectedItem as DataRawStruct; if (curNode == null || curSel == null) { return; } DataRaw curRaw = curNode.Tag as DataRaw; // родительский объект DataBase par = curRaw == null ? myData : curRaw.Parent; // определение родительского объекта if (curRaw == null && curNode.Parent != null && curNode.Parent.Index >= 0 && curNode.Parent.Tag != null) { par = curNode.Parent.Tag as DataBase; } // если if (curRaw == null) { curRaw = new DataRaw(par); //curNode.Tag = curRaw; //if (curNode.Parent == null) // dgvRawList.Nodes.Add(null, null, null, null, null, null); //else // curNode.Parent.Nodes.Add(null, null, null, null, null, null); } if (curSel != null) { curRaw.RawStruct = curSel; } else { if (curRaw.RawStruct != null) { curRaw.RawStruct = null; } } if (curNode.Tag == null) { par.Components.Add(curRaw); } //curNode.Selected = true; //dgvRawList.EndEdit(); //dgvRawList.Focus(); }
/// <summary> /// Получение порядкового номера по списку компонент /// </summary> /// <param name="dataRawStruct">структура компоненты</param> /// <returns>порядковый номер</returns> internal int GetRawNum(DataRawStruct dataRawStruct) { for (int i = 0; i < RawList.Count; i++) { if ((RawList[i] as DataRawStruct).Id == dataRawStruct.Id) { return(i); } } return(-1); //throw new Exception("The method or operation is not implemented."); }
/// <summary> /// группировка сырья с суммированием количества /// </summary> /// <returns>ключ=DataRawStruct, значение=DataRaw (заполнено quantity и brutto)</returns> internal Hashtable GroupRaws(bool isRecursive) { Hashtable ret = new Hashtable(); foreach (DataBase dr in this.Components) { // если это рецептура полуфабриката if (dr is DataRecept) { if (isRecursive) { Hashtable curRec = (dr as DataRecept).GroupRaws(isRecursive); foreach (DataRawStruct curRaw in curRec.Keys) { if (!ret.ContainsKey(curRaw)) { ret[curRaw] = new DataRaw(null); } (ret[curRaw] as DataRaw).Quantity += (curRec[curRaw] as DataRaw).Quantity; (ret[curRaw] as DataRaw).Brutto += (curRec[curRaw] as DataRaw).Brutto; } } continue; } DataRawStruct rawStr = (dr as DataRaw).RawStruct; if (rawStr == null) { continue; } Decimal brutto = (dr as DataRaw).Brutto; Decimal netto = (dr as DataRaw).Quantity; if (brutto != 0 && netto == 0 && rawStr.Brutto != 0) { netto = brutto / rawStr.Brutto; } if (brutto == 0 && netto != 0 && rawStr.Brutto != 0) { brutto = netto * rawStr.Brutto; } if (!ret.ContainsKey(rawStr)) { ret[rawStr] = new DataRaw(null); } (ret[rawStr] as DataRaw).Quantity += netto; (ret[rawStr] as DataRaw).Brutto += brutto; } return(ret); }
/// <summary> /// загрузка данных по сырью из xml файла /// </summary> /// <param name="root">узел со списком компонент</param> /// <param name="par">родительская структура</param> /// <returns></returns> public static BindingList <DataBase> LoadManyFromXml(XmlNode root, DataBase par, ReceptVersion curVer) { BindingList <DataBase> ret = new BindingList <DataBase>(); switch (curVer) { case ReceptVersion.Version0: throw new NotImplementedException("not implemented"); case ReceptVersion.Version1: foreach (XmlNode curNode in root.ChildNodes) { if (curNode.Name.Equals("recept")) { ret.Add(DataRecept.LoadFromXml(curNode, par, curVer)); } else // это лист с сырьем { DataRaw curRaw = new DataRaw(par); curRaw.BeginUpdate(); foreach (XmlNode curRawNode in curNode.ChildNodes) { switch (curRawNode.Name) { case "quantity": curRaw.Quantity = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "comment": curRaw.Comment = curRawNode.InnerText; break; case "brutto": curRaw.myBrutto = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "rawStruct": curRaw.myRawStruct = DataRawStruct.LoadFromXml(curRawNode, curRaw, DataBaseType.RawType); break; case "processLoss": curRaw.myProcessLoss = DataRawStruct.LoadFromXml(curRawNode, curRaw, DataBaseType.ProcessLossType); break; } } curRaw.EndUpdate(false); curRaw.IsChanged = false; ret.Add(curRaw); } } break; default: throw new NotImplementedException("not implemented"); } return(ret); }
internal DataRawStruct FindProcessLoss(DataRawStruct curRec) { if (curRec == null) { return(null); } // шаг 1. Берем компоненту с таким ID DataRawStruct ret = this.GetProcessLossByNum(curRec.Id); if (ret != null && curRec.EqualVal(ret)) { return(ret); } // шаг 2. Ищем такую компоненту в БД без учета ID return(this.GetProcessLossByNum(FindDataRawStruct(curRec, "processLoss"))); }
public object Clone() { DataRawStruct ret = new DataRawStruct(this.Parent); ret.BeginUpdate(); ret.pBrutto = pBrutto; ret.myCaloric = myCaloric; ret._starch = _starch; ret._saccharides = _saccharides; ret._cellulose = _cellulose; ret._cholesterol = _cholesterol; ret._fat = _fat; ret._acid = _acid; ret._ash = _ash; ret.m_mineralCA = m_mineralCA; ret.m_mineralFE = m_mineralFE; ret.m_mineralK = m_mineralK; ret.m_mineralMG = m_mineralMG; ret.m_mineralNA = m_mineralNA; ret.m_mineralP = m_mineralP; ret.m_normativDoc = m_normativDoc; ret._protein = _protein; ret._vitaminA = _vitaminA; ret._vitaminB = _vitaminB; ret._vitaminB1 = _vitaminB1; ret._vitaminB2 = _vitaminB2; ret.m_vitaminC = m_vitaminC; ret._vitaminPP = _vitaminPP; ret.myWater = myWater; ret.Id = this.Id; ret.Comment = this.Comment; ret.Name = this.Name; ret.Quantity = this.Quantity; ret.pInSostav = pInSostav; ret.pInRecept = pInRecept; return(ret); //throw new Exception("The method or operation is not implemented."); }
void FillDataRawStruct() { DataRawStruct br = (DataRawStruct)myBaseRec; DataRawStruct cr = (DataRawStruct)myCurRec; DataRawStruct ur = (DataRawStruct)myUserRec; FillTableRecord(false, "Наименование", br == null? null : br.Name, cr == null ? null : cr.Name, ur == null ? null : ur.Name); FillTableRecord(cbHideEqual.Checked, "Влажность", br == null ? 0 : br.Water, cr == null ? 0 : cr.Water, ur == null ? 0 : ur.Water); FillTableRecord(cbHideEqual.Checked, "Калорийность", br == null ? 0 : br.Caloric, cr == null ? 0 : cr.Caloric, ur == null ? 0 : ur.Caloric); FillTableRecord(cbHideEqual.Checked, "Жирность", br == null ? 0 : br.fat, cr == null ? 0 : cr.fat, ur == null ? 0 : ur.fat); FillTableRecord(cbHideEqual.Checked, "Холестерин", br == null ? 0 : br.cholesterol, cr == null ? 0 : cr.cholesterol, ur == null ? 0 : ur.cholesterol); FillTableRecord(cbHideEqual.Checked, "Белки", br == null ? 0 : br.protein, cr == null ? 0 : cr.protein, ur == null ? 0 : ur.protein); FillTableRecord(cbHideEqual.Checked, "Крахмал", br == null ? 0 : br.starch, cr == null ? 0 : cr.starch, ur == null ? 0 : ur.starch); FillTableRecord(cbHideEqual.Checked, "Моно и дисахариды", br == null ? 0 : br.saccharides, cr == null ? 0 : cr.saccharides, ur == null ? 0 : ur.saccharides); FillTableRecord(cbHideEqual.Checked, "Органические кислоты", br == null ? 0 : br.acid, cr == null ? 0 : cr.acid, ur == null ? 0 : ur.acid); FillTableRecord(cbHideEqual.Checked, "Зола", br == null ? 0 : br.ash, cr == null ? 0 : cr.ash, ur == null ? 0 : ur.ash); FillTableRecord(cbHideEqual.Checked, "Клетчатка", br == null ? 0 : br.cellulose, cr == null ? 0 : cr.cellulose, ur == null ? 0 : ur.cellulose); FillTableRecord(cbHideEqual.Checked, "Витамин A", br == null ? 0 : br.vitaminA, cr == null ? 0 : cr.vitaminA, ur == null ? 0 : ur.vitaminA); FillTableRecord(cbHideEqual.Checked, "Витамин B", br == null ? 0 : br.VitaminB, cr == null ? 0 : cr.VitaminB, ur == null ? 0 : ur.VitaminB); FillTableRecord(cbHideEqual.Checked, "Витамин B1", br == null ? 0 : br.VitaminB1, cr == null ? 0 : cr.VitaminB1, ur == null ? 0 : ur.VitaminB1); FillTableRecord(cbHideEqual.Checked, "Витамин B2", br == null ? 0 : br.VitaminB2, cr == null ? 0 : cr.VitaminB2, ur == null ? 0 : ur.VitaminB2); FillTableRecord(cbHideEqual.Checked, "Витамин C", br == null ? 0 : br.VitaminC, cr == null ? 0 : cr.VitaminC, ur == null ? 0 : ur.VitaminC); FillTableRecord(cbHideEqual.Checked, "Минерал K", br == null ? 0 : br.MineralK, cr == null ? 0 : cr.MineralK, ur == null ? 0 : ur.MineralK); FillTableRecord(cbHideEqual.Checked, "Минерал Na", br == null ? 0 : br.MineralNA, cr == null ? 0 : cr.MineralNA, ur == null ? 0 : ur.MineralNA); FillTableRecord(cbHideEqual.Checked, "Минерал Ca", br == null ? 0 : br.MineralCA, cr == null ? 0 : cr.MineralCA, ur == null ? 0 : ur.MineralCA); FillTableRecord(cbHideEqual.Checked, "Минерал Mg", br == null ? 0 : br.MineralMG, cr == null ? 0 : cr.MineralMG, ur == null ? 0 : ur.MineralMG); FillTableRecord(cbHideEqual.Checked, "Минерал P", br == null ? 0 : br.MineralP, cr == null ? 0 : cr.MineralP, ur == null ? 0 : ur.MineralP); FillTableRecord(cbHideEqual.Checked, "Минерал Fe", br == null ? 0 : br.MineralFE, cr == null ? 0 : cr.MineralFE, ur == null ? 0 : ur.MineralFE); FillTableRecord(cbHideEqual.Checked, "Нормативный документ", br == null ? null : br.NormativDoc, cr == null ? null : cr.NormativDoc, ur == null ? null : ur.NormativDoc); FillTableRecord(cbHideEqual.Checked, "Брутто/Нетто", br == null ? 0 : br.Brutto, cr == null ? 0 : cr.Brutto, ur == null ? 0 : ur.Brutto); FillTableRecord(cbHideEqual.Checked, "Отображение в списке состава", br == null ? true : br.InSostav, cr == null ? true : cr.InSostav, ur == null ? true : ur.InSostav); FillTableRecord(cbHideEqual.Checked, "Отображение элемента в рецептуре", br == null ? true : br.InRecept, cr == null ? true : cr.InRecept, ur == null ? true : ur.InRecept); FillTableRecord(cbHideEqual.Checked, "Комментарий", br == null ? null : br.Comment, cr == null ? null : cr.Comment, ur == null ? null : ur.Comment); }
internal void UpdateRaw(DataRawStruct curRec) { UpdateDataRawStruct(curRec, "comps"); SendRawChanged(); }
internal void UpdateProcessLoss(DataRawStruct curRec) { UpdateDataRawStruct(curRec, "processLoss"); SendProcessLossChanged(); }
internal void AddRaw(DataRawStruct curRec) { AddDataRawStruct(curRec, "comps"); SendRawChanged(); }
internal void AddProcessLoss(DataRawStruct curRec) { AddDataRawStruct(curRec, "processLoss"); SendProcessLossChanged(); }
/// <summary> /// Поиск записи о компоненте пользователя в БД /// </summary> /// <param name="curRaw">компонента пользователя</param> /// <returns>найденная запись если есть</returns> protected abstract int FindSimilarDataRawStruct(DataRawStruct curRec, string tableName);
/// <summary> /// Поиск записи о компоненте пользователя в БД /// </summary> /// <param name="curRaw">компонента пользователя</param> /// <returns>найденная запись если есть</returns> protected override int FindDataRawStruct(DataRawStruct curRec, string tableName) { string sqlStr = "SELECT id FROM " + tableName + " WHERE name=? AND water=? AND caloric=? AND fat=? AND acid=? AND ash=? AND cholesterol=? AND protein=? AND starch=? AND saccharides=? AND cellulose=? AND vitaminA=? AND vitaminB=? AND vitaminB1=? AND vitaminB2=? AND vitaminPP=? AND vitaminC=? AND mineralK=? AND mineralNa=? AND mineralCa=? AND mineralMg=? AND mineralP=? AND mineralFe=? AND normativDoc=? AND brutto=? AND inSostav=? AND inRecept=?"; OdbcCommand cmd = new OdbcCommand(sqlStr, conn); cmd.Parameters.AddWithValue("@name", curRec.Name); cmd.Parameters.AddWithValue("@water", curRec.Water.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@caloric", curRec.Caloric.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@fat", curRec.fat.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@acid", curRec.acid.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@ash", curRec.ash.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@cholesterol", curRec.cholesterol.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@protein", curRec.protein.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@starch", curRec.starch.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@saccharides", curRec.saccharides.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@cellulose", curRec.cellulose.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminA", curRec.vitaminA.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminB", curRec.VitaminB.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminB1", curRec.VitaminB1.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminB2", curRec.VitaminB2.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminPP", curRec.VitaminPP.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@vitaminC", curRec.VitaminC.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralK", curRec.MineralK.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralNa", curRec.MineralNA.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralCa", curRec.MineralCA.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralMg", curRec.MineralMG.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralP", curRec.MineralP.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@mineralFe", curRec.MineralFE.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@normativDoc", curRec.NormativDoc); cmd.Parameters.AddWithValue("@brutto", curRec.Brutto.ToString(CultureInfo.InvariantCulture)); cmd.Parameters.AddWithValue("@inSostav", curRec.InSostav); cmd.Parameters.AddWithValue("@inRecept", curRec.InRecept); //throw new Exception("The method or operation is not implemented."); DataTable comp_table = null; try { if (this.conn.State == ConnectionState.Closed) { this.conn.Open(); } this.adapter.SelectCommand = cmd; DataSet ds = new DataSet("tables"); ds.Locale = CultureInfo.InvariantCulture; this.adapter.Fill(ds); comp_table = ds.Tables[0]; } catch (OdbcException pe) { MessageBox.Show(pe.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, 0); return(-1); } if (comp_table.Rows.Count == 0) { return(-1); } return(Convert.ToInt32(comp_table.Rows[0][0], CultureInfo.InvariantCulture)); //throw new Exception("The method or operation is not implemented."); }
internal void DeleteProcessLoss(DataRawStruct curRec) { DeleteRecord(curRec, DataProvider.ProcessLossTable); SendProcessLossChanged(); }
protected abstract void UpdateDataRawStruct(DataRawStruct curRec, string tableName);
internal void DeleteRaw(DataRawStruct curRec) { DeleteRecord(curRec, DataProvider.DataRawTable); SendRawChanged(); }
public static DataRawStruct LoadFromXml(XmlNode root, DataBase par, DataBaseType curType) { DataRawStruct curRaw = new DataRawStruct(par); curRaw.BeginUpdate(); curRaw.Id = int.Parse(root.Attributes["id"].Value, CultureInfo.CurrentCulture); foreach (XmlNode curRawNode in root.ChildNodes) { switch (curRawNode.Name) { case "brutto": curRaw.pBrutto = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "caloric": curRaw.myCaloric = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "starch": curRaw._starch = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "saccharides": curRaw._saccharides = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "cellulose": curRaw._cellulose = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "cholesterol": curRaw._cholesterol = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "comment": curRaw.Comment = curRawNode.InnerText.ToString(); break; case "fat": curRaw._fat = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "acid": curRaw._acid = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "ash": curRaw._ash = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "mineralCa": curRaw.m_mineralCA = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "mineralFe": curRaw.m_mineralFE = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "mineralK": curRaw.m_mineralK = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "mineralMg": curRaw.m_mineralMG = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "mineralNa": curRaw.m_mineralNA = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "mineralP": curRaw.m_mineralP = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "normativDoc": curRaw.m_normativDoc = curRawNode.InnerText.ToString(); break; case "protein": curRaw._protein = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "vitaminA": curRaw._vitaminA = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "vitaminB": curRaw._vitaminB = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "vitaminB1": curRaw._vitaminB1 = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "vitaminB2": curRaw._vitaminB2 = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "vitaminC": curRaw.m_vitaminC = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "vitaminPP": curRaw._vitaminPP = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "water": curRaw.myWater = Convert.ToDecimal(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "name": curRaw.Name = curRawNode.InnerText; break; case "inRecept": curRaw.pInRecept = Convert.ToBoolean(curRawNode.InnerText, CultureInfo.CurrentCulture); break; case "inSostav": curRaw.pInSostav = Convert.ToBoolean(curRawNode.InnerText, CultureInfo.CurrentCulture); break; //case "quantity": curRaw._quantity = Convert.ToDecimal(curRawNode.InnerText); break; } } curRaw.EndUpdate(false); curRaw.IsChanged = false; // ищем эту или похожую компоненту в БД DataRawStruct ret; switch (curType) { case DataBaseType.RawType: ret = Config.DP.FindRaw(curRaw); if (ret == null) { FormCompare frm = new FormCompare(curRaw, Config.DP.FindSimilarRaw(curRaw), curType); frm.ShowDialog(); ret = (DataRawStruct)frm.UserRec; } break; case DataBaseType.ProcessLossType: ret = Config.DP.FindProcessLoss(curRaw); if (ret == null) { FormCompare frm = new FormCompare(curRaw, Config.DP.FindSimilarProcessLoss(curRaw), curType); frm.ShowDialog(); ret = (DataRawStruct)frm.UserRec; } break; default: throw new NotImplementedException("Не реализовано"); } //ret.Add(curRaw); return(ret); }
/// <summary> /// расчет рецептуры /// </summary> /// <returns>результаты расчета</returns> internal void CalcRecept() { // инициализация this.myCalcProperty = new DataRawStruct(null); this.myCalcSumNetto = 0; this.myCalcSumSuhie = 0; // Потери текущего элемента. DataRawStruct prLoss; // расчет закладки по количеству и сухим веществам foreach (DataBase curRec in Components) { Decimal netto = 0; DataRawStruct curRaw = null; if (curRec is DataRecept) { // расчет вложенной рецептуры DataRecept introRec = (DataRecept)curRec; introRec.CalcRecept(); netto = introRec.CalcSumNetto; curRaw = introRec.CalcProperty; prLoss = new DataRawStruct(null); this.myCalcSumSuhie += introRec.CalcSumSuhie; } else { // Расчет компоненты DataRaw dr = (DataRaw)curRec; netto = dr.Quantity; curRaw = dr.RawStruct; // если элемент пустой, то пропускаем его if (curRaw == null) { continue; } if (dr.Brutto == 0 && netto != 0 && curRaw.Brutto != 0) { dr.Brutto = netto * curRaw.Brutto; } if (dr.Brutto != 0 && netto == 0 && curRaw.Brutto != 0) { netto = dr.Brutto / curRaw.Brutto; } // если не заданы потери, то создаем пустые (без потерь) if (dr.ProcessLoss != null) { prLoss = dr.ProcessLoss; } else { prLoss = new DataRawStruct(null); } // добавление сухих веществ this.myCalcSumSuhie += netto * (100 - curRaw.Water) * (100 - prLoss.Brutto) / 10000; } // расчет = сумма (количество, уменьшенное на потерю при термической обработке и умноженное на присутствие // исходные данные указаны в % (кроме веса и калорийности) this.myCalcSumNetto += netto * (100 - prLoss.Brutto) / 100; this.myCalcProperty.Water += curRaw.Water * netto * (100 - prLoss.Water) / 10000; this.myCalcProperty.Caloric += curRaw.Caloric * netto * (100 - prLoss.Caloric) / 10000; // калории на 100г., поэтому еще делим и на 100 this.myCalcProperty.starch += curRaw.starch * netto * (100 - prLoss.starch) / 10000; this.myCalcProperty.saccharides += curRaw.saccharides * netto * (100 - prLoss.saccharides) / 10000; this.myCalcProperty.cellulose += curRaw.cellulose * netto * (100 - prLoss.cellulose) / 10000; this.myCalcProperty.cholesterol += curRaw.cholesterol * netto * (100 - prLoss.cholesterol) / 10000; this.myCalcProperty.fat += curRaw.fat * netto * (100 - prLoss.fat) / 10000; this.myCalcProperty.acid += curRaw.acid * netto * (100 - prLoss.acid) / 10000; this.myCalcProperty.ash += curRaw.ash * netto * (100 - prLoss.ash) / 10000; this.myCalcProperty.MineralCA += curRaw.MineralCA * netto * (100 - prLoss.MineralCA) / 10000; this.myCalcProperty.MineralFE += curRaw.MineralFE * netto * (100 - prLoss.MineralFE) / 10000; this.myCalcProperty.MineralK += curRaw.MineralK * netto * (100 - prLoss.MineralK) / 10000; this.myCalcProperty.MineralMG += curRaw.MineralMG * netto * (100 - prLoss.MineralMG) / 10000; this.myCalcProperty.MineralNA += curRaw.MineralNA * netto * (100 - prLoss.MineralNA) / 10000; this.myCalcProperty.MineralP += curRaw.MineralP * netto * (100 - prLoss.MineralP) / 10000; this.myCalcProperty.protein += curRaw.protein * netto * (100 - prLoss.protein) / 10000; this.myCalcProperty.vitaminA += curRaw.vitaminA * netto * (100 - prLoss.vitaminA) / 10000; this.myCalcProperty.VitaminB += curRaw.VitaminB * netto * (100 - prLoss.VitaminB) / 10000; this.myCalcProperty.VitaminB1 += curRaw.VitaminB1 * netto * (100 - prLoss.VitaminB1) / 10000; this.myCalcProperty.VitaminB2 += curRaw.VitaminB2 * netto * (100 - prLoss.VitaminB2) / 10000; this.myCalcProperty.VitaminC += curRaw.VitaminC * netto * (100 - prLoss.VitaminC) / 10000; this.myCalcProperty.VitaminPP += curRaw.VitaminPP * netto * (100 - prLoss.VitaminPP) / 10000; } // Расчет по выходу if (myIsCalcExit && this.myTotalExit > 0) { if (this._totalLoss != null) { this.myCalcExitSuhie = this.myCalcSumSuhie * (100 - this._totalLoss.Quantity) / 100; } else { this.myCalcExitSuhie = this.myCalcSumSuhie; } this.myCalcExitNetto = this.myTotalExit; } else // расчет по воде if (myIsCalcWater && this.water > 0) { if (this._totalLoss != null) { this.myCalcExitSuhie = this.myCalcSumSuhie * (100 - this._totalLoss.Quantity) / 100; } else { this.myCalcExitSuhie = this.myCalcSumSuhie; } this.myCalcExitNetto = this.myCalcExitSuhie / (100 - this._water) * 100; } else // расчет воды по выходу и влажности if (myIsSetWater && this._water > 0 && this.myTotalExit > 0) { DataRawStruct waterRaw = Config.DP.GetRawByNum(Config.Cfg.WaterId); if (waterRaw == null) { throw new InvalidDataException("Не задана вода для расчета в рецептуре"); } if (this._totalLoss != null) { this.myCalcExitSuhie = this.myCalcSumSuhie * (100 - this._totalLoss.Quantity) / 100; } else { this.myCalcExitSuhie = this.myCalcSumSuhie; } this.myCalcExitNetto = this.myTotalExit; //decimal waterVal = this.myCalcExitSuhie / (100 - this._water) * 100 - this.myCalcExitNetto; throw new NotImplementedException("Дописать расчет воды по выходу и влажности"); } else { // Просто без расчета this.myCalcExitNetto = this.myCalcSumNetto; this.myCalcExitSuhie = this.myCalcSumSuhie; } if (this.myCalcExitNetto <= 0) { throw new OverflowException("Выход у рецептуры меньше или равен нулю"); } // пересчет значений в процентах this.myCalcProperty.Water /= this.myCalcExitNetto / 100; this.myCalcProperty.Caloric /= this.myCalcExitNetto / 100; this.myCalcProperty.starch /= this.myCalcExitNetto / 100; this.myCalcProperty.saccharides /= this.myCalcExitNetto / 100; this.myCalcProperty.cellulose /= this.myCalcExitNetto / 100; this.myCalcProperty.cholesterol /= this.myCalcExitNetto / 100; this.myCalcProperty.fat /= this.myCalcExitNetto / 100; this.myCalcProperty.acid /= this.myCalcExitNetto / 100; this.myCalcProperty.ash /= this.myCalcExitNetto / 100; this.myCalcProperty.MineralCA /= this.myCalcExitNetto / 100; this.myCalcProperty.MineralFE /= this.myCalcExitNetto / 100; this.myCalcProperty.MineralK /= this.myCalcExitNetto / 100; this.myCalcProperty.MineralMG /= this.myCalcExitNetto / 100; this.myCalcProperty.MineralNA /= this.myCalcExitNetto / 100; this.myCalcProperty.MineralP /= this.myCalcExitNetto / 100; this.myCalcProperty.protein /= this.myCalcExitNetto / 100; this.myCalcProperty.vitaminA /= this.myCalcExitNetto / 100; this.myCalcProperty.VitaminB /= this.myCalcExitNetto / 100; this.myCalcProperty.VitaminB1 /= this.myCalcExitNetto / 100; this.myCalcProperty.VitaminB2 /= this.myCalcExitNetto / 100; this.myCalcProperty.VitaminC /= this.myCalcExitNetto / 100; this.myCalcProperty.VitaminPP /= this.myCalcExitNetto / 100; }
protected override SortableBindingList <DataRawStruct> LoadDataRawList(string tableName) { DataTable comp_table = null; String sql = "SELECT * FROM " + tableName + " ORDER BY name ASC"; try { if (this.conn.State == ConnectionState.Closed) { this.conn.Open(); } this.adapter.SelectCommand = new OdbcCommand(sql, this.conn); DataSet ds = new DataSet("tables"); ds.Locale = CultureInfo.InvariantCulture; this.adapter.Fill(ds); comp_table = ds.Tables[0]; } catch (OdbcException pe) { MessageBox.Show(pe.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, 0); return(null); } SortableBindingList <DataRawStruct> ret = new SortableBindingList <DataRawStruct>(); for (int i = 0; i < comp_table.Rows.Count; i++) { DataRawStruct curRec = new DataRawStruct(null); curRec.Brutto = Convert.ToDecimal(comp_table.Rows[i]["brutto"] is DBNull ? 0 : comp_table.Rows[i]["brutto"], CultureInfo.InvariantCulture); curRec.Caloric = Convert.ToDecimal(comp_table.Rows[i]["caloric"] is DBNull ? 0 : comp_table.Rows[i]["caloric"], CultureInfo.InvariantCulture); curRec.starch = Convert.ToDecimal(comp_table.Rows[i]["starch"] is DBNull ? 0 : comp_table.Rows[i]["starch"], CultureInfo.InvariantCulture); curRec.saccharides = Convert.ToDecimal(comp_table.Rows[i]["saccharides"] is DBNull ? 0 : comp_table.Rows[i]["saccharides"], CultureInfo.InvariantCulture); curRec.cellulose = Convert.ToDecimal(comp_table.Rows[i]["cellulose"] is DBNull ? 0 : comp_table.Rows[i]["cellulose"], CultureInfo.InvariantCulture); curRec.cholesterol = Convert.ToDecimal(comp_table.Rows[i]["cholesterol"] is DBNull ? 0 : comp_table.Rows[i]["cholesterol"], CultureInfo.InvariantCulture); curRec.Comment = comp_table.Rows[i]["comment"].ToString(); curRec.fat = Convert.ToDecimal(comp_table.Rows[i]["fat"] is DBNull ? 0 : comp_table.Rows[i]["fat"], CultureInfo.InvariantCulture); curRec.acid = Convert.ToDecimal(comp_table.Rows[i]["acid"] is DBNull ? 0 : comp_table.Rows[i]["acid"], CultureInfo.InvariantCulture); curRec.ash = Convert.ToDecimal(comp_table.Rows[i]["ash"] is DBNull ? 0 : comp_table.Rows[i]["ash"], CultureInfo.InvariantCulture); curRec.Id = Convert.ToInt32(comp_table.Rows[i]["id"], CultureInfo.InvariantCulture); curRec.MineralCA = Convert.ToDecimal(comp_table.Rows[i]["mineralCa"] is DBNull ? 0 : comp_table.Rows[i]["mineralCa"], CultureInfo.InvariantCulture); curRec.MineralFE = Convert.ToDecimal(comp_table.Rows[i]["mineralFe"] is DBNull ? 0 : comp_table.Rows[i]["mineralFe"], CultureInfo.InvariantCulture); curRec.MineralK = Convert.ToDecimal(comp_table.Rows[i]["mineralK"] is DBNull ? 0 : comp_table.Rows[i]["mineralK"], CultureInfo.InvariantCulture); curRec.MineralMG = Convert.ToDecimal(comp_table.Rows[i]["mineralMg"] is DBNull ? 0 : comp_table.Rows[i]["mineralMg"], CultureInfo.InvariantCulture); curRec.MineralNA = Convert.ToDecimal(comp_table.Rows[i]["mineralNa"] is DBNull ? 0 : comp_table.Rows[i]["mineralNa"], CultureInfo.InvariantCulture); curRec.MineralP = Convert.ToDecimal(comp_table.Rows[i]["mineralP"] is DBNull ? 0 : comp_table.Rows[i]["mineralP"], CultureInfo.InvariantCulture); curRec.Name = comp_table.Rows[i]["name"].ToString(); curRec.NormativDoc = comp_table.Rows[i]["normativDoc"].ToString(); curRec.protein = Convert.ToDecimal(comp_table.Rows[i]["protein"] is DBNull ? 0 : comp_table.Rows[i]["protein"], CultureInfo.InvariantCulture); curRec.vitaminA = Convert.ToDecimal(comp_table.Rows[i]["vitaminA"] is DBNull ? 0 : comp_table.Rows[i]["vitaminA"], CultureInfo.InvariantCulture); curRec.VitaminB = Convert.ToDecimal(comp_table.Rows[i]["vitaminB"] is DBNull ? 0 : comp_table.Rows[i]["vitaminB"], CultureInfo.InvariantCulture); curRec.VitaminB1 = Convert.ToDecimal(comp_table.Rows[i]["vitaminB1"] is DBNull ? 0 : comp_table.Rows[i]["vitaminB1"], CultureInfo.InvariantCulture); curRec.VitaminB2 = Convert.ToDecimal(comp_table.Rows[i]["vitaminB2"] is DBNull ? 0 : comp_table.Rows[i]["vitaminB2"], CultureInfo.InvariantCulture); curRec.VitaminC = Convert.ToDecimal(comp_table.Rows[i]["vitaminC"] is DBNull ? 0 : comp_table.Rows[i]["vitaminC"], CultureInfo.InvariantCulture); curRec.VitaminPP = Convert.ToDecimal(comp_table.Rows[i]["vitaminPP"] is DBNull ? 0 : comp_table.Rows[i]["vitaminPP"], CultureInfo.InvariantCulture); curRec.Water = Convert.ToDecimal(comp_table.Rows[i]["water"] is DBNull ? 0 : comp_table.Rows[i]["water"], CultureInfo.InvariantCulture); if (comp_table.Columns.Contains("inSostav")) { curRec.InSostav = Convert.ToBoolean(comp_table.Rows[i]["inSostav"] is DBNull ? true : comp_table.Rows[i]["inSostav"], CultureInfo.InvariantCulture); } if (comp_table.Columns.Contains("inRecept")) { curRec.InRecept = Convert.ToBoolean(comp_table.Rows[i]["inRecept"] is DBNull ? true : comp_table.Rows[i]["inRecept"], CultureInfo.InvariantCulture); } curRec.IsChanged = false; ret.Add(curRec); } return(ret); }
internal void SetData(DataRawStruct p, DataBaseType RecType) { _recType = RecType; // меняем фейс switch (_recType) { case DataBaseType.ProcessLossType: label1.Text = "Потери при тепловой обработке"; label4.Text = "Потеря массы"; cboxInRecept.Visible = false; cboxInSostav.Visible = false; break; case DataBaseType.RawType: label1.Text = "Сырье"; label4.Text = "Брутто/Нетто"; cboxInRecept.Visible = true; cboxInSostav.Visible = true; break; default: throw new Exception("Не реализовано"); } // меняем данные if (p != null) { this.tbBrutto.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbCaloric.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbStarch.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbSaccharides.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbCellulose.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbCholesterol.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbComment.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbFat.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbAcid.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbAsh.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbMinCa.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbMinFe.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbMinK.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbMinMg.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbMinNa.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbMinP.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbName.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbNormativ.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbNum.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbProtein.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbVitA.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbVitB.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbVitB1.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbVitB2.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbVitC.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbVitPP.TextChanged -= new System.EventHandler(this.tbTextChanged); this.tbWater.TextChanged -= new System.EventHandler(this.tbTextChanged); this.cboxInRecept.CheckedChanged -= new System.EventHandler(this.cboxCheckedChanged); this.cboxInSostav.CheckedChanged -= new System.EventHandler(this.cboxCheckedChanged); _data = p; tbBrutto.Text = p.Brutto.ToString(CultureInfo.CurrentCulture); tbCaloric.Text = p.Caloric.ToString(CultureInfo.CurrentCulture); tbStarch.Text = p.starch.ToString(CultureInfo.CurrentCulture); tbSaccharides.Text = p.saccharides.ToString(CultureInfo.CurrentCulture); tbCellulose.Text = p.cellulose.ToString(CultureInfo.CurrentCulture); tbCholesterol.Text = p.cholesterol.ToString(CultureInfo.CurrentCulture); tbComment.Text = p.Comment; tbFat.Text = p.fat.ToString(CultureInfo.CurrentCulture); tbAcid.Text = p.acid.ToString(CultureInfo.CurrentCulture); tbAsh.Text = p.ash.ToString(CultureInfo.CurrentCulture); tbMinCa.Text = p.MineralCA.ToString(CultureInfo.CurrentCulture); tbMinFe.Text = p.MineralFE.ToString(CultureInfo.CurrentCulture); tbMinK.Text = p.MineralK.ToString(CultureInfo.CurrentCulture); tbMinMg.Text = p.MineralMG.ToString(CultureInfo.CurrentCulture); tbMinNa.Text = p.MineralNA.ToString(CultureInfo.CurrentCulture); tbMinP.Text = p.MineralP.ToString(CultureInfo.CurrentCulture); tbName.Text = p.Name; tbNormativ.Text = p.NormativDoc; tbNum.Text = p.Id.ToString(CultureInfo.CurrentCulture); tbProtein.Text = p.protein.ToString(CultureInfo.CurrentCulture); tbVitA.Text = p.vitaminA.ToString(CultureInfo.CurrentCulture); tbVitB.Text = p.VitaminB.ToString(CultureInfo.CurrentCulture); tbVitB1.Text = p.VitaminB1.ToString(CultureInfo.CurrentCulture); tbVitB2.Text = p.VitaminB2.ToString(CultureInfo.CurrentCulture); tbVitC.Text = p.VitaminC.ToString(CultureInfo.CurrentCulture); tbVitPP.Text = p.VitaminPP.ToString(CultureInfo.CurrentCulture); tbWater.Text = p.Water.ToString(CultureInfo.CurrentCulture); cboxInRecept.Checked = p.InRecept; cboxInSostav.Checked = p.InSostav; this.tbBrutto.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbCaloric.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbStarch.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbSaccharides.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbCellulose.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbCholesterol.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbComment.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbFat.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbAcid.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbAsh.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbMinCa.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbMinFe.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbMinK.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbMinMg.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbMinNa.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbMinP.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbName.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbNormativ.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbNum.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbProtein.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbVitA.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbVitB.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbVitB1.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbVitB2.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbVitC.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbVitPP.TextChanged += new System.EventHandler(this.tbTextChanged); this.tbWater.TextChanged += new System.EventHandler(this.tbTextChanged); this.cboxInRecept.CheckedChanged += new System.EventHandler(this.cboxCheckedChanged); this.cboxInSostav.CheckedChanged += new System.EventHandler(this.cboxCheckedChanged); } }