Introduction TimeLine Developer – High-performance C# development
Estimated read time: 1:20
Learn to use AI like a Pro
Get the latest AI workflows to boost your productivity and business performance, delivered weekly by expert consultants. Enjoy step-by-step guides, weekly Q&A sessions, and full access to our AI workflow archive.
Summary
In this insightful transcript, the creator explains how to build a three-tier business application utilizing TimeLine Developer with a focus on high-performance C# development. The application is a frontend extension of Visual Studio, simplifying the creation of modern WPF and HTML5 internet applications with 100% managed C# .NET code. Key features include integration with TimeLine Server for services like data management, document handling, and complete mail support. Detailed steps are provided for using TimeLine Developer tools such as the Database Designer for database interaction, creating and testing data sets, and developing user interfaces. Throughout, the presenter emphasizes the ease and efficiency of project set-up with minimal coding and integration with Visual Studio, aimed at delivering robust, high-performance applications efficiently.
Highlights
The app creation process is streamlined with TimeLine Developer integrating seamlessly into Visual Studio. 🚀
Features of TimeLine Server, such as data management, document handling, and calendar integrations, are vital for app functionality. 📂
TimeLine Developer supports database modifications via SQL locking, critical for data integrity. 🔐
Leveraging WPF and HTML5 with C# .NET offers visually modern and reliable applications. 🎨
Strong typing and intellisense integration make coding efficient and intuitive. 🧑💻
The video provides a practical guide to setting up projects with minimal coding and maximal efficiency. 📚
Key Takeaways
TimeLine Developer boosts productivity by automating WPF and HTML5 application creation. 🖥️
Offers services like data management, SMTP, and calendar integration via TimeLine Server. 📅
Use the Database Designer to tweak and view databases easily. 🗄️
Creating datasets is streamlined, supporting strong typing and intellisense. 🧑💻
Develop user interfaces effortlessly using WPF or web modules. 🎨
Overview
Creating a three-tier business application with TimeLine Developer is remarkably straightforward. This video tutorial starts with the basics of launching TimeLine Developer and logging into a database. By leveraging Visual Studio, developers can efficiently build robust interfaces using WPF and HTML5. The app development journey includes setting up a database with TimeLine tools, drafting datasets, and crafting intuitive user interfaces with ease.
Throughout the application-building process, TimeLine Server plays a critical role. It provides comprehensive services like data management, document handling, mailing capabilities, and calendar functionalities. These functionalities are demonstrated through practical examples, illustrating how to integrate these services seamlessly into business applications, all while employing 100% managed C# .NET code.
Viewer-friendly editing, coding, and data handling exemplified in the video showcase the efficiency of TimeLine Developer. With a focus on automation and minimal coding, developers can quickly prototype, test, and deploy applications. This holistic guide not only simplifies project management but also ensures that developers can build high-performance applications swiftly, maintaining the integrity and robustness essential in professional settings.
Chapters
00:00 - 01:00: Introduction The introduction provides an overview of creating a three-tier business application using Tanna Developer, a tool designed to work with Visual Studio. This tool automates the creation of retrieval applications for WPF and HTML. Tanna Developer apps are noted for being three-tier applications, consisting entirely of managed code, usually in C# .NET, and featuring modern WPF.
01:00 - 02:00: Overview of Tamo Developer The chapter titled 'Overview of Tamo Developer' discusses several services offered by the telnet server for time and developer applications. These services include a middleware interface called the timeline server and a data set and document management service. Additionally, it covers the adjacent service for mobile devices, an SMTP and IMF adapter for complete mail support, and a code of service for bidirectional calendar functionality and integration with Outlook. The chapter also mentions an integrated web server for hosting HTML applications created by the developer.
02:00 - 03:00: Database Designer Features The chapter discusses the features of a tool called 'tano developer', specifically focusing on its 'database designer'. This designer allows users to log into a database, create new databases, or modify existing ones. Users can view and alter the database structure, including adding or deleting tables and fields. The 'database designer' thus provides a comprehensive interface for database management within the tano developer environment.
03:00 - 04:00: Creating a New Project The chapter discusses the features of a database repository that facilitates the creation of new projects. It allows users to create comments on tables and fields and utilize predefined controls for specific database fields, including primary keys, foreign keys, and reference tables. Users are instructed on how to view and modify data, as well as how to navigate through different tables. The table editor feature is highlighted for its capability to edit and change database fields.
04:00 - 05:00: Building the Data Set The chapter titled 'Building the Data Set' discusses the initial steps in a project starting with setting up the Integrated Development Environment (IDE) before creating an application. The focus is on creating the data set, which serves as the capsule that transports data from the database server to the client application. This process involves writing into an SQL lock, making the data set deployable on the productive database.
05:00 - 07:00: Defining Tables and SQL Statements The chapter titled 'Defining Tables and SQL Statements' discusses the fundamental concept of a dataset, which serves as a container for multiple tables and represents the business model of a business object. It explains the process of creating a new dataset, specifying its name, and using a table within it. It also mentions that the table name in the database can differ from the one used in the dataset.
07:00 - 10:00: Configuring Data Retrieval Arguments In the chapter titled 'Configuring Data Retrieval Arguments,' the focus is on setting up SQL statements for a customer table. It involves selecting one or multiple tables from a database, utilizing a repository to search for the tables, and choosing specific fields from these tables. The transcript emphasizes the ability to click next to non-nullable fields to include them in the data retrieval process.
10:00 - 13:00: Designing the User Interface This chapter focuses on the design of user interfaces, particularly on the importance of making fields bold to enhance their visibility while updating data sets. It also describes the creation of a secondary table to illustrate a master-detail relationship. Emphasis is placed on ensuring that both the main and detail tables have update capabilities enabled to facilitate modifications.
13:00 - 16:00: Integrating Search Functionality The chapter titled 'Integrating Search Functionality' begins with the base setup of a dataset that has been organized.
16:00 - 20:00: Implementing New Row Functionality This chapter discusses optimizing data retrieval by focusing on a specific customer and its related contacts. It highlights the use of a compound primary key, consisting of a field type and field number, to efficiently access relevant data. The aim is to avoid loading unnecessary information and instead target fetching criteria directly, aligning with the database design planned.
20:00 - 23:00: Finalizing and Testing the Application In the chapter titled 'Finalizing and Testing the Application,' the focus is on refining the application by incorporating input arguments into the SQL statement's where clause. This process is likened to the method used for processing data in the contacts table, suggesting a systematic approach to data management and query optimization as the application nears completion.
23:00 - 25:00: Conclusion and Contact Information In the final chapter titled 'Conclusion and Contact Information,' the focus is on wrapping up the book's content and providing final insights. The chapter highlights the importance of saving the dataset, which automatically generates a specific type of dataset. This dataset facilitates strong-typed addresses to tables and fields, enhancing the development process with IntelliSense features inside the coding engine. Additionally, the chapter discusses testing the dataset in the preview mode, which involves manually specifying rigorous arguments and pressing the load button to ensure accuracy and reliability.
Introduction TimeLine Developer – High-performance C# development Transcription
00:00 - 00:30 hello and welcome my name is for skeeball and in the next few minutes I will show you how to create a three-tier business application with Tanna developer tony developer was designed as a replication development front-end to Visual Studio and automates the creation of retrieves interface applications for WPF and HTML let's first have a look at a few features of tamo developer apps tunnel developer apps are three-tier applications they consist of 100% managed code usually written in c-sharp dotnet and the feature of modern WPF for
00:30 - 01:00 html5 interface the middleware is called the timeline server telnet server offers several services that can be used by time and developer apps such as the data set and document management service adjacent service for mobile devices an smtp and IMF adapter for complete mail support of any time a developer application the code of service for be directional calendar functionality and integration with Outlook or other calendars and an integrated web server to host the HTML applications created by
01:00 - 01:30 tano developer let's not have a look at ton and developer itself and create an application with it we start turn on developer and log into the database you can use an existing database or create the database using time and developer for this town and developer features a designer called the database designer that allows you to have a look into the database look at the data and change the structure of the database by adding tables and fields or deleting tables and fields alongside with every table you
01:30 - 02:00 have a database repository that allows you to create comments top tables and fields and to also predefined controls that we will use for certain database fields primary keys as well as foreign keys and reference tables are being shown and I said before you can have a look at the data by just looking at data and sigan to also modify the data or have a look into separate database tables the table editor allows you to edit and change fields changes are being
02:00 - 02:30 written into an SQL lock that can be deployed on the productive database after you deploy your coding let's now start with a new project and terminal developer so we start up the IDE first of all before we create an application we create the data set the data set is the capsule with which the data is being carried from the database server to the client application the
02:30 - 03:00 dataset essentially is a capsule that contain several tables and hosts the business the data model of the business object creating a new data set we first specify the name let's make a customer master that's the data set designer and the first thing we do is we add a table the table name inside of the database can vary from the database so if you
03:00 - 03:30 left let's call it a customer table and now create the SQL statement for that customer table for this we select one of the tables or several tables join together from the database we can search for tables using the repository and we can select fields from the database by clicking next to each field non nullable
03:30 - 04:00 fields are shown in bold so when you want to update these fields it's easier to find them and select them for your data set let's also create a second table to create a little master detail example so we entered edit the contacts table that also should be updatable tables that should be updatable obviously also need to have the update statement set here
04:00 - 04:30 now we got our data set all laid out
04:30 - 05:00 since we do not want to load all the data into our data set but only one customer and it's reference contacts we could specify retrieve your arguments up here as we already saw on the database designer the past table we are using is having a compound primary key consisting of two segments the field type and the field number given here with the yellow little key instead of our data set we therefore specify type the number us
05:00 - 05:30 retrieve our arguments and add them to the where clause of the SQL statement the same we do for the contacts table
05:30 - 06:00 we save the data set which will automatically create the type data set which allows us later to address tables and fields strong typed with intellisense inside of the coding engine and we test the data set in the preview for this we manually specify the rigor arguments and press the load button the
06:00 - 06:30 customer or in this case since the primary key was identically specified contains one row whereas the contacts table in the data set contains several rows with several contact persons the name can be seen here so that's our data set the data set obviously can consist of as many tables as you wish can be updatable or not updatable if you want to update the table specify the updatable table here on this parameter
06:30 - 07:00 any change and any subsequent change to the data set will automatically result in the regeneration of the type data set which we will come back to later let's not create a little customer master project so we add a new project inside of our visuals to your project happy now create the first user interface by adding a new module here is the option of creating WPF modules as well as web
07:00 - 07:30 modules we first go with the vpf module any module consists of a window the business object and a data set we first specify the name for each of these objects let me select our data set that we already created now we have window designer opened which allows us to design the window we have to tap pages
07:30 - 08:00 here already and the ribbon menu preset that can be added or changed and modified at any time inside of the data tab we see the structure of our data set with the customer table and with the contacts table on the control stuff we find all the controls that we will later place on our window and behind the designer we have the editors the IDE for
08:00 - 08:30 the vho the window handling object with all its different events at the business object coding can be done in the integrated IDE or by pressing the visual studio button inside of Visual Studio terminal developer is fully comfortable with visual studio let's first create the layout in a quick approach by just pulling the tables onto the canvas and selecting the fields
08:30 - 09:00 the same we do for the contacts table we split the screen vertically into two segments and the contacts we want to have not in the data panel but in a data grid we select only the important fields and press ok now let's create a little
09:00 - 09:30 button that allows us to retrieve the data retrieving the data we can do by using an event behind this am I retrieve button so we start our first coding line we enter the menu item retrieved event
09:30 - 10:00 and we use the my retrieved button as you can see we have intellisense also in the integrated development environment now loading the data is actually easy because the retrieval arguments we specified in the data set have already been generated into the type data set so all we need to do this we call the business object inside of the business object we have the type data set called tea set and the retrieve method will already have our two arguments type and
10:00 - 10:30 number for a simple case we just manually edit these values later on we will do this while variables or input and then we can start our module first in order to avoid the generic window for entering the retriever argument to open we comment out the standard base event starting the mode you can directly be done by pressing the running man the system will
10:30 - 11:00 build and immediately start the module pressing the load button will now load the data of the customer with a number 90,000 here in this field you already see the repository the properties of this field the combobox are filled by information from the repository where the field type can have the members customer supplier prospect or contact let's now add search functions to our module we invert the designer and first
11:00 - 11:30 edit a new panel to our window we drag the control the panel control onto our canvas and split the screen again vertically we adjust the height of the grid and then we add a combo box for the type and a search box that allows us to
11:30 - 12:00 create a new search a generic search that can be used not only in this module but also in other modules we first drag the combo box and the search box we added the labels and since we know we already have a combo type ID we select that combo type ID from the database repository that will give us the items
12:00 - 12:30 we've seen before on the screen now the search box contains the search definition that search definition is reusable and can be defined in another designer let's edit a search definition for the table pass which is our customer table and we call this customer search essentially the core of a search
12:30 - 13:00 definition is again an SQL statement and we use the SQL designer we already know by selecting the path table and adding all the fields we want to have in our search we press ok and specify which of the fields will return the primary key values at each of the fields our search and display fields usually search and display fields are the same I just see
13:00 - 13:30 that I forgot the type field shouldn't forget that so we have the type field here we go again the combo type was are automatically identified by the information from the repository we save the search go back to the customer master and add the customer search
13:30 - 14:00 search definition in the search definition ID property of the search box the retrieve field in this case maps to the number field that is bound underneath that text box search now in order to facilitate automatic loading we bind the action property of the item change event of the search box to an event that we find using the member
14:00 - 14:30 picker that allows us to directly buy the action property call functions from the business object the Wyndham handling object or access any of the data set arguments let's now try our module you select the type and now we can call
14:30 - 15:00 the search see our generic grid and then just select a customer or tap in the customer name directly for loading before little system will actually load the data we have to set the binding path
15:00 - 15:30 and we can set the binding path to the retrieve arguments of the data set so we bind the combo box to the type argument and the search box we bind to the number argument
15:30 - 16:00 that will effectively trigger the search and you can either enter a full text search directly in the number field or you call the search function to retrieve the customer data and here is already
16:00 - 16:30 editable who can be saved so any changes to the data can already be saved by using the data set let's now do a little more coding and add some initialized values or new rows to our custom aster let's add new data set in information to the database for this we code the new
16:30 - 17:00 button mi nu we go back into the window handling object I will now quote the new event since we want to create a new row in our data set we first clear the way
17:00 - 17:30 the data which is currently loaded by using the clear function and then we create a new row using a variable that we call new passed back new customer can be populated by an method that the type data set automatically contains when we generate the type data set from your data set definition [Music] so we specify that we want to use the
17:30 - 18:00 customer table inside of our data set and add a new row to the customer table that will create a variable new customer which already contains all the fields that we have specified in the data set so we now initialize the values using the intellisense you see the fields in the intellisense
18:00 - 18:30 that we previously selected in the data set for the customer number we need to retrieve the latest number from the database so we use standard SQL method that enables us to run directly SQL statements even if we are running
18:30 - 19:00 the whole system over the web if the database should return a null value we can initialize with the default of the row and add and increment the value by 1 to get the new customer number [Music]
19:00 - 19:30 like we did here we can initialize any field using the intellisense of the type data set since I have a few not nullable
19:30 - 20:00 fields I have to first fill these values or initialize these values before I can save them into the database when after we've initialized all the values we will tap the row to the data set using the add row method this is also contained in
20:00 - 20:30 the type data set when we are done we synchronize the default view ie the data panel with the first row in the data set by moving to the first row in the data set after we've done that we start our
20:30 - 21:00 application and see whether it works we press the new button and have the new number the initialization of the customer type and we can already save the data to check whether the data was
21:00 - 21:30 saved we use the search function and find the data as we entered it before so actually without much coding we've created a complete module with search functionality update and save capabilities internal developer the last step is to add the module to the menu of the user to the application module and you can do this by adding it into the menu from now on everybody in the
21:30 - 22:00 application can call this new module directly from the application content thank you very much for watching this video I hope you liked it any questions you can always write to me via my editors big IBAMA it's time and Dottie thank you again for your time and have a