protected dynamic CreateSerializedObjectViewModel(SerializedObject serializedObject) { ViewModelBuilder viewModelBuilder = new ViewModelBuilder(); viewModelBuilder.BuildId(serializedObject.ObjectId); viewModelBuilder.BuildClassId(serializedObject.ClassId); foreach (SerializedProperty serializedProperty in JsonConvert.DeserializeObject <IEnumerable <SerializedProperty> >(serializedObject.SerializedProperties)) { if (serializedProperty.Member.PropertyDataTypeStorageDataType == StorageDataType.Integer) { viewModelBuilder.BuildProperty(serializedProperty.Member.Code, serializedProperty.IntegerValue); } else if (serializedProperty.Member.PropertyDataTypeStorageDataType == StorageDataType.Decimal) { viewModelBuilder.BuildProperty(serializedProperty.Member.Code, serializedProperty.DecimalValue); } else if (serializedProperty.Member.PropertyDataTypeStorageDataType == StorageDataType.String) { viewModelBuilder.BuildProperty(serializedProperty.Member.Code, serializedProperty.StringValue); } else if (serializedProperty.Member.PropertyDataTypeStorageDataType == StorageDataType.DateTime) { viewModelBuilder.BuildProperty(serializedProperty.Member.Code, serializedProperty.DateTimeValue); } } return(viewModelBuilder.Build()); }
private dynamic CreateViewModel(IRequestHandler requestHandler, Microcontroller microcontroller, SerializedObject page) { ViewModelBuilder viewModelBuilder = new ViewModelBuilder(); viewModelBuilder.BuildProperty("Page", this.CreateObjectViewModel(requestHandler, page)); foreach (DataSource dataSource in requestHandler.Storage.GetRepository <IDataSourceRepository>().FilteredByMicrocontrollerId(microcontroller.Id)) { viewModelBuilder.BuildProperty(dataSource.Code, this.CreateDataSourceViewModel(requestHandler, page, dataSource)); } return(viewModelBuilder.Build()); }
private dynamic CreateViewModel(IRequestHandler requestHandler, Endpoint endpoint) { ViewModelBuilder viewModelBuilder = new ViewModelBuilder(); foreach (DataSource dataSource in requestHandler.Storage.GetRepository <IDataSourceRepository>().FilteredByEndpointId(endpoint.Id)) { viewModelBuilder.BuildProperty(dataSource.Code, this.CreateDataSourceViewModel(requestHandler, dataSource)); } return(viewModelBuilder.Build()); }
private dynamic CreateObjectViewModel(IRequestHandler requestHandler, Object @object) { ViewModelBuilder viewModelBuilder = new ViewModelBuilder(); foreach (var property in requestHandler.Storage.GetRepository <IPropertyRepository>().FilteredByObjectId(@object.Id)) { Member member = requestHandler.Storage.GetRepository <IMemberRepository>().WithKey(property.MemberId); DataType dataType = requestHandler.Storage.GetRepository <IDataTypeRepository>().WithKey((int)member.PropertyDataTypeId); if (dataType.StorageDataType == StorageDataType.Integer) { viewModelBuilder.BuildProperty(member.Code, property.IntegerValue); } else if (dataType.StorageDataType == StorageDataType.Decimal) { viewModelBuilder.BuildProperty(member.Code, property.DecimalValue); } else if (dataType.StorageDataType == StorageDataType.String) { Culture neutralCulture = CultureManager.GetNeutralCulture(requestHandler.Storage); string stringValue = member.IsPropertyLocalizable == true? requestHandler.GetLocalizationValue((int)property.StringValueId) : requestHandler.GetLocalizationValue((int)property.StringValueId, neutralCulture.Id); viewModelBuilder.BuildProperty(member.Code, stringValue); } else if (dataType.StorageDataType == StorageDataType.DateTime) { viewModelBuilder.BuildProperty(member.Code, property.DateTimeValue); } } return(viewModelBuilder.Build()); }