예제 #1
0
파일: SapTable.cs 프로젝트: gilby125/SAPCon
        public IRfcTable ToSapObject(string name)
        {
            Type type = typeof(T);
            RfcStructureMetadata sMeta = SapConnections.Get(name).Repository.GetStructureMetadata(typeof(T).Name);
            RfcTableMetadata     tMeta = new RfcTableMetadata("", sMeta);
            IRfcTable            t     = tMeta.CreateTable();

            for (int i = 0; i < this.Count; i++)
            {
                t.Insert(((ISapStructure)this[i]).ToSapObject(name));
            }
            return(t);
        }
예제 #2
0
        public IRfcTable CreateTable(RfcTableMetadata metadata, object parameterObject)
        {
            IRfcTable            table             = metadata.CreateTable();
            RfcStructureMetadata structureMetadata = metadata.LineType;

            IEnumerable enumerable = parameterObject as IEnumerable;

            if (enumerable == null)
            {
                IRfcStructure row = CreateStructure(structureMetadata, parameterObject);
                table.Append(row);
            }
            else
            {
                var enumerator = enumerable.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    object        current = enumerator.Current;
                    IRfcStructure row     = CreateStructure(structureMetadata, current);
                    table.Append(row);
                }
            }
            return(table);
        }