private bool IgnoreProperty(IBusinessObjectProperty property) { string[] ignoreProperties = _configuration.IgnoreProperties; foreach (string propertyName in ignoreProperties) { if (propertyName == property.Identifier) return true; } return false; }
private Replacer.ReplaceInfo[] GetPropertyInfos(IBusinessObjectClass businessObjectClass, IBusinessObjectProperty[] properties) { Replacer.ReplaceInfo[] propertyInfos = new Replacer.ReplaceInfo[properties.Length]; for (int index = 0; index < properties.Length; index++) { IBusinessObjectProperty property = properties[index]; bool found = false; foreach (Configuration.ControlInfo controlMapping in _configuration.ControlMappings) { if (HasInterface(property.GetType(), controlMapping.propertyType) && property.IsList == controlMapping.isList) { ApplicationConfiguration.ReplaceInfo[] additionalReplaceInfos = new ApplicationConfiguration.ReplaceInfo[] { new ApplicationConfiguration.ReplaceInfo(Placeholder.ToString(DefinedPlaceholder.DOMAIN_PROPERTYNAME), property.Identifier) }; string additionalAttributes = Replacer.Replace(additionalReplaceInfos, controlMapping.additionalAttributes); string additionalElements = Replacer.Replace(additionalReplaceInfos, controlMapping.additionalElements); propertyInfos[index].replaceInfos = new string[] { Placeholder.ToString(DefinedPlaceholder.DOMAIN_PROPERTYNAME), property.Identifier, Placeholder.ToString(DefinedPlaceholder.CONTROLTYPE), controlMapping.controlName, Placeholder.ToString(DefinedPlaceholder.ADDITIONALATTRIBUTES), additionalAttributes, Placeholder.ToString(DefinedPlaceholder.ADDITIONALELEMENTS), additionalElements }; found = true; break; } } if (! found) { propertyInfos[index].replaceInfos = null; _warnings.AddWarning(WarningCode.MissingControlMapping, businessObjectClass.Identifier + "." + property.Identifier + " (" + property.GetType().ToString() + ")"); } } return propertyInfos; }
private Replacer.ReplaceInfo[] GetReferencedPropertyInfos(IBusinessObjectClass businessObjectClass, IBusinessObjectProperty[] properties, bool isList) { ArrayList replaceInfosArrayList = new ArrayList(); foreach (PropertyBase property in properties) { if (! HasInterface(property.GetType(), "Remotion.ObjectBinding.IBusinessObjectReferenceProperty") || isList != property.IsList) continue; Type itemType = property.IsList ? property.ListInfo.ItemType : property.PropertyType; string[] referencedClassNameInfo = itemType.FullName.Split ('.'); string referencedClassName = referencedClassNameInfo[referencedClassNameInfo.Length - 1]; Replacer.ReplaceInfo replaceInfo = new Replacer.ReplaceInfo(); replaceInfo.replaceInfos = new string[] { Placeholder.ToString(DefinedPlaceholder.DOMAIN_REFERENCEDCLASSNAME), referencedClassName, Placeholder.ToString(DefinedPlaceholder.DOMAIN_PROPERTYNAME), property.Identifier }; replaceInfosArrayList.Add(replaceInfo); } Replacer.ReplaceInfo[] replaceInfos = new Replacer.ReplaceInfo[replaceInfosArrayList.Count]; for (int i=0; i<replaceInfos.Length; i++) replaceInfos[i] = (Replacer.ReplaceInfo)replaceInfosArrayList[i]; return replaceInfos; }
private void BuildClassFile(Type type, IBusinessObjectClass businessObjectClass, IBusinessObjectProperty[] properties) { foreach (Configuration.FileInfo fileInfo in _configuration.ClassFileInfos) { string name = GetName(businessObjectClass.Identifier); string templateFileName = Path.Combine(_configuration.TemplateRoot, fileInfo.template); string targetFileName = Path.Combine(_configuration.TargetRoot, Replace(fileInfo.target, DefinedPlaceholder.DOMAIN_CLASSNAME, name)); targetFileName = Replacer.Replace(_configuration.ProjectReplaceInfos, targetFileName); CheckExistenceTemplateFile(templateFileName); CheckExistenceDestinationFile(targetFileName, fileInfo.overwrite); Replacer replacer = new Replacer(templateFileName); // for each property replacer.Include( DefinedPlaceholder.INCLUDE_FOREACHPROPERTY, GetPropertyInfos(businessObjectClass, properties)); replacer.Repeat( DefinedPlaceholder.REPEAT_FOREACHPROPERTY_BEGIN, DefinedPlaceholder.REPEAT_FOREACHPROPERTY_END, GetPropertyInfos(businessObjectClass, properties)); replacer.Repeat( DefinedPlaceholder.REPEAT_FOREACHREFERENCEDPROPERTY_BEGIN, DefinedPlaceholder.REPEAT_FOREACHREFERENCEDPROPERTY_END, GetReferencedPropertyInfos(businessObjectClass, properties, true), "isList=true"); replacer.Repeat( DefinedPlaceholder.REPEAT_FOREACHREFERENCEDPROPERTY_BEGIN, DefinedPlaceholder.REPEAT_FOREACHREFERENCEDPROPERTY_END, GetReferencedPropertyInfos(businessObjectClass, properties, false), "isList=false"); // common replacer.Replace(DefinedPlaceholder.DOMAIN_CLASSNAME, name); ReplaceCommon(replacer, type); replacer.Save(targetFileName); } }
private IBusinessObjectProperty[] GetProperties(IBusinessObjectProperty[] properties) { ArrayList propertyList = new ArrayList(); foreach (IBusinessObjectProperty property in properties) { if (! IgnoreProperty(property)) propertyList.Add(property); } properties = new IBusinessObjectProperty[propertyList.Count]; for (int i=0; i<properties.Length; i++) properties[i] = (IBusinessObjectProperty)propertyList[i]; return properties; }
override protected void OnLoad(EventArgs e) { base.OnLoad(e); IBusinessObjectProperty dateOfBirth = CurrentObject.BusinessObjectClass.GetPropertyDefinition("DateOfBirth"); IBusinessObjectProperty dateOfDeath = CurrentObject.BusinessObjectClass.GetPropertyDefinition("DateOfDeath"); IBusinessObjectProperty height = CurrentObject.BusinessObjectClass.GetPropertyDefinition("Height"); IBusinessObjectProperty gender = CurrentObject.BusinessObjectClass.GetPropertyDefinition("Gender"); IBusinessObjectProperty cv = CurrentObject.BusinessObjectClass.GetPropertyDefinition("CV"); IBusinessObjectProperty income = CurrentObject.BusinessObjectClass.GetPropertyDefinition("Income"); // Additional columns, in-code generated BocSimpleColumnDefinition birthdayColumnDefinition = new BocSimpleColumnDefinition(); birthdayColumnDefinition.ColumnTitle = "Birthday"; birthdayColumnDefinition.SetPropertyPath(BusinessObjectPropertyPath.CreateStatic(new [] { dateOfBirth })); BocSimpleColumnDefinition dayofDeathColumnDefinition = new BocSimpleColumnDefinition(); dayofDeathColumnDefinition.ColumnTitle = "Day of Death"; dayofDeathColumnDefinition.SetPropertyPath(BusinessObjectPropertyPath.CreateStatic(new [] { dateOfDeath })); dayofDeathColumnDefinition.Width = Unit.Parse("9.1em", CultureInfo.InvariantCulture); dayofDeathColumnDefinition.EnforceWidth = true; BocSimpleColumnDefinition heightColumnDefinition = new BocSimpleColumnDefinition(); heightColumnDefinition.SetPropertyPath(BusinessObjectPropertyPath.CreateStatic(new [] { height })); BocSimpleColumnDefinition genderColumnDefinition = new BocSimpleColumnDefinition(); genderColumnDefinition.SetPropertyPath(BusinessObjectPropertyPath.CreateStatic(new [] { gender })); BocSimpleColumnDefinition cvColumnDefinition = new BocSimpleColumnDefinition(); cvColumnDefinition.SetPropertyPath(BusinessObjectPropertyPath.CreateStatic(new [] { cv })); BocSimpleColumnDefinition incomeColumnDefinition = new BocSimpleColumnDefinition(); incomeColumnDefinition.SetPropertyPath(BusinessObjectPropertyPath.CreateStatic(new [] { income })); BocListView datesView = new BocListView(); datesView.Title = "Dates"; datesView.ColumnDefinitions.AddRange( new BocColumnDefinition[] { birthdayColumnDefinition, dayofDeathColumnDefinition }); BocListView statsView = new BocListView(); statsView.Title = "Stats"; statsView.ColumnDefinitions.AddRange( new BocColumnDefinition[] { heightColumnDefinition, genderColumnDefinition }); BocListView cvView = new BocListView(); cvView.Title = "CV"; cvView.ColumnDefinitions.AddRange( new BocColumnDefinition[] { cvColumnDefinition }); BocListView incomeView = new BocListView(); incomeView.Title = "Income"; incomeView.ColumnDefinitions.AddRange( new BocColumnDefinition[] { incomeColumnDefinition }); ChildrenList.AvailableViews.AddRange(new BocListView[] { datesView, statsView, cvView, incomeView }); if (!IsPostBack) { ChildrenList.SelectedView = datesView; } if (!IsPostBack) { // ChildrenList.SetSortingOrder ( // new BocListSortingOrderEntry[] { // new BocListSortingOrderEntry ((BocColumnDefinition) ChildrenList.FixedColumns[7], SortingDirection.Ascending) }); } if (!IsPostBack) { ChildrenList.SwitchListIntoEditMode(); } if (!IsPostBack) { NumberOfNewRowsField.Value = 1; } NumberOfNewRowsField.IsDirty = false; }
protected abstract void HandlePropertyNotLastPropertyAndNotReferenceProperty( IBusinessObjectClass businessObjectClass, IBusinessObjectProperty property);
public string GetPropertyString(IBusinessObjectProperty property, string format) { return(_implementation.GetPropertyString(property, format)); }
public void SetProperty(IBusinessObjectProperty property, object value) { _implementation.SetProperty(property, value); }
public object GetProperty(IBusinessObjectProperty property) { return(_implementation.GetProperty(property)); }
override protected void OnLoad (EventArgs e) { base.OnLoad (e); IBusinessObjectProperty dateOfBirth = CurrentObject.BusinessObjectClass.GetPropertyDefinition ("DateOfBirth"); IBusinessObjectProperty dateOfDeath = CurrentObject.BusinessObjectClass.GetPropertyDefinition ("DateOfDeath"); IBusinessObjectProperty height = CurrentObject.BusinessObjectClass.GetPropertyDefinition ("Height"); IBusinessObjectProperty gender = CurrentObject.BusinessObjectClass.GetPropertyDefinition ("Gender"); IBusinessObjectProperty cv = CurrentObject.BusinessObjectClass.GetPropertyDefinition ("CV"); IBusinessObjectProperty income = CurrentObject.BusinessObjectClass.GetPropertyDefinition ("Income"); // Additional columns, in-code generated BocSimpleColumnDefinition birthdayColumnDefinition = new BocSimpleColumnDefinition(); birthdayColumnDefinition.ColumnTitle = "Birthday"; birthdayColumnDefinition.SetPropertyPath (BusinessObjectPropertyPath.CreateStatic (new []{dateOfBirth})); birthdayColumnDefinition.Width = Unit.Parse ("14em"); birthdayColumnDefinition.EnforceWidth = true; BocSimpleColumnDefinition dayofDeathColumnDefinition = new BocSimpleColumnDefinition(); dayofDeathColumnDefinition.ColumnTitle = "Day of Death"; dayofDeathColumnDefinition.SetPropertyPath (BusinessObjectPropertyPath.CreateStatic (new []{dateOfDeath})); dayofDeathColumnDefinition.Width = Unit.Parse ("7em"); dayofDeathColumnDefinition.EnforceWidth = true; BocSimpleColumnDefinition heightColumnDefinition = new BocSimpleColumnDefinition(); heightColumnDefinition.SetPropertyPath (BusinessObjectPropertyPath.CreateStatic (new []{height})); BocSimpleColumnDefinition genderColumnDefinition = new BocSimpleColumnDefinition(); genderColumnDefinition.SetPropertyPath (BusinessObjectPropertyPath.CreateStatic (new []{gender})); BocSimpleColumnDefinition cvColumnDefinition = new BocSimpleColumnDefinition(); cvColumnDefinition.SetPropertyPath (BusinessObjectPropertyPath.CreateStatic (new []{cv})); cvColumnDefinition.FormatString = "lines=3"; BocSimpleColumnDefinition incomeColumnDefinition = new BocSimpleColumnDefinition(); incomeColumnDefinition.SetPropertyPath (BusinessObjectPropertyPath.CreateStatic (new []{income})); BocListView datesView = new BocListView(); datesView.Title = "Dates"; datesView.ColumnDefinitions.AddRange (new BocColumnDefinition[] {birthdayColumnDefinition, dayofDeathColumnDefinition}); BocListView statsView = new BocListView(); statsView.Title = "Stats"; statsView.ColumnDefinitions.AddRange (new BocColumnDefinition[] {heightColumnDefinition, genderColumnDefinition}); BocListView cvView = new BocListView(); cvView.Title = "CV"; cvView.ColumnDefinitions.AddRange (new BocColumnDefinition[] {cvColumnDefinition}); BocListView incomeView = new BocListView(); incomeView.Title = "Income"; incomeView.ColumnDefinitions.AddRange (new BocColumnDefinition[] {incomeColumnDefinition}); ChildrenList.AvailableViews.AddRange (new BocListView[] { datesView, statsView, cvView, incomeView}); if (! IsPostBack) ChildrenList.SelectedView = datesView; if (!IsPostBack) { ChildrenList.SetSortingOrder ( new BocListSortingOrderEntry[] { new BocListSortingOrderEntry ((IBocSortableColumnDefinition) ChildrenList.FixedColumns[7], SortingDirection.Ascending) }); } if (IsPostBack) { // BocListSortingOrderEntry[] sortingOrder = ChildrenList.GetSortingOrder(); } if (!IsPostBack) { JobList.SetSelectedRows (new[] { 1 }); ChildrenList.SetSelectedBusinessObjects (new[] { ChildrenList.Value[1] }); } }
public string GetPropertyString(IBusinessObjectProperty property, string format) { return(GetProperty(property).ToString()); }