コード例 #1
0
        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.");
        }
コード例 #2
0
        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);
        }