What’s New in NConstruct 1.7.0

Released on 31 January 2008

New Features  ::  Changes/Enhancements  ::  Resolved Issues

New Features
Component Issue Summary
Code Generation NCT-654 Implement save and restore of a grid layout
NConstruct Client NCT-679 Create new controls project for UI Krypton controls
NConstruct Server NCT-681 Create a common bussiness data project for entities which represent most often used archetypes (money, currency, metric, ...)
NConstruct Client NCT-685 Create a Krypton grid control that supports grouping
NConstruct Server NCT-693 Create project for running application server service
Code Generation NCT-699 Support NHibernate formula defined properties
Code Generation NCT-700 Create a Wizard helper procedure to extract NHiberate component in entity management process step
NConstruct Server NCT-708 Improve the domain model validation logic with attributes by considering Open/Closed and Protected Variations principles
NConstruct Server NCT-717 Create Money NHibernate component and Currency NHibernate user type
NConstruct Server NCT-720 Simulate NHibernate component editing on GUI and improve DTO HQL builder to include component select syntax
NConstruct Client NCT-721 Create Money GUI control which handles the input for NHibernate's Money component
NConstruct Server NCT-729 Create Currency object as a Flyweight object to minimizes memory occupation
Code Generation NCT-744 Support a sample database AdventureWorksDB (Full version) on the SQL Server 2005 and improve a database analyze algorithm
Code Generation NCT-745 Support a sample database AdventureWorksDB (Light version) on the SQL Server 2005 Express
NConstruct Client NCT-749 Show nullable entity fields as NULL value (show an empty field) in a generic table
Code Generation NCT-767 Implement "Generated entity Code Preview" feature
Code Generation NCT-779 Create a Lite version of builder to generate only C# classes and HBM XML files
NConstruct Server NCT-783 Create a DateInterval NHibernate component
NConstruct Client NCT-784 Create a DateIntervalControl for handling DateInterval component
NConstruct Server NCT-785 Upgrade server to new NHibernate release 1.2.1. GA
NConstruct Client NCT-787 Change GenericEntityForm behavior to allow the fields' column resize to any value
NConstruct Client NCT-788 Create a "Reset layout" for the GenericEntityForm
NConstruct Client NCT-790 Create a Money and DateInterval custom user controls and include them into filter and edit form
NConstruct Server NCT-792 Implement new Application Settings and User Settings system
Code Generation NCT-796 Create a possibilty of simple component creation for the NConstruct Lite
Code Generation NCT-797 Implementation of Table per class hierarchy wizard
Database NCT-803 Implement new database model for Application and User Settings On SQL server, Oracle and MS access
NConstruct Client NCT-822 Upgrade the Krypton Toolkit to the newest Krypton 2.7.1 release
NConstruct Client NCT-823 Create Lookup field for foreign key tables that contain huge amount of records
NConstruct Server NCT-841 Enable defining Equals and Hash method on NConstruct Lite
NConstruct Server NCT-855 Joining server and client VS 2005 solutions into single solution and use Multiple startup projects option in VS 2005
Code Generation NCT-857 Enable renaming of a default namespace and show namespace caption in a tree node in Namespace generation step
NConstruct Client NCT-869 Implement save and restore layout of a krypton grid and of a krypton groupable grid
NConstruct Client NCT-870 Adding all Krypton Theme options (ProfessionalOffice2003, ProfessionalSystem, etc.)
Code Generation NCT-878 Implement deleting of a view and its appropriate data tranfer object in Objects management step
NConstruct Client NCT-902 Create ResetGridLayout feature for all types of grid
NConstruct Client NCT-914 Add the value of default property to GenericEntity form's caption 
NConstruct Client NCT-920 Create keyboard shortcuts for GenericEntity and GenericTable forms' actions 
NConstruct Client NCT-934 Create NcExpandablePanel control 


Changes/Enhancements

Create DbSelected.db file in user's ApplicationData folder instead of install folder 

Component Issue Summary
Code Generation NCT-613 Replacing "foreach" velocity code in templates with a method call
NConstruct Client NCT-667 Possibility to display different field types as memo fields
Code Generation NCT-680 Create support for building new controls project for UI Krypton controls
NConstruct Client NCT-683 Create Theme changing capability for Krypton components
NConstruct Client NCT-684 Make the default font of KryptonHeaderGroup component smaller
NConstruct Server NCT-692 Remove all setter methods (properties) in entity objects for collection types (Set, List...)
Code Generation NCT-694 Include project for running application server service in a builder process
NConstruct Client NCT-704 Hide ToolStripDropDownMenu control in toolbar if its child actions on particular module are not supported
NConstruct Client NCT-707 Do not show splash screen when in debug mode
NConstruct Server NCT-711 Change the fields default access strategy for all NHibernate entiteties
NConstruct Server NCT-714 Change the default NHibernate laziness of many to one attribute mappings in entity classes
Code Generation NCT-722 Change the warning message content text
NConstruct Server NCT-728 Create generic user type component for NHibernate mapping
NConstruct Client NCT-732 Create a dropdown in a toolbar for grouping column selection and remove the action event from table's column click
Code Generation NCT-733 Replace menu Dropdown control for format selection with ComboBoxEdit control
Code Generation NCT-734 Handle new data type xml on SQL Server 2005 (returning Lenght = -1)
Code Generation NCT-735 Support c# reserved keywords in the generated code and prefix them with @
Code Generation NCT-736 Take care that property name does not start with a digit in the generated code
Code Generation NCT-737 Primary key in a View must not be nullable data time
Code Generation NCT-738 Handle database reserved words (like "Group" etc.) in the HBM column property
Code Generation NCT-739 Surround tables that have namespace groups on the SQL Server 2005 with brackets in HBM files (for example: Sales.SalesTerritory)
Code Generation NCT-740 When handling View's primary keys, first execute validation and then assignments
NConstruct Client NCT-741 Clear grouping column items from combo box when closing generic table
NConstruct Server NCT-743 Log the Exception in RequestContext constructor method
Code Generation NCT-746 Introduce Nullable property types (.NET 2.0 feature) on the properties which map to the database fields which allow null values
NConstruct Client NCT-747 An exception SerializationException: "An object cannot be registered twice" can sometimes happen on Dual Core or Quad Core processors
Code Generation NCT-748 Introduce nullable property types on data transfer objects
NConstruct Client NCT-750 Show nullable fields on the GenericEntity form
NConstruct Client NCT-751 Allow assigning nullable values to nullable entity fields on the GenericEntity form
Code Generation NCT-753 Support column names separated with dots in the database View object (example: Edu.Loc.CountryRegion)
Code Generation NCT-754 Improve formatting in the generated C# and HBM files
NConstruct Client NCT-755 Optimize performance of properties' reading and sorting by implementing cache storage
Code Generation NCT-756 Add null reference exception throwing in the setter properties on required fields
NConstruct Server NCT-757 Create attribute UseMemoFieldAttribute on entity's properties to use a memo text editor on the GenericEntity form
Code Generation NCT-758 Remove ServerFacade VS project from the solution and move Facade classes to the Services project
Code Generation NCT-759 Include handling attribute UseMemoFieldAttribute on properties on entities
NConstruct Client NCT-760 Do not open TextEdit form (memo field zoom) in the maximized state
NConstruct Client NCT-762 Optimize performance of attributes reading by implementing cache storage
NConstruct Server NCT-763 Improve the boolean attributes to have just a default constructor
Code Generation NCT-764 Do not generate boolean attributes on entity properties if their value is false
NConstruct Client NCT-765 Wrapp exception handling in event handlers with a ExceptionEventHandler class to avoid duplicated code
Code Generation NCT-766 Create Gui for selecting validators on a property
Code Generation NCT-768 Create generated Data transfer object source code preview
Code Generation NCT-769 Allow deleting a property with a formula defined
Code Generation NCT-770 Implement "Generated HBM XML Preview" feature
NConstruct Client NCT-771 Handle "Property set method not found" on entity fields with formula defined
Code Generation NCT-776 Enable user to mark a property as "Database generated"
Code Generation NCT-777 Improving the builder's domain model generation
Code Generation NCT-778 Remove Nullables.NullableDateTime from generation and use .NET 2.0 type "DateTime?"
NConstruct Server NCT-780 Replace DateTime with nullable DateTime in DateInterval component
NConstruct Client NCT-789 Wrap RestoreLayoutFromXml for the GenericEntityForm with try-catch and apply default layout if an exception occurs
NConstruct Client NCT-791 Remove control ids strings from code and replace them with UniqueId property or reference to an actuall control
NConstruct Server NCT-793 Rename CompositeTwoKey (and similar) class into more hibernate oriented name PairIdComponent, TripleIdComponent, QuadIdComponent
Code Generation NCT-794 Rearange the editing of a property into a separate popup edit form
Code Generation NCT-795 Enable defining attributes like mutable, dynamic-update, dynamic-insert, select-before-update, where, batch-size, and lazy on entity classes
NConstruct Server NCT-798 Permissions and locking refactoring and optimizing
Code Generation NCT-800 Implementation of Table per subclass form
NConstruct Client NCT-802 Include a System.Byte type handling on edit form
NConstruct Server NCT-804 Implement AssigningIdAttribute attribute for properties that assign value to a assigned primary key
NConstruct Client NCT-808 Organizing and optimizing client's app.config
NConstruct Server NCT-809 Organizing and optimizing server's app.config
Code Generation NCT-810 Change the handling of Localization resx files
NConstruct Client NCT-811 Move current Localization.resx (for common NConstruct entries) into NConstruct.Client.Common project and create project-specific Localization entries in the startup project
NConstruct Client NCT-812 Delete needless GlobalLocalization resx files and GlobalResourceManager from the Remote.cs class
NConstruct Server NCT-813 Update LocalizationManager to handle changes with Localization resx files
NConstruct Server NCT-814 Refactor LoadEntityListService (chain two constructors)
NConstruct Client NCT-815 Use DefaultLanguage user setting instead of app.config + settings.settings
NConstruct Client NCT-816 Remove IsWebApplication configuration setting and replace it with closeSession parameter
NConstruct Server NCT-817 Add PrimaryKeyType attribute to all entities due to Web issue of HTML text on browser
NConstruct Client NCT-818 Add IWebView and IWindowsView interfaces because some operations on the Web view does not make sense
NConstruct Client NCT-819 Handle Id of a table that has 2 primary keys but one of them is autonumber
NConstruct Client NCT-820 Create forms for editing application and user settings
NConstruct Client NCT-821 Apply ShowDialogGenericEntityForms settings for opening entity forms
Code Generation NCT-826 Enable users define their own e-mail address for the sender field of the error messages
Code Generation NCT-827 Move email input to the ActivationForm
Code Generation NCT-828 Enhance layout of generated class code
Code Generation NCT-829 Enhance design of some controls and popup forms
Code Generation NCT-830 Change caption of the DTO main node in the treelist control
Code Generation NCT-831 Add fetch strategy on many to one and one to many associations
Code Generation NCT-832 Add C# and HBM preview on the View's entity
Code Generation NCT-833 Add ID assignment action on View's entity
Code Generation NCT-835 Set concrete Id types for the NConstruct Lite builder
Code Generation NCT-836 Add icons to Object management treelist control items
Code Generation NCT-838 Small design changes of ViewControl control
Code Generation NCT-839 Enhancements of HBM generated files content
Code Generation NCT-840 Enhance field formula pop-up form design
NConstruct Client NCT-842 Move HttpContext.Current.Profile setting to NConstruct settings
NConstruct Client NCT-843 Create and use settings for disabling the layout of GenericEntityForm
NConstruct Client NCT-844 Update SystemObjects, ApplicationSettings and UserSettings at Web client startup
NConstruct Server NCT-845 Add comments to application and user settings properties
Code Generation NCT-846 Replace values in SystemObjectList section with real project names in web.config (both MS and TK)
NConstruct Client NCT-848 Delete needless Dx libraries from Dx projects
NConstruct Client NCT-871 Implementing edit on double click event on Krypton grid view
NConstruct Client NCT-872 Implementing edit on double click event on Krypton Groupable grid view 
NConstruct Client NCT-883 Under General Search / SelectFields on a grid search filter form, display friendly caption name instead of fields names
NConstruct Client NCT-888 When Exporting DataGridView to an Excel file the order of the columns in the file match the grid layout order
Code Generation NCT-892 Add a check box on a DTO control: Include as module in GUI navigation
Code Generation NCT-893 Allow users to define when LookUp control is used instead of combo-box
NConstruct Client NCT-903 Add CustomerName, LoginFooter, LoginSubTitle, ProducerName, ProjectName entires into Localization.resx of the startup project
Code Generation NCT-904 Use Localization.resx files from TestModule startup project and change ProjectName entry with the application name 
Code Generation NCT-905
Code Generation NCT-906 Create log files in the user's ApplicationData folder instead of install folder 
Code Generation NCT-912 Enable renaming of a many to one property since its name can get quite long and unreadable
Code Generation NCT-932 Create a partial entity class beside the *.Generated.cs file but do not overwrite it 
NConstruct Client NCT-933 Make methods in ANcFactory virtual, so the user can override them in extended subclass 
NConstruct Client NCT-936 Add tooltips on the LookupComboBox's buttons 
NConstruct Server NCT-938 Create new application setting for limiting the label length in the SearchFilterToolbox 
NConstruct Server NCT-939 Create new application settings - SearchFilterPanelWidth & SearchFilterLabelColumnWidth, and use it for initial SearchFilterPanel Width and labels' column width 


Resolved Issues

Correct captions for some lables in the Search filter panel 

Correct default date value for date fields in the Search filter panel 

Component Issue Summary
NConstruct Client NCT-682 When setting DevExpress for ComponentProvider in app.config, DevExpress grid component is not generated (fix AModuleAction)
Code Generation NCT-723 Default DTO captions contains two space separator instead of one
Code Generation NCT-724 Wizard must not include table sysdiagrams in the mapping process (SQL 2005)
Code Generation NCT-725 If user select SQL 2005 database the Dialect property in the server's app.config is defined as "MsSql2000Dialect"
NConstruct Client NCT-727 The title of the Expand Text window is not correct
NConstruct Client NCT-801 Fix LayoutManager to throw an exception if a field is not handled yet
Code Generation NCT-824 The process of recreating NConstruct system tables produces error
NConstruct Client NCT-875 Clear button on filter panel does not clear date interval field 
NConstruct Client NCT-884 Double-clicking the column header on Krypton grid implementation is causing a record being edited
NConstruct Client NCT-885 Disable Menu & Toolbar actions after closing all open tabs in the workspace
NConstruct Client NCT-887 Exporting grid with too wide columns to Excel in displays a messagebox "Problems During Load"
NConstruct Client NCT-899 When values of int, decimal, or float type contain an empty string, their values should be excluded from filtering
NConstruct Client NCT-900 If DateTime fields return null value, they should be excluded from filtering even if they are not nullable 
Code Generation NCT-918 Correct caption setting for formula fields
NConstruct Client NCT-919 Correct PrintPreview generating for larger GenericEntity forms 
NConstruct Client NCT-923 Correct generation of money and smallint field types on the Search filter panel
NConstruct Client NCT-925 Correct Anchor property for Search button in the Search filter panel 
NConstruct Client NCT-926
NConstruct Client NCT-927
NConstruct Client NCT-928 Clearing Date on a form doesn't work. 
NCT-929 Cursor behavior not appropriate when moving invisible splitter in the GenericEntity form