Ejemplo n.º 1
0
    //Clone ConstraintOnModel

    //Clone Tag
    public static Tag cloneTag(Tag tag)
    {
        // Tag tagCloned = new Tag();
        Tag tagCloned = (Tag)CloneModel.cloneString(tag);

        return(tagCloned);
    }
Ejemplo n.º 2
0
    //Clone StoreOptional

    //Clone Quantative

    //Clone Model/SubModel
    public static Model cloneModel(Model _model)
    {
        Model modelCloned = new Model(new OptionalDesc(), new List <Model>());

        //Clone OptionalDescription
        modelCloned.description = OptionalDesc.clonedDescription(_model.description);

        //Clone ConstraintOnModel


        //Clone Tag
        if (_model.description.tag != null)
        {
            modelCloned.description.tag = (Tag)CloneModel.cloneString(_model.description.tag);
        }

        //Clone Name
        if (_model.description.name != null)
        {
            modelCloned.description.name = CloneModel.cloneString(_model.description.name);
        }
        //CLone ... others

        //Clone receivedString
        if (_model.receivedString != null)
        {
            modelCloned.receivedString = CloneModel.cloneString(_model.receivedString);
        }
        //Clone returnedString;
        if (_model.returnString != null)
        {
            modelCloned.returnString = CloneModel.cloneString(_model.returnString);
        }
        //Clone subModel list
        if (_model.subModel == null)
        {
            return(modelCloned);
        }
        int subModelSize = _model.subModel.Count;

        if (subModelSize == 0)
        {
            modelCloned.subModel = new List <Model>();
        }
        else if (subModelSize > 0)
        {
            for (int i = 0; i < subModelSize; i++)
            {
                if (_model.subModel.ElementAt(i).GetType() == typeof(StringType))
                {
                    modelCloned.subModel.Add(CloneModel.cloneString((StringType)_model.subModel.ElementAt(i)));
                }
                else
                {
                    modelCloned.subModel.Add(CloneModel.cloneModel((Model)_model.subModel.ElementAt(i)));
                }
            }
        }

        return(modelCloned);
    }