How To Create A Data Gateway On A Microsoft Powerbook On A Pc Or Macode (For Microsoft) On A Macode 2.5 (For A Microode) On An Ipad Or Macroode ( For A Microos



Similar documents
Access Data Object (cont.)

1. La classe Connexion class Connexion {

AD A O.N. ET E Access Data Object

Using IRDB in a Dot Net Project

Linguagem Programação Estruturada Prof. Dr. Chau S. Shia

Aplicação ASP.NET MVC 4 Usando Banco de Dados

Classe AGI - PHP 5.x

Joining Tables in Queries

M2273-Updating Your Database Administration Skills to Microsoft SQL Server 2005

NADABAS. Report from a short term mission to the National Statistical Institute of Mozambique, Maputo Mozambique April 2012

! "#" $ % & '( , -. / 0 1 ' % ' 3" 4569& 7 456: % 9 ; ; <&= 3 %,< & 4 4 % : ' % > ' % ? 1 3 & B&?

SQL 2: GETTING INFORMATION INTO A DATABASE. MIS2502 Data Analytics

Form Tasarımı - 5. Veri Tabanı Veri tabanı ismi; m Tablo ismi; mt

El poder de la Programación de Excel y Visual Basic User Review --->>> Enter Here More Details => VISIT HERE

Integrating SAS and Microsoft.NET for Data Analysis

Manual Activity after implementing note

Boletim Técnico. Esta implementação consiste em atender a legislação do intercâmbio eletrônico na versão 4.0 adotado pela Unimed do Brasil.

RSS Feed from an Access Database

Hands-On Data Science with R Dealing with Big Data. Graham.Williams@togaware.com. 27th November 2014 DRAFT

See the Developer s Getting Started Guide for an introduction to My Docs Online Secure File Delivery and how to use it programmatically.

Cello How-To Guide. Securing Data Access

1. Create SQL Database in Visual Studio


CRM: customer relationship management: o revolucionário marketing de relacionamento com o cliente P

One method for batch DHI data import into SQL-Server. A batch data import technique for DateSet based on.net Liang Shi and Wenxing Bao

Evaluation. Copy. Evaluation Copy. Chapter 7: Using JDBC with Spring. 1) A Simpler Approach ) The JdbcTemplate. Class...

Bioinformática BLAST. Blast information guide. Buscas de sequências semelhantes. Search for Homologies BLAST

Classes para Manipulação de BDs 5

Database Communica/on in Visual Studio/C# using Web Services. Hans- Pe=er Halvorsen, M.Sc.

How To Create A Database In Araba

C# Datenbank-Programmierung

Autotask Web Services API. API Version 1.1

Working with ecatt (Extended Computer Aided Test Tool)

Conexión SQL Server C#

Social Media in the Process Automation Industry

آموزش DataGrid در WPF به همراه صفحه بندي و جستجوي انتخابی. کلیک کن

MyChartWebPart.cs. // For SortList using System.Collections.Generic; using System.Collections; // For DataTable using System.Data;

var context = new CustomerContext(); //... context code...

listboxgaatmee.dragdrop += new DragEventHandler(listBox_DragDrop); ListBox from = (ListBox)e.Data.GetData(typeof(ListBox));

Windows Services Frequently Asked Questions (FAQ): Copyright UplinkEarthhosting com 2008 V1.5

Tamr on Google Cloud Platform: E-Commerce Tutorial

03 infra TI RAID. MTBF; RAID Protection; Mirroring and Parity; RAID levels; write penalty

Database: Data > add new datasource ALGEMEEN

O que há de novo no C# 4.0 e no Visual Basic 10

Paging, sorting, and searching using EF Code first and MVC 3. Introduction. Installing AdventureWorksLT database. Creating the MVC 3 web application

GTPayment Merchant Integration Manual

MANUAL RASTREADOR TK103. That is why manual rastreador tk103 guides are far superior compared to the pdf guides.

XMLs para o e-rede estamos todos ligados

Mastering Visual Basic.NET Database Programming Evangelos Petroutsos; Asli Bilgin

Sage Abra SQL HRMS. Abra Workforce Connections. Advanced Customization Guide

13 melhores extensões Magento melhorar o SEO da sua loja

{ oledbdataadapter1.updatecommand.commandtext = "update personel set ad='" + textbox2.text + "' where id=" + textbox1.text; oledbconnection1.

Working with Data in ASP.NET 2.0 :: Paging and Sorting Report Data Introduction. Step 1: Adding the Paging and Sorting Tutorial Web Pages

Implementing a WCF Service in the Real World

Bookstore Inventory System Software Design Document. Version 1.0

Redes Border Gateway Protocol (BGP): Exercícios Redes de Longa Distância e Alta Velocidade. Prof. Dr. Ruy de Oliveira IFMT

VM0808H HDMI Matrix Switch RS-232 Control Tool V User Manual

TRANSACÇÕES. PARTE I (Extraído de SQL Server Books Online )

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.

e4cash Configuration Reference PRELIMINARY

SQL 2012 Migration. Frequently Asked Questions

The Developer Side of the MS Business Intelligence Stack

52/2014. ii. iii. iv. bb 2

Packet Tracer - Subnetting Scenario 1 (Instructor Version)

VB.NET - DATABASE ACCESS

Symom Documentation. Symom Agent MRTG. Linux. Windows. Agent. Agent. Windows Agent. Linux Agent

O CÉU É O LIMITE THE SKY IS THE LIMIT PORTUGUESE ACHIEVEMENT CONFERENCE. Dr. Beatriz de Paiva

Exemplo 12 usa fragmentos de acordo com a orientação da tela (landscape ou portrait)

ArcHC_3D research case studies (FCT:PTDC/AUR/66476/2006) Casos de estudo do projecto ArcHC_3D (FCT:PTDC/AUR/66476/2006)

Real-World ASP.NET: Building a Content Management System

Introdução ao DAS e SCSI

PANTONE DS-C PANTONE C:0 M:5 Y:100 K:10 DS 2-1 C PANTONE C:0 M:3 Y:100 K:10 DS 2-2 C PANTONE C:0 M:0 Y:100 K:10 DS 2-3 C

Building a Custom User Manager

HSBC Switch Kit. Your gateway to smarter banking. This kit contains:

Programming Autodesk PLM 360 Using REST. Doug Redmond Software Engineer, Autodesk

Netswipe Processing Implementation

JDBC (Java / SQL Programming) CS 377: Database Systems

SAMPLE FINAL EXAMINATION SPRING SESSION 2015

NAV 2009 C/SIDE Introduction

Visual COBOL ASP.NET Shopping Cart Demonstration

Development and Research on Remote Online Education Information System Based on Web

Database Development and Management with SQL

Um dos desafios na àrea de prestação de cuidados de saúde é o acesso à Informação

1.Tüm Kayıtları Getirme - Arama Yapma

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

MS ACCESS DATABASE DATA TYPES

From Data Warehouse to Business Intelligence: The Michigan Journey

Transcription:

Table Module com Table Data Gateway usando Result Set

Packages UI «table module» BLL «table data gateway» DAL 58

Classes BLL Contract + Contract ( ) + RecognizedRevenue ( [in] contractid : int, [in] asof : DateTime ) : Money + CalculateRevenueRecognitions ( [in] contractid : int ) + GetContracts ( ) : DataSet + GetContractsByProduct ( [in] productid : int ) : DataSet + GetContractsByCustomer ( [in] customerid : int ) : DataSet Customer + Customer ( ) + GetCustomers ( ) : DataTable Product + Product ( ) + GetProducts ( ) : DataTable 59

Classes DAL CustomerGateway + CustomerGateway ( ) + GetCustomers ( ) : DataTable ContractGateway ProductGateway + ProductGateway ( ) + GetProducts ( ) : DataTable + ContractGateway ( ) + InsertRecognition ( [in] contractid : int, [in] recognitiondate : DateTime, [in] amount : decimal ) : int + GetContracts ( ) : DataSet + GetContractByID ( [in] contractid : int ) : DataSet + GetContractsByProduct ( [in] productid : int ) : DataSet + GetContractsByCustomer ( [in] customerid : int ) : DataSet BaseGateway # «property» CurrentTransaction : OleDbTransaction - CONNSTR : string = @"Provider=..." 60 + BaseGateway ( ) # GetConnection ( [in] open : bool ) : OleDbConnection # ExecuteQuery ( [in] cnx : OleDbConnection, [in] sql : string ) : DataSet # ExecuteNonQuery ( [in] cnx : OleDbConnection, [in] sql : string ) : int # ExecuteNonQuery ( [in] tx : OleDbTransaction, [in] sql : string ) : int # ExecuteNonQuery ( [in] tx : OleDbTransaction, [in] cmd : OleDbCommand ) : int + BeginTransaction ( ) + CommitTransaction ( ) + RoolbackTransaction ( ) # «get» CurrentTransaction ( ) : OleDbTransaction

Sequência GetContracts / User : Actor1 / GUI / ClassifierRole1 : Contract / ClassifierRole2 : Contract Gateway 1 : \Form_Load\ 2 : GetContracts ( ) 3 : GetContracts ( ) 4 : GetConnection ( open ) 5 : ExecuteQuery ( cnx, sql ) 61

Sequência CalculateRevenues / User : Actor1 / GUI / ClassifierRole1 : Contract 1 : \btncalcrevenues_click\ 2 : CalculateRevenueRecognitions ( contractid ) 3 : \new\ / ClassifierRole2 : Contract Gateway 4 : GetContractByID ( contractid ) 5 : BeginTransaction ( ) 6 : InsertRecognition ( contractid, recognitiondate, amount ) foreach calculated recognition 7 : CommitTransaction ( ) 62

CalculateRevenues() public void CalculateRevenueRecognitions(int contractid) { DAL.ContractGateway dal = new DAL.ContractGateway(); DataSet ds = dal.getcontractbyid(contractid); string prodtype = (string)ds.tables[0].rows[0]["type"]; decimal totalrevenue = (decimal)ds.tables[0].rows[0]["revenue"]; DateTime recdate = (DateTime)ds.Tables[0].Rows[0]["dateSigned"]; 63 } dal.begintransaction(); switch (prodtype) { case "PT": dal.insertrecognition(contractid, recognitiondate, totalrevenue); break; case "FC": decimal[] allocs = Money.Allocate(totalRevenue, 3); dal.insertrecognition(contractid, recdate, allocs[0]); dal.insertrecognition(contractid, recdate.adddays(60), allocs[1]); dal.insertrecognition(contractid, recdate.adddays(90), allocs[2]); break; case "BD": decimal[] allocs = Money.Allocate(totalRevenue, 3); dal.insertrecognition(contractid, recdate, allocs[0]); dal.insertrecognition(contractid, recdate.adddays(30), allocs[1]); dal.insertrecognition(contractid, recdate.adddays(60), allocs[2]); break; } dal.committransaction();

CalculateRevenues() public int InsertRecognition(int contractid, DateTime recognitiondate, decimal amount) { OleDbCommand sqlcmd = new OleDbCommand("INSERT INTO TRevenueRecognitions (contractid, daterecognition, amount) VALUES (?,?,?)", CurrentTransation.Connection, CurrentTransation); sqlcmd.parameters.add("@cid", contractid); sqlcmd.parameters.add("@dt", recognitiondate); sqlcmd.parameters.add("@amt", amount); } return ExecuteNonQuery(CurrentTransation, sqlcmd); 64

Notas Método ContractGateway.GetContractByID retorna um DataSet resultante do join da tabela TContracts com TProducts Para garantir coerência e consistência das alterações na BD, a classe Gateway tem que guardar estado relativo à transação a usar Controlo de transacções dá uma discussão separada... 65