Пример #1
0
        public bool Bind()
        {
            if (response.RowSets.Length == 0)
            {
                return(false);
            }

            RowSet rowSet = response.RowSets[0];

            foreach (Row row in rowSet.Rows)
            {
                AmplaRecord model = new AmplaRecord(Convert.ToInt32(row.id))
                {
                    Module    = modelProperties.Module.ToString(),
                    ModelName = modelProperties.GetModelName()
                };

                foreach (var column in rowSet.Columns)
                {
                    model.AddColumn(column.displayName, DataTypeHelper.GetDataType(column.type));
                }

                foreach (XmlElement cell in row.Any)
                {
                    string field = XmlConvert.DecodeName(cell.Name);
                    string value = cell.InnerText;
                    model.SetValue(field, value);
                }

                model.SetMappedProperties(amplaViewProperties.GetFieldMappings());
                records.Add(model);
            }
            return(true);
        }
Пример #2
0
        public ViewFilter(GetViewsFilter filter)
        {
            Name        = filter.name;
            DisplayName = filter.displayName;

            DataType      = DataTypeHelper.GetDataType(filter.type);
            TypeConverter = TypeDescriptor.GetConverter(DataType);
        }
Пример #3
0
 public ViewField(GetViewsField field)
 {
     Name          = field.name;
     DisplayName   = field.displayName;
     Required      = field.required;
     ReadOnly      = field.readOnly;
     DataType      = DataTypeHelper.GetDataType(field.type);
     TypeConverter = TypeDescriptor.GetConverter(DataType);
 }
Пример #4
0
        private static AutomationNodeTypeParameter GetAutomationNodeTypeParameters(Configuration row)
        {
            var antp = new AutomationNodeTypeParameter();

            antp.AutomationNodeTypeRef = row.Namespace;
            antp.Id             = row.Name;
            antp.DataType       = DataTypeHelper.GetDataType(row.Datatype);
            antp.MinValue       = row.Lowlimit;
            antp.MaxValue       = row.Highlimit;
            antp.ParameterType  = "Scalar";
            antp.ParameterValue = DataTypeHelper.GetParameterValue(row.Datatype);
            antp.IsInternal     = bool.FalseString;
            antp.IsStatic       = bool.FalseString;
            antp.IsPersistent   = bool.FalseString;
            return(antp);
        }
Пример #5
0
        private void RegistReader(ScanLine line, List <TargetModel> targets, int pageSize)
        {
            int iPageCount = 0;

            if (targets.Count == 0)
            {
                iPageCount = 0;
            }
            else if (targets.Count <= pageSize)
            {
                iPageCount = 1;
            }
            else if (targets.Count % pageSize == 0)
            {
                iPageCount = targets.Count / pageSize;
            }
            else
            {
                iPageCount  = targets.Count / pageSize;
                iPageCount += 1;
            }

            int currentPage = 1;

            while (currentPage <= iPageCount)
            {
                var reader = new Reader();
                reader.ReadHandler += Reader_ReadHandler;
                var data = (targets.Skip((currentPage - 1) * pageSize).Take(pageSize)).ToList();
                foreach (var target in data)
                {
                    DataItem item = new DataItem();
                    item.DataType     = DataTypeHelper.GetDataType(target.DataType);
                    item.VarType      = DataTypeHelper.GetVarType(target.VarType);
                    item.DB           = target.DB;
                    item.StartByteAdr = target.StartByteAdr;
                    item.BitAdr       = System.BitConverter.GetBytes(target.BitAdr)[0];
                    item.Count        = target.Count;
                    reader.Items.Add(target.Address, item);
                }

                line.RegistReader(reader);
                currentPage += 1;
            }
        }
Пример #6
0
        private void RegistStringReader(ScanLine line, List <TargetModel> targets)
        {
            var reader = new StringReader();

            reader.ReadHandler += Reader_ReadHandler;
            foreach (var target in targets)
            {
                DataItem item = new DataItem();
                item.DataType     = DataTypeHelper.GetDataType(target.DataType);
                item.VarType      = DataTypeHelper.GetVarType(target.VarType);
                item.DB           = target.DB;
                item.StartByteAdr = target.StartByteAdr;
                item.BitAdr       = System.BitConverter.GetBytes(target.BitAdr)[0];
                item.Count        = target.Count;
                reader.Items.Add(target.Address, item);
            }

            line.RegistReader(reader);
        }
        public bool Bind()
        {
            if (response.RowSets.Length == 0)
            {
                return(false);
            }

            string module = response.Context.Module.ToString();

            RowSet rowSet = response.RowSets[0];

            foreach (Row row in rowSet.Rows)
            {
                IRecordLoad record = new DynamicRecord(module);

                foreach (var column in rowSet.Columns)
                {
                    record.AddColumn(column.displayName, DataTypeHelper.GetDataType(column.type));
                }

                modelProperties.TrySetValueFromString(record, "Id", row.id);

                record.SetValue("Id", row.id);
                foreach (XmlElement cell in row.Any)
                {
                    string field = XmlConvert.DecodeName(cell.Name);
                    string value = cell.InnerText;
                    modelProperties.TrySetValueFromString(record, field, value);

                    record.SetValue(field, value);
                }

                records.Add(record);
            }
            return(true);
        }