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."); }
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); }