How to use the document | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Navigation | ||||||||||||||||||||||||||||||||||||||||||||||||||||
This document is well structured and easy to navigate through. Please navigate up and down through left panel Tabel of Contents. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Search | ||||||||||||||||||||||||||||||||||||||||||||||||||||
hit both 'Ctrl' + 'f', and type in the word and hit 'Enter' to search for. hit 'F3' to search for next occurrence. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Samples and Figures | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Samples and figures provided in this document are not necessarily coherently in binding in design. It is up to the user to make his or her 'story' complete by applying the principles. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Version Icons | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Icons like these ![]() ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||
About TekNewell C# OOP Framework | ||||||||||||||||||||||||||||||||||||||||||||||||||||
What is OOP Framework? | ||||||||||||||||||||||||||||||||||||||||||||||||||||
TekNewell C# OOP Framework is a software tool. It is built to run on MS Windows and the executable is EatUI.exe which is inherited from its brother product Excel Accocunting Tool's executable name. It takes input Excel file(s) and produces output Excel files and C# object files over previous version. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
System requirements | ||||||||||||||||||||||||||||||||||||||||||||||||||||
It requires :
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
Purposes | ||||||||||||||||||||||||||||||||||||||||||||||||||||
The tool is very convenient and versatile. It allows developers design, implement Object Hierarchy with OOP mindset easily in time ever. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
How it works | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Each developer owns a copy of this tool. He or she uses it to create and upgrade the Object Oriented Programming source code version. The source code files are created in design based on Object Hierarchical Chart created by the tool previously, and once it upgrades, a new chart is again created for future design. Hence it creates a series of healthy cycles one after another. The collection of object code files are like an enterprice's factories, offices and building floors that were built already. A developer just need to assign furnitures, machines and work units into each room. This totally eliminates the lack of design in the procedure-oriented programming method and the shortcomings that comes with it. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
License Agreement | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Users should have at least once read the User Purchase and License Agreement at time of using the Trial version. Subsequent decision to purchase the software indicates user agrees without preservation the provisions set forth in the document of User Purchase and License Agreement. Here you can access User Purchase and License Agreement | ||||||||||||||||||||||||||||||||||||||||||||||||||||
How to acquire OOP Framework | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Trial Version | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Goto Trial Download to download a trial version. The trial version only lasts for 1 month. Follow on-screen instructions, and you should have downloaded the file 'eatprooop.zip'. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Product Version | ||||||||||||||||||||||||||||||||||||||||||||||||||||
If you felt Teknewell C# OOP Framework tool is a useful and can help you adapt to OOP Mindset, and decided to acquire, then goto Teknewell C# OOP Framework Tool to purchase a license. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
How to set up and run | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Unzip the file | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Once downloaded, unzip to the file to your desired location in disk. You can right-click the file EatUI.exe and then click on 'Pin to Taskbar'. You can click the icon on Taskbar in continuous use. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Run for the first time | ||||||||||||||||||||||||||||||||||||||||||||||||||||
After you click the icon on Taskbar, the Framework Manager will run and prompt user to enter the license key. You can find the key in your email. You should also save a copy of the email for future reference. By this time you are all set and ready to set up your models for projects. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
The model | ||||||||||||||||||||||||||||||||||||||||||||||||||||
The model file | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Under the directory Model, you have a sample model file prefixed with 'model' like model-*.xlsx which is an Excel file, a LibreOffice Calc file or a Google Spreadsheet file. In this file you can specify the location where your input sheets are. The command is 'scan' and in column B the cell is the location. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
The input sheet files | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Under the directory Location mentioned above, you can supply Input sheet files prefixed with 'eat' like eat-*.xlsx which is also an Excel file, a LibreOffice Calc file or a Google Spreadsheet file. In this file you can specify the commands for your projects. The commands are described in following chapter. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
The commands | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Main of the commands | ||||||||||||||||||||||||||||||||||||||||||||||||||||
There are 2 commands. One is named 'ZdcParameters', the other 'ZdcCreateItem'. The first is singular, the other plural. There is a field for both commands, it is called Prefix, and they have to match for both. And at this time there is only one Prefix that is being processed for 1 model. The prefix is to identify 1 package of version in which a set of objects are closely related and serve in unison. The 2 commands are described in great detail below. Term: Double cell definition (DCD) is that if a cell value is not empty, and it is a file name, then the content of the file is used. If it is not a file, then the cell value is used. If it is a file, it is assumed that the the file resides in directory defined in column I of command 'ZdcParameters'. In fact, all files are assumed residing in the directory. Note: user can write any comments and memos beyond the rightest column described here in the 2 commands. The memo can help user to recall any design details to upgrade the furthering design. Note: the 2 commands and even same commands do not have to be on the same sheet of Excel Spreadsheet book. That means user can organize the commands into categories where he or she sees making business senses. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
ZdcParameters | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
ZdcCreateItem | ||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
Create first code version | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Main of Create first code version | ||||||||||||||||||||||||||||||||||||||||||||||||||||
In first run, there is no upgrade available. Other than that there is no other difference. The first version number is 1. A first staging directory is created in 'Auto_s_0000001.dir' and a first version package project directory 'Auto_p_0000001.dir' is created in the project folder. There is only one step user can take to run. Once the EatUi.exe is up, it will show the Run page. User will choose the right model, then click 'Create Report'. The result data will show in the list on the same page. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Include the first version package | ||||||||||||||||||||||||||||||||||||||||||||||||||||
After a successful first run, user need to go to the Visual Studio Project, click an icon called 'Show all files' on top of Solution Explorer. The new project folder 'Auto_p_0000001.dir' will show. user can right-click and select 'Include in Project', then the package will participate in the project. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
General c# file code lines | ||||||||||||||||||||||||||||||||||||||||||||||||||||
In each object file, the text lines are typical c# source code lines for a class. Following top component lines are in the file. Those lines are called a region. All regions are folderable.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
10 User Regions | ||||||||||||||||||||||||||||||||||||||||||||||||||||
In the regions listed above, following 10 regions are for user to write in. Note that the class is spelled as clxss. This is because the tool looks for the word 'class' to identify a class. In order to avoid confusion, the word is changed as such.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
Upgrade code version | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Main of Upgrade code version | ||||||||||||||||||||||||||||||||||||||||||||||||||||
When there is a new decree, a revision of class hierarchy, or versionwide dessemination, a developer should make an upgrade to a new version. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Include the new version package | ||||||||||||||||||||||||||||||||||||||||||||||||||||
After a successful run, the tool will update the project file (csproj) specified in column G of command 'ZdcParameters' with the new project directory name automatically, provided that the new package version number is right above the previous package number by 1. After the project file automatical update, and user flips over the Visual Studio, it will prompt user whether to make the change or ignore. If not update in any means or updated but there were new object classes added, user have to update manually. User can do the same described in previous chapter to exclude the previous package and to include the new package. Note: the manual inclusion process will add the new object classes in whole, while the auto-process will not. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Algorithm of the Upgrade | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Following steps are involved in each upgrade. They are all automatical except when there is an error, user need to fix the error and run again.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
Cancel the Last Upgrade | ||||||||||||||||||||||||||||||||||||||||||||||||||||
By deleting the new version directory 'Auto_s_0000001.dir' in staging area, the user could start over again. In the next run, the project new version directory 'Auto_p_0000033.dir' is renamed to a name contains the word 'removed', user could delete them in the future when peaceful in terms of risk of data loss. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Safety of Upgrade | ||||||||||||||||||||||||||||||||||||||||||||||||||||
The upgrade is completely safe. user can switch back to previous version without any issue. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Object Hierarchical Chart | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Main of Object Hierarchical Chart | ||||||||||||||||||||||||||||||||||||||||||||||||||||
The core value of this tool is the presentation of object hierarchy in Excel Spreadsheet. That is where a developer or an architect to design a healthy relational object images. Once an idea is formed, It is very convenient for the developer to write out the commands of 'ZdcCreateItem'. Most of the work involves CopyPaste on existing approved classes built before. Most classes represent same pattern with zero or few variations. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Hierarchy Detail | ||||||||||||||||||||||||||||||||||||||||||||||||||||
The hierarchical chart is a set of nodes on a tree structure. In our chart on the left is the base class node, right, the derived class. Each node contains 6 column fields. They are listed as following:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
A Convenient Feature | ||||||||||||||||||||||||||||||||||||||||||||||||||||
The field 3 shows the cell as a hyperlink to the class file in the upgrade version. User clicks the link and it will open the file for view and edit. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
The OOP Mindset | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Main of The OOP Mindset | ||||||||||||||||||||||||||||||||||||||||||||||||||||
We believe this tool will help developers greatly. It fundamentally changes how developers code a project and store their legacy code. In conventional procedural programming, a developer most of time just drop the code and data into a source file at hand or nearby, in a set of limited, well categorized files best scenario. There is no planning or tool of planning, no object relational design, and no reentry images or blueprints upon which one can refreshs mind or an discuss can take place among colleagues. Also there is no easy way to desseminate a decree or common features versionwide, for example, an ID number for each classes. It is always the best practice to start thinking from top which is the object hierarchy to bottom which is the data and functional code. When object classes are separated by files, it is less possible to mistake typing at a wrong place, and the objects are well protected when files are not opened unnecessarily. This tool facilitated a mechanism for a developer to follow and discipline himself in his profession of software engineering. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Summary of Benefits | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Main of Summary of Benefits | ||||||||||||||||||||||||||||||||||||||||||||||||||||
This comes to the end of the user manual document. Following is the list of benefits.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
Back up | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Purpose ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||
All files reside on the same disk drive. If the disk drive is no longer functioning, all financial data files are lost. The solution is to backup the files to another USB or network drive. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Backup a Must ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Purchase a portable USB drive for backup purpose. Plug the drive to a USB port. Backup after you have made changes to the system, usually at the end of day. Once the backup is finished, then proceed to shut down the PC. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
How to ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||
In Eat Manager, go to page Backup, click the bottom buttons to back up either to a drive or to a directory. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Method ![]() | ||||||||||||||||||||||||||||||||||||||||||||||||||||
This backup command only backs up the files that have the file dates newer than the ones on destination drive, avoiding waste of time on copying unnecessarily the files that have the same contents as that of the destination ones. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
History of Changes | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|