public void StreamOut(RStrmOut writer)
        {
            foreach (var property in ModelSchema.BridgeAssignmentTakeoffObjectKeywordArray.RKwdCollection)
            {
                string propertyName = property.Name;
                switch (property.Id)
                {
                case (int)BridgeAssignTakeoffProperty.SId:
                    writer.WriteString(propertyName, TkoSystemId);
                    break;

                case (int)BridgeAssignTakeoffProperty.Proj:
                    writer.WriteString(propertyName, TkoProjectId);
                    break;

                case (int)BridgeAssignTakeoffProperty.Id:
                    writer.WriteString(propertyName, TkoId);
                    break;

                case (int)BridgeAssignTakeoffProperty.Typ:
                    writer.WriteString(propertyName, TkoTypeId);
                    break;

                case (int)BridgeAssignTakeoffProperty.RfId:
                    writer.WriteInteger(propertyName, TkoRefId);
                    break;

                case (int)BridgeAssignTakeoffProperty.Desc:
                    writer.WriteString(propertyName, Description);
                    break;
                }
            }
        }
        public void StreamOut(RStrmOut writer)
        {
            foreach (var property in ModelSchema.BridgeAssignmentPassKeywordArray.RKwdCollection)
            {
                string propertyName = property.Name;
                switch (property.Id)
                {
                case (int)BridgeAssignPassProperty.PTko:
                    writer.WriteInteger(propertyName, PrimaryTakeoffNumber);
                    break;

                case (int)BridgeAssignPassProperty.Asn:
                    foreach (var item in VariableAssignmentList)
                    {
                        writer.ObjectBegin(propertyName);
                        item.StreamOut(writer);
                        writer.ObjectEnd();
                    }
                    break;
                }
            }
        }
        public void StreamOut(RStrmOut writer)
        {
            if (string.Equals(VariableValue, _fromOverrideValue))
            {
                _fromOverrideValue = string.Empty;
            }

            foreach (var property in ModelSchema.VariableAssignmentKeywordArray.RKwdCollection)
            {
                string propertyName = property.Name;
                switch (property.Id)
                {
                case (int)BridgeAssignVariableAssignProperty.Tko:
                    writer.WriteInteger(propertyName, FromTakeoffNumber);
                    break;

                case (int)BridgeAssignVariableAssignProperty.FVar:
                    writer.WriteString(propertyName, FromVariableName);
                    break;

                case (int)BridgeAssignVariableAssignProperty.TVar:
                    writer.WriteString(propertyName, ToVariableName);
                    break;

                case (int)BridgeAssignVariableAssignProperty.Val:
                    writer.WriteString(propertyName, VariableValue);
                    break;

                case (int)BridgeAssignVariableAssignProperty.FOVal:
                    writer.WriteString(propertyName, _fromOverrideValue);
                    break;

                case (int)BridgeAssignVariableAssignProperty.MTko:
                    writer.WriteBoolean(propertyName, MissingTkoVariable);
                    break;
                }
            }
        }