Planificarea acti vității Paul Robert ȘUBREDU [627346]

Planificarea acti vității Paul Robert ȘUBREDU

1 Cuprins
Cuprins ………………………….. ………………………….. ………………………….. ………………………….. ………….. 1
Listă de figuri ………………………….. ………………………….. ………………………….. ………………………….. ….. 2
Summary ………………………….. ………………………….. ………………………….. ………………………….. ……….. 4
1. Planificarea activității ………………………….. ………………………….. ………………………….. …………….. 10
2. Stadiul ac tual ………………………….. ………………………….. ………………………….. ……………………….. 11
3. Fundamentare teoretică ………………………….. ………………………….. ………………………….. …………. 15
3.1 Caracteristici ale bazelor de date ………………………….. ………………………….. …………………… 15
3.2 Arhitectura bazelor de date ………………………….. ………………………….. ………………………….. . 17
3.3 Avantaje și dezavantaje utilizării arhitecturilor ………………………….. ………………………….. . 20
3.4 Limbajul SQL ………………………….. ………………………….. ………………………….. ………………… 20
3.5 Tehnologia ADO.NET ………………………….. ………………………….. ………………………….. ……. 22
3.5.1 Introducere ………………………….. ………………………….. ………………………….. ………….. 22
3.5.2 Componente ale furnizorului de date ………………………….. ………………………….. ….. 22
3.6 Tehnologia ASP.NET ………………………….. ………………………….. ………………………….. ……… 23
3.6.1 Tipuri de site -uri web în tehnologia ASP.NET ………………………….. …………………. 23
3.6.2 Tehnologia folosită în crearea unui server ………………………….. ……………………….. 24
3.6.3 Servicii web ………………………….. ………………………….. ………………………….. ………… 24
4. Implementarea soluției adoptate ………………………….. ………………………….. …………………………. 25
4.1 Definirea bazei de date ………………………….. ………………………….. ………………………….. ……. 25
4.1.1 Crearea bazei de date ………………………….. ………………………….. ………………………… 25
4.1.2 Definirea tabelelor ………………………….. ………………………….. ………………………….. . 26
4.1.3 Creare legături între tabele ………………………….. ………………………….. ……………….. 26
4.1.4 Codul sursă folosit pentru crearea bazei ………………………….. ………………………….. . 27
4.2 Crearea aplicației ………………………….. ………………………….. ………………………….. ……………. 29
4.2.1 Design -ul aplicației ………………………….. ………………………….. ………………………….. 31
4.2.2 Realizarea interfeței ………………………….. ………………………….. …………………………. 32
4.2.3 Corelarea ferestrei de design cu codul din spatele acesteia ………………………….. …. 38
4.2.4 Implementarea unei pagini ce trimite mail -uri ………………………….. ………………….. 41
5. Rezultate experimental e ………………………….. ………………………….. ………………………….. ………… 42
6. Concluzii ………………………….. ………………………….. ………………………….. ………………………….. …. 44
7. Bibliografie ………………………….. ………………………….. ………………………….. ………………………….. 45
8. Anexe ………………………….. ………………………….. ………………………….. ………………………….. …….. 46
CV………………………….. ………………………….. ………………………….. ………………………….. ………………………….. .. 57

Planificarea acti vității Paul Robert ȘUBREDU

2 Listă de figuri
Figura 1. Connection schema between ASP.NET and SQL Server ………………………………….. …….. 5
Figura 2 a. IIS aplication in Windows small pictures ………………………….. ………………………….. ……. 6
Figura 2 b. Options IIS ………………………….. ………………………….. ………………………….. …………………. 6
Figura 3. Personal Data (Physical Person) ………………………….. ………………………….. ………………….. 7
Figura 4. Choice an type of person and insurance ………………………….. ………………………….. ……….. 8
Figura 5. Error message from webpage display ………………………….. ………………………….. …………… 8
Figura 6. Error message f rom calendar ………………………….. ………………………….. ………………………. 8
Figura 7. Diagram of the database ………………………….. ………………………….. ………………………….. … 9
Figura 8. Aplicație online de verificare a RCA -ului în Bulgaria ………………………….. ………………. 12
Figura 9. Cartelă perforată și cititorul acesteia ………………………….. ………………………….. ………….. 15
Figura 10. Schemă de legături între baza de date cu diferite tipuri de utilizatori ……………………. 16
Figura 11. Exemplu de arhitectură 1 -tier ………………………….. ………………………….. …………………. 18
Figura 12. Exemplu de arhitectură 2 -tier ………………………….. ………………………….. …………………. 19
Figura 13. Exemplu de arhitectură 3-tier ………………………….. ………………………….. …………………. 20
Figura 14. Arhitectură ADO.NET ………………………….. ………………………….. ………………………….. . 23
Figura 15. Ierarhie aplicație web ………………………….. ………………………….. ………………………….. … 24
Figura 16. Crearea unui proiect nou în SQL Server Management Studio 2008 ……………………… 25
Figura 17. Crearea unui query ………………………….. ………………………….. ………………………….. ……. 26
Figura 18. Creare unui proiect nou în Visual Studio 2015 ………………………….. ……………………… 29
Figura 19. Alegerea tipului de site ………………………….. ………………………….. ………………………….. 30
Figura 20. Selectarea bazei de date ………………………….. ………………………….. …………………………. 31
Figura 21. Meniul cu instrumente și fereastra design ………………………….. ………………………….. … 31
Figura 22. Pagina main ………………………….. ………………………….. ………………………….. …………….. 32
Figura 23. Pagina asigurareauto ………………………….. ………………………….. ………………………….. …. 33
Figura 24. Pagina CASCO Fizica ………………………….. ………………………….. ………………………….. 33
Figura 25. Pagina CASCO Juridica ………………………….. ………………………….. ……………………….. 34
Figura 26 . Pagina Date personale fizica ………………………….. ………………………….. ………………….. 34
Figura 27 . Pagina Date personale juridica ………………………….. ………………………….. ………………. 35
Figura 28 . Pagina factura ………………………….. ………………………….. ………………………….. …………. 35
Figura 29 . Pagina inregistrare ………………………….. ………………………….. ………………………….. ……. 36

Planificarea acti vității Paul Robert ȘUBREDU

3 Figura 30 . Pagina login ………………………….. ………………………….. ………………………….. …………….. 36
Figura 31 . Pagina plata ………………………….. ………………………….. ………………………….. ……………… 37
Figura 32 . Pagina RCA Fizica ………………………….. ………………………….. ………………………….. …… 37
Figura 33 . Pagina RCA Juridica ………………………….. ………………………….. ………………………….. … 38
Figura 34 . Alertă necompletarea oricărui TextBox ………………………….. ………………………….. ……. 42
Figura 3 5. Alertă neselec tarea unei date calendaristice ………………………….. ………………………….. 42
Figura 36. Alertă diferență dintre anul obținerii permisului și anul nașterii < 18 ……………………. 43
Figura 37. Alertă diferență an curent și an fabricație mai mare de 10 ani ………………………….. …. 43
Figura 38 . Eroare mesaj pentru tastarea unui număr de telefon invalid ………………………….. …….. 43

Planificarea acti vității Paul Robert ȘUBREDU

4 Summary

Introduction

Nowadays, there is a lot of information in the world of different forms. It needs to be
retrieved, processed, and then stored by some more complex procedures and why not secured to be
accessed later by who will have access to it.
A method for translating information into a digital environment I use in this project is the
database.
I chose this option because it was the most suitable for this project, and because the inputs
are organized, making it much easier and easier to extract them from the database.
In the first chapter of this paper I will present a brief introduction to the database concept
and the benefits it offers to insurance companies.
Communication between databases and computer programs has developed a lot lately and
it is supported by every programming language. This is accomplished through a database
management system called DBMS. The latter represents a set of software programs that accept data
requests from the application program and instruct the operating system how to handle the
requested information. This is done through a variety of control operations that a DBMS supports,
such as organizing, storing, deleting or retrieving the data in a database.
In these days, we all face a lot of risks, one of which is the (auto) accident that involves
us directly or indirectly. A solution adopted for this risk would be an insurance, it may b e 2 types
of RCA (mandatory), according to the law no. 132/2017 or CASCO (optional) , the latter with more
facilities.

Theoretical Fundamentals

This chapter provides a brief overview of the database concept and insurance companies
in this area. The most common type of database is the relational database management system
(RDBMS), in which data is stored in tables. These tables contain rows (records) and columns
(fields), respectively. The data is stored in which each column containing a specific attribute and
each row has a specific value for the corresponding attribute . In addition to tables, a relational
database may also contain: indexes, stored procedures, triggers, users and user groups, data types,
security mechanisms, and transaction management . This type of database works with the structural
query language (SQL) .

Advantages of Relational Data Base Management System:

• Structural flexibility (applications written for those databases are easier to maintain than
hierarchical or network databases )
• Data is only stored once
• Better security
• Avoids data duplicatios
• Do not allow inconsistent records

Planificarea acti vității Paul Robert ȘUBREDU

5 Disadvantages of Relational Data Base Management System:
• Isolated Databases (Records cannot be shared with other systems )
• Stuctured Limits (limits on field leng ths)
• Storage Record

Some of the most important features of SQL language :
➢ Very common language in English (insert, delete, update, select)
➢ Very common data types with the C / C ++, C# programming language (float, char, date,
time)
➢ SQL can be used in two wa ys: interactively by typing instructions at a terminal and through
the integration of SQL statements in a procedural language

In this paper I used Microsoft SQL Server (software that stores and interacts with other
applications either on the same PC or on the Internet of PCs) to create a database. In order to make
a connection between the framework that I used to build this work ASP.NET (Active Server Pages )
and the database I created, I used the ADO.NET (Access Data Object ) framework, both the latter
and the latter being developed by Microsoft. ADO.NET is a framework that allows access to data
sources provided by Microsoft SQL Server or others such as OLE DB and XML. To make this
connection, use the namespace System. Data.dll (dynamic link library).
A fir st step in creating an insurance company is to develop a database that will store existing
clients as well as future customers. Each company has its own database of each client's history,
along with other customer information. Creating such a database requ ires some knowledge, time
and money, but in the meantime this investment will be mitigated, even after some time the
company will go on profit. This data transfer solution in a digital format will make it easier to
manage data entered in the database, as well as a statistical comparison .
In the following we describe the communication process between ASP.NET technology and
SQL Server .

Figure 1: Connection schema between ASP.NET and SQL Server

The first step in the connection process between ASP.NET and SQL Server is when the user is
running the application. An HTTP request is sent by the user. When this request is issued, then it
is taken over by Internet Information Server (IIS), which runs under SYSTEM rights, as well as
admin rights. IIS authenticati on also works according to which users are created, if authentication
is anonymous, then they have IUSR_MACHINE rights. IIS passes the Windows request of the
caller to aspnet_isapi.dll, which is an ISAPI extension with a task to handle .aspx addresses.
Aspnet_isapi.dll is a technology that combines IIS and ASP.NET. The Aspnet_isapi forwards the

Planificarea acti vității Paul Robert ȘUBREDU

6 request through named pipes to a worker process. The worker process is aspnet_wp.exe which
hosts the CLR (Common Language Runtime ), it takes over the compiled code a nd turns it into
machine instructions, which only the processors can execute. Normally, the worker process is run
under an ASPNET account. This local account is created when the ASP.NET framework is
installed. Unlike the SYSTEM account, which is very power ful, the ASPNET account has very
limited privileges. ASP.NET authenticates the caller based on its own authentication configuration.
Authentication is configured in an XML format in the project's web.config file. If ASP.NET is
configured for Windows authen tication, ASP.NET accepts any form of authentification it receives
from IIS and no additional authentication occurs. In addition, the ASP.NET authorizes access to
the requested resources and/or files .
Automatically, when starting the web application, IIS s tarts (figure 2a), solving the request
received from the client. In Figure 2b, it can be seen that this application displays all the sites
running at that time on that station, with 2 options one opens a new tab in your favorite web browser
and shows us th e directory of files of the open web application in progress or the second option to
stop the application.

Figure 2a: IIS aplication in Windows small pictures

Figure 2b: Options IIS

Implementation

The objective of this paper is to develop a web app lication in the interest of a car insurance
company in order to relieve current clients or prospective clients of the most common "unfortunate"
cases such as going to the insurance company's headquarters, the state at the row tail or even f inding
the momen t they want to pay the insurance they do not have a sufficient balance. In order to
accomplish this, we used software developed by Microsoft, namely (SQL Server Management
Studio Express 2008 R2), used to create the RDBMS database and a graphical interface using the
ASP.NET technology combined with the Web form in the software, Visual Studio 2015, developed
by the same company. To achieve the technical (practical) part, I used the Structured Query
Language (SQL) for building the database, or C #, JavaScript for creating the web interface. This
work is structured in two parts for a better definition and to maintain an order in this work. First
part we will define it simply and clearly "Auto Database", which will contain the database of an
auto insurance compa ny, and the second one will be called "Web Interface", where the clients will

Planificarea acti vității Paul Robert ȘUBREDU

7 be able to enter the data both Identification and machine parts as well as other details. The auto
database will contain 9 tables that were created and modeled using the SQL prog ramming language.
In the second part of the application, it is intended for customers where they can do any type of
auto insurance, compare prices between insurers, pay with a bank card, create an online account,
and view insurance already in their account .
The following figure is an ASP Web form in which clients can insert their personal data.

Figure 3: Personal Data (Physical Person)

This paper contains a 16 -page Web form that has been developed in C#, HTML and
JavaScript. Through these languages and with the help of System.We b.UI, which allows us to
create an ASP.NET server, we have created a friendly interface behind which
System.Web.UI.WebControl, which helps to create methods, properties and events.

Experimental Results

Through this application, we have tried to offer our clients a different perspective by
comparing the prices between insurers and choosing the most favorable and appropriate one. Due
to the fact that all insurance companies offer insurance prices after completing the data of both t he
car and the owner, we shortened this method by creating a page containing a calculation algorithm
behind it using only the data of the car .
The first impact of the user with this site is the home page that gives him the choice of what
kind of person (ph ysical / legal) and what kind of insurance he wants to do for his car (RCA /
CASCO) .

Planificarea acti vității Paul Robert ȘUBREDU

8
Figure 4: Choice an type of person and insurance

If the client does not fill in all mandatory fields, an error will appear on the screen as a
dialog box, as in Figure 5. This error will persist each time the button is actuated, until the minimum
of the back will be accomplished.

Figure 5: Error message from webpage display

Another possible error encountered by customers would be the calendar related if they do
not s elect a start date for insurance.

Figure 6: Error message from calendar

Planificarea acti vității Paul Robert ȘUBREDU

9 Conclusion s

In this world almost everything can be assured. For this diploma I have limited myself to
car insurance of all types (RCA / CASCO), in case
Of the RCA, which is mandato ry and covers only standard cases of compensation (eg does not
compensate for its own vehicle). In the case of CASCO, this can be done alongside the RCA and
this time can compensate the owner in case of damage, theft. Besides these indemnifications, some
insurance companies also offer other benefits besides those provided at any CASCO, eg. In the
event of a fault in the car, they can provide 100 km for free to the nearest authorized service partner
and in partnership with them.
A web form page is made up of two parts. One is the design side (.aspx) that we built from
3 programming languages (C#, JavaScript and HTML) and what the client (interface) looks like.
The second one represents the code behind the application (.aspx.cs), where the connection to the
database is made (it could be done in Web.config) or even simpler (Server Explorer / Database
Explorer). The latter was done in the programming language C#. This project is developed in Visual
Studio 2015 (interface, connection and control side) and databa se in SQL Server Management
Studio Express version 2008 R2, both developed by Microsoft.
The database contains 9 tables and is described as follows (Figure 7). Through the graphical
interface, customers can choose from the beginning what type of person (le gal / physical) and what
type of insurance they want to complete (RCA / CASCO). The calculation of the insurance policy
is based on each client (paid, year of permits, type of person), car (engine capacity, year of
manufacture, power) and insurance (RCA / CASCO). These data are stored later in the database,
and some of them can be viewed by each client (only their own).

Figure 7: Diagram of the database

Planificarea acti vității Paul Robert ȘUBREDU

10 1. Planificarea activității

Sarcini de lucru Început Sfârșit Durata
(zile)
Alegerea temei 10.10.2016 18.10.2016 8
Studiul lim bajului de programare utilizat ș i
instalarea aplicațiilor necesare 19.10.2016 08.02.2017 113

Studierea programelor utilizate 10.02.2017 27.02.2017 17
Crearea bazei de date 03.03.2017 29.03.2017 27
Realizare aplicației web 01.04.2 017 23.06.2017 84
Rezultate experimentale 25.06.2017 10.07.2017 16
Redactarea documentației 12.07.2017 14.08.2017 34

Planificarea acti vității Paul Robert ȘUBREDU

11 2. Stadiul actual

După cum putem observa in jurul nostru se schimba foarte multe lucruri, timpul trece tot
mai repede, iar tehnologia avansează odată cu el. Ca și în alte domenii, tehnologia a avut
întotdeauna un rol important in dezvoltarea, perfecț ionare ș i ușurarea muncii omului. Un exemplu
concret ar fi informația , care poate fi de mai multe feluri. În că din cele mai vechi timpuri s -a
încercat salvarea acesteia și conservarea ei pe diverse materiale, cum ar fi tăblițe de piatra, fier și
mai târziu hârtie (care se folosește și in zilele noastre), dar de departe cea mai avansata stocare este
cea digitală. O astfel de stocare se poate face pe hard -disk-uri, cd/dvd, carduri de memorie și altele.
Această lucrare are la rădăcină o bază de date în care se vor salva date de identificare legate
de clienți și cu caracter tehnic, respectiv mașină. Pe lângă baza de date aceasta mai conține si o
interfață prietenoasa si ușoară pentru toți clienții înregistrați sau posibili viitori clienți. Prima parte
a acestei lucrări după cum este specificat și în planificarea lucrării o reprezintă construirea bazei de
date. Pentru determinarea acestui prim pas am utilizat software -ul SQL Server Management Studio
Express 2008 R2 dezvoltat de către compania Microsoft. In continuarea acestui proiect si realizarea
aplicației web am folosit software -ul Visual Studio 2015 dezvoltat tot de către cei de la Microsoft,
pentru a crea interfața grafica adresata clienților.
O bază de date SQL Server este compusă din trei tipuri de fișiere: un fișier cu extensia mdf
zero sau mai multe fișiere cu extensia ndf și unul cu extensia ldf
În fișierul cu extensia mdf sunt stocate obiectele bazei de date precum tabelele, indecș ii,
vederile etc. împreună cu definițiile lor, fișierele cu extensia ndf sunt fișiere secundare ce conțin
numai date, iar fișierul cu extensia ldf conține jurnalul de tranzacții . Oric e bază de date are asociat
un jurnal de tranzacții . Actualizarea unei înregistrări a bazei de date presupune memorarea în
jurnalul de tranzacții a conținutului înregistrării dinainte și după actualizare. Jurnalul de tranzacții
este folosit pentru restaurar ea bazei de date în situația în care apare o eroare ce necesită anularea
sau reluarea unor operații înregistrate. [1]
Limbajul pe care îl folosește acest software (SQL Server Management Studio) este SQL
(Structured Interrogation Language ). Acest software folosește structura sistemului de gest ionare a
bazelor de date ( DBMS ). Un sistem de gestionare a bazelor de date (DBMS) este un set de
programe software utilizate pentru a defini, gestiona și procesa bazele de date și aplicațiile asociate
acestora. Baza de d ate care urmează sa fie folosita este, o structură pe care o s -o populam cu datele
de care avem nevoie .
În aceasta lucrarea am utilizat b azele de date relaționale , deoarece acestea oferă o
flexibilitate structurală mai bună, o întreținere mai ușoara și o modificare a acestora foarte facilă în
comparație cu alte tipuri de baze de date. Aplicațiile scrise pentru acest tip de bază de date sunt mai
ușor de întreținut decât aplicațiile similare scrise pentru cele ierarhi ce sau baze le de date de rețea.
Acest lim baj (SQL) a fost proiectat pentru a permite oamenilor să creeze baze de date, să
adauge date noi, să mențină datele și să recupereze anumite părți ale datelor. Există diverse tipuri
de baze de date, fiecare aderând la o concepție de model diferită. SQL a f ost inițial dezvoltat pentru
a opera pe date în baze de date care sunt de tipul modelul ui relațional (RDBMS ), folosit și în această
lucrare .
Asigurarea de Răspundere Civilă Auto este un contract între societatea de asigurare ș i
asigurat, prin care asigurat orul preia ră spunderea de a despăgubi un terț accidentat din vina
asiguratului, pentru pagube materiale, vătămări corporale sau deces precum și cheltuieli de judecată
ale persoanei sau persoanelor vătămate. În baza acestui contract de asigurare, asiguratul este de
acord sa plătească o anumită sumă de bani, numită prima de asigurare, societății de asigurări , iar in
schimbul acestei sume, asiguratorul își asumă riscul de a plăti despăgubirile necesare conform
condițiilor din contract.
Un alt tip de asigurare este CASCO , acesta este opțional ă, deci nu e obligat orie
achiziționarea acesteia . O primă observație este faptul că asigurarea de tip obligatoriu (RCA), nu

Planificarea acti vității Paul Robert ȘUBREDU

12 oferă decâ t o asigurare de baz ă. CASCO, pe de altă parte asigură riscuri care nu sunt incluse in
RCA , spre exemplu: furtul, despăgubirea in caz de avarie a propriului autovehicul (în limita legii),
accidentului, precum și multe alte beneficii. Un defect al acestei asigurări ar fi prețul comparativ
cu cel al RCA -ului, problema că acesta asigură autovehicu le cu vârsta nu mai mare de 10 ani (unele
companii de asigurări 12 ani).
O autoritate administrativă autonomă care se ocupă cu atribuții în preluarea și reorganizarea
atribuțiilor prerogativelor Comisiei de Supraveghere a Asigurărilor (C.S.A.) , printre alt ele și
Comisiei Naționale a Valorilor Mobiliare (C.N.V.M.), Comisiei de Supraveghere a Sistemului de
Pensii Private (C.S.S.P.P.) este Autoritatea de Supraveghere Financiară (ASF) care s -a înființat în
2013. Aceasta are ca scop introducerea datelor legate d e aceste domenii de activitate într -o bază de
date (3 pentru fiecare administrație) și oferindu -le posibilitatea cetățenilor să verifice date legate
de asigurările acestora.
Baza de date care se ocupa cu stocarea datelor asigurărilor obligatorii (RCA) în R omânia
se numește CEDAM aceasta este în subordinea ASF. În această bază de date se poate verifica
existenta unei polițe RCA la o anumită dată pentru un autovehicul, poate fi vizualizată societatea
de asigurare care a emis polița și pot fi identificate prej udiciile asociate polițelor valabile începând
cu anul 2008 . În această bază de date toți asiguratorii au obligația să adauge noii asigurați și să
actualizeze situația fiecăruia când ori de câte ori este nevoie . Tot în această bază de date se mai
salvează ș i situația de Bonus -Malus (B/M) a fiecărui asigurat.
Asemănător bazei noastre de date pentru asigurări au și vecini noștri din Bulgaria , numită
(Guarantee fund) [2] . În aceasta se fac înregistrările referitoare la toate mașin ile asigurate în
Bulgaria . Apli cația este disponibilă în mediul online și este folosită atât de serviciile polițienești
cât și de cetățeni. Pentru a afla până când este valabilă polița făcută în curs sau dacă autovehiculul
e asigurat v -or trebui introdu -se câteva date cum ar fi : număru l de înmatriculare, seria de șasiu, o
dată folosită ca punct de reper și o serie de pe un abțibild securizat obținut in baza ultimei inspecții
tehnice periodice (I.T.P.).

Figura 8: Aplicație online de verificare a RCA -ului în Bulgaria

Pe lângă această aplicație de verificare a polițelor RCA, mai există o aplicație unde se pot
verifica inspecțiile tehnice periodice (I.T.P.) [3].
O altă bază de date asemănătoare celor deținută de bulgari este cea din Olanda. Aceasta se
numește RDW – Rijksdienst voor Wegv erkeer (tradus trafic rutier național). De fiecare dată când
este cumpărat, vândut sau importat un automobil, va trebui adăugat în baza de date RDW.
În baza de date RDW [9] sunt înregistrate informații privind vehiculele și menține calitatea
tuturor vehicul elor din Olanda. Acesta se realizează prin acordarea de certificate de calit ate și

Planificarea acti vității Paul Robert ȘUBREDU

13 autenticitate (certificatul de înmatriculare ), inspecție și supraveghere. În momentul de față această
societate RDW a fost una guvernamentală , dar acum este independentă și dețin e, de asemenea,
registre cu date dinaintea înființării ei. Ea furnizează informații și este responsabilă de e liberarea
scutirilor de drept de circulație pentru transporturi s peciale (foarte mari). RDW oferă o imagine a
ceea ce se întâmplă pe drumurile olandeze, precum și informații legate de vehicule , propr ietari și
șoferi de la început până la sfârșit.
Serviciile furnizate de RDW se bazează pe legislația olandeză, iar acestea vizează industria
auto, companiile de tr ansport, organizațiile de orice fel (chiar și guvernamentale), precum și
persoanele juridice . Cele mai importante puncte ale bazei de date RDW, pentru care oferă date
sunt: vehiculul, siguranța, considerații de mediu, sisteme de înregistrare fiabile și furn izarea de
informații. La nivel in ternațional , RDW este un exemplu foarte bun pentru restul țărilor din U.E.
(Uniunea Europeană), jucând un rol major combaterea infracționalității , dar în același timp e și o
sursă bună de informații și sfaturi.
Sediul RDW este în Zoetermeer , Olanda , dar ma i există și alte 18 posturi de inspecție în
diferite locații din Olanda și trei birouri regionale. În Lelystad , Olanda RDW are propriul centru de
testare cu circuit de testare pentru orice tip de vehicul . Aceasta menține un număr mare de registre
la sediul său din Veendam , Olanda având un personal de aproximativ 1300 de angajați .
Unul dintre cele mai mari si independente grupuri din regiune, EIG își propune pe piața de
asigurări din Romania, prin Euroins Romania, sa se poziționeze in top 5 cei mai buni asig uratori si
sa devina unul dintre c ele mai respectate brand -uri.
O tradiție ce -și are începuturile în 1994, SC Euroins Româ nia Asi gurare Reasigurare SA
reprezintă acum, pe piața asigurărilor din România, o prezență notabilă ce combină dimensiunea
socială a actului de vânzare de asigură ri, cu dimensiunea umană, ce are la bază o abordare
personalizată pentru fiec are client. Compania a crescut ș i s-a dez voltat de -a lungul timpului,
adăugând constanta si valoare produselor oferite abordării strategiei de vâ nzare , conceptului de
service -are a cl ienților, reușind să creeze și să livreze sprijin în preluarea riscului ș i oferi rea unor
produse de asigurare câ t mai complet e. Cei peste 1.000.000 de clienți, peste 500 de angajați si peste
4.500 agenți colaboratori, oferă imaginea a ceea ce î nseamnă acum Euroins Româ nia. [4]
OMNIASIG Vienna Insurance Group este prezentă pe piața asigurărilor din România încă
din 1995. Cota de piață, portofoliul de clienți și produse, garanția serviciilor de despăgubire
confirma poziția de top pe care OMNIASIG Vienna Insurance Group o ocupă astăzi în România.
Traducem caracteristicile tehnice ale produselor de asigurare în beneficii pentru clienți . Ne
asigurăm că cele mai importante lucruri din viața lor, sănătatea, familia, proprietățile și afacerile
lor beneficiază de cea mai bună și mai completă acoperire prin asigurare care exista. [5]
De peste 25 de ani, Asirom este compania de asigur ări tradi ționala a rom ânilor, oferindu -le
siguran ța, confortul și protecți a de care au nevoie, prin produ se și servicii de calitate, și consul tanță
pentru o viață liniștită. Anul 2007 s -a dovedit a fi un an de schimbă ri majore, care au adus beneficii
de im agine notabile pentru ASIROM, rămânând în istorie drept anul în care compania de asigurări
s-a ală turat m arii familii a grupului VIENNA INSURANCE GROUP, lider pe piața de asigurări
din Europa Centrală ș i de Est. ASIROM face parte din grupul celor 50 de compan ii din regiune
care consolidează echipa VIG (Viena Insurance Group) . [6]
Societatea de Asigurare – Reasigurare City Insurance S.A. este o companie de asigu rări
generale, 100% românească. Cu o experiență de 15 ani în domeniu, City Insurance pune astăzi la
dispoziția clienților o gamă completă de asigurări flexibile și performante. Produsele companiei
sunt c reate și adaptate pentru a satisface nevoile de asigurare ale clienților actuali și potențiali.
Astfel, societatea propune asigurări specifice atât persoanelor fizice, cât și celor juridice. City
Insurance este o companie ce stabilește cu partenerii și cli enții săi relații pe termen lung. Cuvintele
cheie sunt încredere și performanță . În acest sens, compania dovedește transparență, stabilitate,
coerență și atenție exclusivă îndreptată către asigurat. [7]
Groupama este astă zi unul dintre liderii pieței de as igurări din România, cu prime brute
subscrise î n valoare de 932,3 milioane lei î n 2016. Compania deservește pe plan local 1. 100.000
de clienți individuali ș i 67.0 00 de companii, dispune de o rețea comercială de aproximativ 122 de

Planificarea acti vității Paul Robert ȘUBREDU

14 agenții și puncte de lucru aflate pe întreg teritoriul țării și operează prin canale de distribuție
multiple: retail (vâ nzări directe și agenț i), non -retail (brokeri, bancassurance) ș i corporații . Canalul
bancassurance este susț inut prin parteneriate strategice î ncheiate cu princip alii actori bancari ș i de
leasing din Romania. Le oferim clienț ilor noștri PF, IMM si corporații produse și servicii care
adresează toate nevoile de asigurare (asigurări generale, proprietăți si auto, asigurări de răspundere
civilă, asigurări de persoane, asigurări agricole, asigurări de viață și asigurări de sănătate), p entru
continuitate. [8]

Planificarea acti vității Paul Robert ȘUBREDU

15 3. Fundamentare teoretică

3.1 Caracteristici ale bazelor de date

Bazele de date au apărut în anul 1832 , datele au fost înregi strate prin metoda cartelelor
perforate. La început aceste date au putut fi doar înregistrate, urmând ca mai apoi peste câțiva ani
să fie reinventată o mașină care scrie și citește aceste plăcuțe . Această tehnologie a fost folosită
până la începutul anilor 1950 , când au apărut bazele de date ce folosesc casete cu benzi magnetice .
Până în anii 1960 bazele de date cu cartele perforate au fost înlocuite complet de către cele cu banda
magnetică. O dată cu evoluția bazelor de date au evoluat și calculatoarele , iar pentru memoria de
stocare s-au creat hard disk -urile care la fel ca și bazele de date de la acea da tă foloseau tehnologia
benzii magnetice. La începutul anilor 1970 , după mai bine de 10 ani de cercetare, cum să se facă
aranjarea unei baze de date și să fie folosit ca tip de bază de date de către toate marile bănci din
întreaga lume . Aceasta nu a fost posibilă datorită faptului că era lentă în comparație cu tipu rile de
baze de date propuse la acea vreme. În anii 1980 aceasta devine populară și este folosi tă din ce in
ce mai mult.
Forma unei baze de date relațională este următoarea: câmpuri, unde sunt stocate
informațiile . Mai multe câmpuri grupate formează o înregistrare, iar mai multe înregistrări strânse
într-un grup formează un tabel.

Figura 9: Cart elă perforată și cititorul acesteia

Pentru ca utilizatorul să aibă acces la această bază de date de pe calculator, s-a creat un
sistem care permite crearea, manipularea, definirea și partajarea bazelor de date cu alte aplicații,
precum și cu alți utiliza tori. Acesta poartă numele de sistem de gestiune a bazelor de date (DBMS).
Definirea unei baze de date presupune specificarea tipurilor de date, structurile și constrângerile
datelor care trebuie stocate în baza de date. Definiția bazei de date sau inform ațiile descriptive sunt
de asemenea stocate de DBMS s ub forma unui catalog de ba ze de date sau a unui dicționar și se
numesc meta -date. Manipularea unei baze de date inc lude funcții precum interogarea bazei de date
pentru a prelua date specifice, actualiza rea bazei de date pentru a reflecta modificările în programul
ce este în corelație cu această bază de date și generarea de rapoarte din date le din baza de date.
Partaja rea unei baze de date permite mai multor utilizatori și programe accesul simultan la baza de
date create. Un program de aplicație accesează baza de date prin trim iterea de interogări sau cereri

Planificarea acti vității Paul Robert ȘUBREDU

16 de date către DBMS . În mod normal , o interogare generează recuperarea unor date , dar această
tranzacție poate cauza citirea unor date și introducerea unor alte date în baza de date. Alte funcții
importante furnizate de DBMS sunt: protejarea bazei de date și menținând pe o perioadă lungă de
timp această stare de protecție . Protecț ia include protecția sistemului î mpotriva defecțiunilor (sau
a avariilor) h ardware și software și a securității împotriva accesului neautorizat sau rău intenționat
al celorlalți utilizatori . O bază de date normală poate avea o lungă durată , numai dacă este
securizată, iar această stare se menține pe tot parcursul duratei acesteia .

Figura 10 : Schemă de legături între baza de date cu diferite tipuri de utilizatori

De obicei, o bază de date are mulți utiliz atori, aceștia pot avea privilegii diferite î n funcție
de ce necesitate are la baza de date . Cu cât gradul de permisie e ma i mare pentru un anumit
utilizator, acesta nu va mai fi avertizat atunci când datele vor fi stocate sau alte alerte de permisie .
Utilizatorii DBMS trebuie să aibă o varietate mare de aplicații distincte și trebuie să ofere facilități
pentru defini rea permi siunilor de vizualizare a informațiilor din baza de date .
Un multiuser DBMS, trebuie să permită accesul mai multor utilizatori accesul la baza de
date în acelaș i timp. Acest lucr u este esențial pentru înregistrarea datelor pentru mai multe aplicații ,
care sunt menținute într -o singură bază de date , comună . DBMS are în componență o ordine de
permisie a actualizărilor a se asigura că mai mulți utilizatori care încearcă să actualizeze aceleași
date, o să fie actualizate în mod controlat , astfel încât rezultat ul actualizărilor să fie corect . Aceste
tipuri de apli cații sunt denumite OLTP (procesarea tranzacțiilor online) . Un rol fundamental al
software -ului DBMS multiu ser este de a se asigura că tranzacțiile concurente f uncționează corect
și eficient. Conceptul de tranzacție a devenit foarte folosit în multe aplicații de baze de date.
Tranzacția este un program sau un proces de execuție care include una sau mai multe accesări a
bazei de date, precum și citirea sau actualizarea înregistrărilor în aceasta . Fiecare tranzacție se
presupune că este executa tă corect , dar când două tranzacții sunt executate în același timp există
posibilitatea de a introduce datele eronat . Pentru a rezolva această problemă DBMS trebuie să
impună câteva proprietăți tranzacționale. Proprie tatea izolării asigură executarea fiecărei tranzacții
în mod izolat față de alte tranzacții, indiferent de numărul acestora, acestea vor fi executate
concomitent . Aceste caracteristici sunt foarte importante , deoarece acestea fac distincția dintre un
DBMS și un altul tradițional în procesarea fișierelor.

Planificarea acti vității Paul Robert ȘUBREDU

17 În orice organizație în care mulți angajați folosesc aceleași resurse, este necesar ca un
administrator să supravegheze și să gestioneze aceste resurse. Pentru baza de date, resursa
principală este ea însăș i, iar resursa secundară este DBMS și software -ul de conex iune.
Administrarea acestor resurse este responsabilitatea administratorului bazei de date (DBA). DBA
este responsabil pentru autorizarea accesului la baza de date, coordonarea și monitorizarea util izării
aceste ia, precum și achiziționarea de resurse software și hardware . DBA este responsabil pentru
probleme cum ar fi încălcări ale securității și timp de răspuns scăzut al sistemului. În organizațiile
mari, DBA este asistat de un personal care îndepli nește aceste funcții.
Proiectanții de baze de date sunt responsabili pentru identificarea datelor care trebuie
stocate în baza de date și pentru alegerea structurilor adecvate pentru reprezentarea ș i stocarea
acestor date. Aceste sarcini sunt în mare parte întreprinse înainte ca baza de date să fie efectiv
implementată și să fie populată cu date. Este responsabilitatea proiectanți lor de baze de date să
comunice cu toți utilizatorii potențiali de baze de date pentru a înțelege cerințele lor și pentru a le
crea un design care îndeplinește toate cerințe le acestora . În multe cazuri, pro iectanții sunt repartizați
să lucreze cu DBA , dar după terminarea bazei de date, aceștia vor primi alte responsabilități, pentru
alte proiecte.

3.2 Arhitectura bazelor de date

Arhit ectura DBMS a u evoluat foarte mult în ultimii ani, unde software -ul DBMS a fost un
sistem bine integrat în DBMS -ul modern , pachete care sunt modulare în proiectare, cu o arhitectură
de sistem client / server. Ace astă evoluție reflectă noile tendințele în materie de calcul atoare , unde
calculatoarele mari sunt înlocuite de către sute de stații de lucru și calculatoare personale conectate
prin inte rmediul rețelelor de internet la diferite tipuri de server : servere Web, servere de baze de
date, servere de fișie re, servere de aplicații și așa mai departe.
Într-o arhitectură DBMS de tipul client / server, funcționalitatea sistemului este distribuită
între două tipuri de module: u n modul fiind „client ” care este proiectat în mod o bișnuit astfel încât
să ruleze pe o stație de lucru pentru utilizatori sau pe un computer personal. D e obicei, aplicații le
și interfețele utilizatorilor ca re accesează baza de date rulează în modulul „client ”. Prin urmare,
modulul „client” ajută la interacțiunea cu utilizatorul și ofe ră int erfețele ușor de utilizat, c um ar fi
diferite forme, precum și meniuri GUI (interfa ță grafică pentru utilizator). Alt doilea tip de modul,
este numit un „server ”. Acesta se ocupă de stocarea datel or, accesul, căutarea, precum și alte funcții.
Numeroase mod ele de baze de date, pot fi clasifica te în funcție de tipurile de concepte care
se utilizează în structura bazei de date. Modelele de date conceptuale sau de nivel înalt oferă
concepte care sunt aproape de modul în care mulți utilizatori percep date, în ti mp ce modelele de
date de nivel inferior sau fizic oferă concepte care descriu detaliile privind modul în care dat ele
sunt stocate pe hard disk -ul calculatorului.
Conceptele furnizate de modelele cu nivel scăzut de date sunt în general destinate pentru
developeri, nu pentru utilizatorii normali. Între aceste două extreme există o clasă de modele de
reprezentare (sau implementare) . Acestea sunt 4 la număr, care oferă con cepte și p ot fi ușor înțelese
de utilizatorii finali. Mod elele de reprezentare reprezintă multe detalii legate de stocarea datelor pe
hard disk . Modelele de date conceptuale utilizează concepte precum entități, atribute și relații.
O entitate reprezintă un obiect sau un concept. Un atribut reprezintă o proprietatea care
descrie o entitate. O relație între două sau mai multe entități reprezintă o asociere între ele Entitățile,
de exemplu, o relație de lucru între un angajat și un proiect.
Modelele de reprezentare sa u de implementare sunt utilizate cel mai frecvent î n sistem ele
DBMS . Acestea inc lud și modelul relațional utilizat pe scară largă ca m odel de date, precum și așa –
numitel e modele de date vechi – rețea și m odele ierarhice – care au fost util izate pe scară largă în
trecut.
Un alt model ar fi modelul de date orientat pe obiect , făcând par te din nivel superior . Acesta
aduce bazelor de date un plus de deschidere, flexibilitate si oferă rezultate bune pentru probleme le

Planificarea acti vității Paul Robert ȘUBREDU

18 complexe. Î n structur ă sunt acceptate toate tipurile de date cunoscute, putâ ndu-se aplica î n toate
domeniile de activitate. C omunicarea între obiecte se face prin mesaje, actualizarea me todelor,
actualizarea proprietăț ilor, actual izarea claselor, realizarea legă turilor î ntre clase, actualizarea
instanț elor.
Modelele de date fizice descriu modul în care datele sunt stocate ca fiș iere în compu ter prin
reprezentarea acestora ca i nformații sub formă de înregistră ri și căi de acces. O cale de acces este
o structură care f ace căutarea unor înregistrări în baza de date mai eficientă . Un index este un
exemplu al unei căi de acces care pe rmite accesul direct la date utilizând un cuvânt cheie.
Cele 3 modele de arhitecturi pentru DBMS sunt:

• 1-tier
• 2-tier
• 3-tier

Arhitectura client / server a fost dezvoltată pentru a face față număr ului mare de
calculatoare , stații de lucru, servere de fișie re, imprimante, servere Web și altele. Ideea este de a
defini servere specializate cu diferite funcționalități. De exemplu, este p osibil să conectăm mai
multe calculatoare sau stații de lucru la un server de fișiere . Datele f urnizate de serverele
specializ ate (printări, mail, servere web ) pot fi acc esate de mai multe calculatoare cu rol de client.
Aceste calculatoare oferă utilizatorului interfețele corespunzătoare pentru a ut iliza ac este server e,
precum și acces la diverse acțiuni .
Aceste arhitecturi folos esc 3 tipuri de straturi:

• Stratul prezentare
• Stratul business
• Stratul de date

Stratul prezentare este cel mai înalt strat al aplicației. Prin utilizarea acestui strat putem
accesa diferite pagini web, iar funcția lui principală este aceea de a comunica c u stratul aplicație.
Acest strat trimite informațiile primite de la tastatură și mouse, apoi le trimite stratului aplicație.
Stratul aplicație , numit și stratul business , care este cunoscut ca și strat logic interacționează
cu stratul bazei de date și trim ite informațiile acumulate stratului prezentare. Acest strat controlează
buna funcționare a aplicației software printr -un proces mai amănunțit.
Stratul de date este locul unde se stochează întreaga cantitate de informație . Stratul aplicație
comunică împreu nă cu stratul bazei de date acestui strat când au nevoie de date.
Primul model de arhitectură este 1 -tier (Single tier) . Acesta model de arhitectură conține
toate cele 3 straturi prezentate de mai sus: stratul prezentare, stratul aplicație, stratul bazei d e date.
Pentru această arhitectură, d atele sunt stocate în sistemul local sau într -o unitate partajată. Modelul
acesta este forte implementat în aplicațiile standard.

Figura 11: Exemplu de arhitectură 1 -tier

Planificarea acti vității Paul Robert ȘUBREDU

19 Al doilea model de arhitectură este 2 -tier ( Dual tier). Această arhitect ură este împărțită în
două părți :

➢ 1. Aplicație client ( Client T ier)
➢ 2. Baza de date (Data T ier)

Sistemul client gestionează atât straturile de prezentare, cât și cele de aplicație, iar sistemul
de server gestionează stratul baz ei de date. De asemenea, această structură este cunoscut ă sub
numele de aplicație client -server. Comunicarea are loc între Client și Server. Sistemul client trimite
cererea către sistemul server, iar serverul procesează cererea și apoi trimite datele înapo i la sistemul
client . Această arhitectură este folosită în aplicațiile de tip Client -Server.

Figura 12: Exemplu de arhitectură 2 -tier

Al treilea tip de arhitectură se numește 3 -tier (Three tier). La fel ca și arhitectura cu 2
straturi, aceasta este împ ărțită în 3 părți:

➢ Nivelul de prezentare (Client Tier)
➢ Nivel de aplicație (Business Tier)
➢ Nivelul bazei de date (Data Tier)

Sistemul client gestionează stratul de prezentare, apoi serverul de a plicație se ocupă de
stratul de aplicație și s erver -ul de sis tem se ocupă de stratul de bază de date. Această arhitectură
este des întâlnită în aplicațiile de tip Web .

Planificarea acti vității Paul Robert ȘUBREDU

20
Figura 13: Exemplu de arhitectură 3 -tier

3.3 Avantaje și dezavantaje utilizării arhitecturilor

1. Single tier
Avantaje:
– Simplu
– Eficient
– Ușor de înțeles
Dezavantaje:
– Costisitor
2. Dual tier
Avantaje:
– Mai ieftin decât Mainframe
Dezavantaje:
– Conexiunea la serverul bazei de date e foarte scumpă
– Numărul utilizatorilor care se pot conecta la ea este limitat
3. Three tier
Avantaje:
– Scalabilitate ( Aplicația server se poate desfășura pe mai multe calculatoare,
nu se cere o conexiune de la fiecare client)
– Integritatea datelor (al doilea strat are grijă ca doar datele ce respectă
condițiile impuse sa fie inserate)
– Securitate crescută
Dezavantaje:
– Foarte complexă

3.4 Limbajul SQL

Limbajul SQL ( Structured Query Language ), a fost inițial, numit SEQUEL și a fost
proiectat și implementat de către IBM Research ca interfață pentru un sistem de baze de date

Planificarea acti vității Paul Robert ȘUBREDU

21 relaționale experimentale numit SYSTEM R. SQL este acum un limba j standard p entru sisteme
DBMS relaționale. Un efort comun al Institutului Național de Standardizare american
(ANSI) și Organizația Internaț ională pentru Standarde (ISO) a condus la o versiune standard a SQL
(ANSI 1986), numită SQL -86 sau SQL1. A cesta a fost dezvoltat ulterior ca un standard revizuit și
extins nu mit SQL -92, denumit SQL2. În 1999 aceștia reinventează SQL ca SQL3. Mai târziu apar
două actualizări ulterioare ale standardului și anume SQL: 2003 și SQL: 2006, care au adăugat
funcții XML printre alte actuali zări ale limbajului. O altă actualizare apare în 2008 și a inclus mai
multe caracteristici ale bazei de date o biect în SQL .
Limbajul SQL este unul dintre cele mai folosite limbaje de programare în cadrul bazelor de
date, motivul acesta datorându -se succesu lui comercial ce îl are baza de date relațională . Datorită
succesului de care a dat dovadă baza de date rațională, foarte mulți utilizatori au migrat la acest
sistem de baze de date . Conversia într -un alt sistem DBMS relațional nu era așteptată s ă fie prea
costisitoare , deoarece această conversie era între sisteme care respectau aceleași standarde de
limbaj .
SQL este un limbaj cuprinzător al bazei de date: are instrucțiuni pen tru definirea datelor,
interogări și actualizări. Prin urmare, este atât un DDL (Dynamic link library ), cât și un DML (Data
manipulating language) . În plus, dispune de facilități pentru definirea datelor , specificarea
securității și autorizării, definirea constrângerilor de integritate și pentru specificarea comenzilor
tranzacțiilor. De asemenea are r eguli pentru i ncorporarea instrucțiunilor SQL într -un limbaj de
programare generală, cum a r fi Java, COBOL sau C / C ++.
SQL utilizează tabele , rândurile și coloanele . Princip ala comandă SQL pentru definirea
datelor este instrucțiunea CREATE , cu ajutorul căreia pot fi crea te scheme, tabe le (relații) și
domenii. Comanda CREATE TABLE este utilizată pentru a specifica un nou tabel , oferindu -i un
nume și specificându -i rândurile și coloanele, precum și constrângerile inițiale. Coloanele sunt
specificate mai întâi, apoi fiecărui coloane îi este dat câte un nume pentru a fi distins , un tip de date
pentru a specifica domeniul său de valori, și orice constrângeri , cum ar fi NOT NULL. Cheia și
constrângerile pot fi specificate în instrucțiunea CREATE TABLE după ce coloane le sunt declarate
sau pot fi adăugate mai târziu folosind comanda ALTER TABLE .
Tabelele declarate prin instrucțiunile CREATE T ABLE sunt numite tabele de bază , aceasta
înseamnă că tabele le și rându rile ei sunt create și stocate ca fișie r de către DBMS. În SQL, coloanele
dintr -un sunt considerate a fi ordonate în ordinea în care sunt specificate în CREATE cu
instrucțiune a TABLE. Cu toate acestea, rândurile (tupluri) nu sunt considerate a fi ordonate într –
un tabel .
Tipuri de date suportate de limbajul SQL:

– Numerice ( INT, FLOAT, DOUBLE PRECISION )
– Șiruri de caractere (CHAR(n ), VARCHAR (n) – n numărul maxim de
caractere )
– Șiruri de biți (BIT(n))
– Dată (SMALLDATETIME)
– Boolean (True, False)

Deoarece cheile și constrâng erile sunt f oarte importante , sunt clauze speciale în cadrul
instrucțiunii CREA TE TABLE pentru a le specifica. Clauza PRIMARY KEY speci fică unul sau
mai multe coloane care alcătuiesc eleme ntul principal al unei chei. Dacă o che ie primară are o
singură coloană , clauza poate urma acea coloană direct , considerând automat că e o cheie primară.
Clauza UNIQUE specifică cheile alternative (secundare) și poate fi specificată direct ca o cheie
secundară dacă c heia secundară este una singură. Aceasta poate fi folosită asupra unei coloanele
pentru a nu permite introducerea unor date identice. Clauza FOREIGN KEY este folosită pentru a
pointa către o cheie primară din alt tabel.
Pentru a crea o constrângere vom folosi cuvântul rezervat CONSTRAIN TS. Numele tuturor
constr ângerilor dintr -un tabel trebuie să fie unice. Un nume de constrângere este utilizat pentru a

Planificarea acti vității Paul Robert ȘUBREDU

22 identifica o anumită constrângere în cazul în care aceasta trebuie abandonată mai târziu și înlocuită
cu o altă constrângere .

3.5 Tehnologia ADO.NET

3.5.1 Introducere

ADO.NET este o tehnologie de ac ces la date și comunicare între sistemele relaționale și
cele non -relaționale . Ace asta este un set de componente de software de calculator pe care
programatorii le pot utiliza pentru a accesa datele și serviciile de date din tr-o baza de date. Este o
parte a bibliotecii de clasă de bază inclusă în Microsoft .NET Framework. ADO.NET este uneori
considerat o evoluție a tehnologiei ActiveX Data Objects (ADO), dar a fost modificat atât de mult
încât poate fi considerat un produs complet nou.
ADO.NET are tendința de a deveni o componentă centrală a oricărei aplicații .NET sau a
unui serviciu Web bazat pe date, datorită foarte multor caracteristici, dar și din cauză multor
utilizatori care îl folosesc.
Platforma .NET a fost construită folosind limbajul CLR (Common Languag e Runtime).
CLR este limbajul în care este transformat codul executat de noi pentru a -l înțelege programul .
Acest limbaj este comparabil cu JVM (Java Virtual Machine) sau cu Visual Basic . Microsoft oferă
compilator (traducător de limbaj scris în cod mașină) , pentru următoarele limbaje de programare:
C#, Visual Basic , JavaScript și J#.
La început, accesul la bazele de date a fost realizat de bibliotecile native, cum ar fi DBLib
pentru SQL Server și OCI (Oracle Call Interface ) pentru Oracle. Acest luc ru a permis accesul la
baza de date rapidă, deoarece nu a fost implicat niciun strat suplimentar .
Popularitatea sa se datorează faptului că aceasta e folosit de un număr mare de dezvoltatori
care utilizează limbaje precum: Visual Basic, ASP și Visual J ++, acestea permițând un acces facil
la date în mai multe feluri .

3.5.2 Componente ale furnizo rului de date

Furnizorii principali de date ai platformei .NET sunt: SQL Server, OLE DB și ODBC.
Fiecare dintre acești furnizori se află în spațiul definit de System.Da ta, iar acesta conține mai multe
clase.

– Connection – utilizată pentru conectarea cu baza de date
– Command – utilizată pentru comenzi asupra bazei de date, cum ar fi INSER T, UPDATE,
DELETE
– DataReader – utilizată pentru citirea datelor din baza de date
– Data Adapter – utilizată pentru popularea și updatarea datelor pentru DataSet (tabel) cu baza
de date

DataSet conține două aspecte importante. Primul dint re acestea este că DataSet este întotdeauna
deconectat, deci nu îl interesează de unde provin datele , fie o bază de date sau un document XML.
Pentru a conecta DataSet la o bază de date, trebuie să folosim D ataAdapter ca intermediar între
DataSet și furnizorul de date NET . DataAdapter face conexiunea între baza de date și DataSet,
atunci când cel din urmă este deconectat .
DataReader este folosit doar pentru transmitere și citire. Aceasta prin urmare, permite accesul
extrem de rapid la datele pe care dorim să le accesăm din baza de date , de aceea este recomandat
să folosim DataReader ori de câte ori este posibil , el fiind mult mai rapid decât DataSet . Comanda
ExecuteReader face posibilă utilizarea DataReader .

Planificarea acti vității Paul Robert ȘUBREDU

23 Spațiul System.Data.SqlClient din biblioteca ADO.NET este utilizat pentru accesa rea bazelor
de date SQL Server .

Figura 14: Arhitectură ADO.NET

3.6 Tehnologi a ASP.NET

În ziua de astăzi aproape orice putem găsi și face pe internet, de la jocuri , citit ziare până la
cumpărături. Aplicația care permite navigarea pe internet a fost denumită simplu browser și a fost
dezvoltată de mai multe companii, fiecare aducân du-i mai multe caracteristici, precum și diferite
opțiuni pentru o navigare cât mai plăcută. Acest browser are rolul de accesa documente care se
numesc site -uri sau pagini web , iar acestea au rolul de a af ișa informația de pe pagina resp ectivă.
Aceste pag ini web pot fi dezvoltate în diferite programe de specialitate și diferite limbaje de
programare. O tehnologie de care are ca scop acest lucru este ASP.NET și este dezvoltată de
Microsoft . Această tehnologie pe lângă faptul ajută la crearea paginilor web, mai poate crea și
aplicații web, precum și servicii web. ASP.NET a fost introdus pentru prima dată pe piață în
Ianuarie 2002 cu versiunea 1.0 și integrat în versiunea Visual Studio de la vremea respectivă.
Acesta este succesorul tehnologiei Microsoft Activ e Server Pages (ASP). La fel ca și ADO.NET
aceasta a fost creată utilizând limbajul de programare (CLR), acesta permițându -i să interacționeze
cu alte limbaje de programare precum C# , VB.NET și altele.
Paginile web create cu tehnologia ASP.NET sunt forme W eb, acestea fiind depistate pe
Internet datorită extensiei „.aspx” .
ASP.NET este o platformă în cadru l căreia , pentru crearea unor site-uri web, aplicații web
și servicii web, acestea vor fi scrise cu ajutorul limbajelor de programare HTML (HyperText
Marku p Language ), CSS (Cascading Style Sheets ) și JavaScript.

3.6.1 Tipuri de site -uri web în tehnologia ASP.NET

– Web Pages utilizate pentru a crea o pagină web utilizând mai multe limbaje de
programare (acceptate de ASP.NET) .
– SPA (Single Page Application) se utili zează pentru crearea de aplicații de tip client
cu ajutorul HTML 5, CSS 3 și JavaScript

Planificarea acti vității Paul Robert ȘUBREDU

24 – Web Forms se utilizează pentru crearea unor pagini web la care putem crea control,
modele și evenimente
– Model View Controller (MVC) acest tip este structurat în 3 părț i pentru o mai bună
testare și definirea a propietăților
În paginile Web ASP.NET se introduce codul serverului direct în sintaxa HTML, similar
cu acestea se utilizează Singe Page Model (c odul din partea „cs” este folosit împreună cu HTML),
utilizând caract eristica Razor (fișiere .cshtml) . Ace astă caracteristică face codul paginii să fie mai
ușor și mai eficient.
Web Form este alcătuit din 2 părți și anume GUI (Graphic user interface), fișierul cu
extensia (.aspx) și codul propriu zis, fișier cu extensia (. aspx.cs) .

3.6.2 Tehnologia folosită în crearea unui server

Această tehnologie se numește Internet Information Services (IIS) și este folosită în crearea
unui server web. Aceasta este la rândul ei dezvoltată de Microsoft. Serverul web poate fi de 2 tipuri:
hardware sau software (aplicație propriu zisă ), acestea ajută la livrarea conținutului web care poate
fi accesat prin intermediul i nternet ului. Serverele web sunt folosite cel mai des pentru a găzdui site –
uri web, dar există și alte utilizări, cum ar fi jocur i, stocare a datelor sau diferite aplicații .

3.6.3 Servicii web

Serviciile web sunt folosite pentru partajarea de date între diverse d ispozitive (tablete,
telefoane) și internet . O ierarhie completă a unei aplicații web care permit e conectarea
dispozitivelor este prezentată în figura următoare.

Figura 15: Ierarhie aplicație web

Planificarea acti vității Paul Robert ȘUBREDU

25 4. Implementarea soluției adoptate

4.1 Definirea bazei de date
Acest proiect de diplomă a fost realizat cu scopul de a concepe o aplicație web cu tehnologia
ASP.NET versiunea 4.5.2 , pentru o firmă de asigurări. În realizarea acesteia am folosit Vis ual
Studio 2015, utilizând limbajele de programare C#, JavaScript, HTML, pentru implementarea
design -ului și controlului, iar pentru construirea bazei de date am folosit software -ul SQL Ser ver
Management Studio 2008 , cu limbajul de programare aferent SQL. După cum se observă și mai
sus această aplicație este împărțită în două părți: una este realizarea bazei de date, iar cealaltă
realizare pagini web .
Scopul final al acestui proiect este ușurarea achiziției unei asigurări din partea unui client
și simplificarea gestiunii datelor din partea asiguratorului .

4.1.1 Crearea bazei de date

Pentru crearea bazei de date s-a folosit software -ul SQL Server Management Studio 2008,
utilizând limbajul de prog ramare SQL. Aici vor fi salvate datele persoanei asigurate și cele legate
de autovehicul. Această bază de date conține 9 tabele cu date, toate corelate între ele, pentru o mai
bună relație între client și asigurator.
Un prim pas în realizarea acesteia este: crea un proiect nou File→New →Project, apoi
selectăm SQL Server Scripts, unde vom putea denumi acest proiect, precum și alegerea locației
unde dorim să îl salvăm .

Figura 16: Crearea unui proiect nou în SQL Server Management Studio 2008

Planificarea acti vității Paul Robert ȘUBREDU

26
În următoarea fereastră (Solution Explorer, partea dreaptă) se va apăsa click dreapta pe denumirea
scriptului creat anterior apoi Add→ New Query, asemenea figurii următoare.

Figura 17: Crearea unui query

4.1.2 Definirea tabelelor

În query -ul definit mai sus se va crea baza de date cu numele dorit, apoi se vor crea tabelele
aferente. Pentru crearea bazei de date se folosește comanda CREATE DATABASE, urmată de
numele alocat pentru aceasta. Definirea tabelelor se va realiza cu comanda CREATE TABLE,
urmată de numele atribuit tabelului.
În continuare sunt enumerate tabelele din baza de date:

– Firma_Asiguratoare
– [Auto]
– [Tip Juridica]
– [Tip Persoana]
– Asigurare
– Activare
– Inregistrare
– Client
– [Tabel principal]

Fiecare tabel conține coloane pentru o mai bună sortare a datelor . Pentru definirea unei
coloane se utilizează modelul: mai întâi se scrie denumirea coloanei, apoi se declară tipul de date
ce urmează să fie înscris în ea, se alege tipul de cheie (dacă este coloană principală) , apoi proprietăți
opționale : cum ar fi NOT NULL, dac ă se dorește ca în coloana, celulele nu fi rămână goale sau
IDENTITY(1,1) , dacă se dorește numerotare automată a acestora rândurilor (folosită dacă se șterge
un rând să continua numărătoarea de unde a rămas) , precum și altele. Aceste proprietăți se pot
realiza ulterior, dacă s -a uitat declararea lor în cod, cu ajutorul unui meniu.

4.1.3 Creare legături între tabele

Aceste tabele au câte o coloană de tip ID, care este definită ca și PRIMARY KEY, dacă
este coloana principală. Într -un tabel doar o singură coloană poate fi definită ca PRIMARY KEY.
Acest ID este de ajutor atunci când se căută date în acel tabel sau aceasta mai are și rol de
numerotare. Unele tabele conțin și coloana de tip ID a altor tabele, dar aici definite ca și FOREIGN
KEY. Aceasta înseamnă că în tre ele s -a realizat o conexiune și din ele or să se extragă date. O astfel
de legătură este reprezentată în figura 7.

Planificarea acti vității Paul Robert ȘUBREDU

27 4.1.4 Codul sursă folosit pentru crearea bazei

CREATE DATABASE test;
create table Firma_Asiguratoare (
ID_Firma int not null identity (1,1) primary key,
Denumire char(20),
Adresa char(100),
Telefon char(14),
Adresa_email char (30),
Website char(40)
);
create table [Auto] (
ID_Auto int not null identity (1,1) primary key,
Marca char(20),
Model char(20),
Putere char(4),
Capacitate_cilindrica char(10),
Serie_sasiu char(17),
An_fabricatie char(4),
Combustibil char(10),
Numar_locuri char(3),
Masa char(6),
Numar_inmatriculare char(10),
An_obtinere_permis int,
Tip_Autovehicul char(10)
);
create table [Tip Juridica] (
ID_Tip_Juridica int not null identity (1,1) primary key,
Denumire char (40),
CIF char(12)
);
create table [Tip Persoana] (
ID_Tip_Persoana int not null identity (1,1) primary key,
Persoana char(20),
ID_Tip_Juridica int foreign key references [TipJuridica] (ID_Tip_Juridica )
);
create table Asigurare (
ID_Asigurare int not null identity (1,1) primary key,
Tip_asigurare char(20),
ID_Auto int foreign key references [Auto](ID_Auto)
);
create table activare (
Id_activare int not null primary key,
cod_activare uniqueidentifier not null
);
create table inregistrare (
Id_inregistrare int identity (1,1) primary key not null,
Username nvarchar (20) not null,
Email nvarchar (20) not null,
Password nvarchar (20) not null,
Createddate smalldatetime not null,
Lastlogindate smalldatetime null,
Id_activar e int foreign key references activare (Id_activare )
);
create table Client (
ID_Client int not null IDENTITY (1,1) primary key,
Data_asigurare date not null,
Nume char(20),
Prenume char(50),
CNP char(13),
Serie_CI char(2),
Numar_CI char(6),
Strada char(40),

Planificarea acti vității Paul Robert ȘUBREDU

28 Numar_strada char(5),
Scara char (5),
Numar_apartament char (5),
Localitate char(30),
Judet char(15),
Numar_de_telefon char(15),
ID_Tip_Persoana int foreign key references [Tip
Persoana] (ID_Tip_Persoana ),
Id_inregistrare int foreign key references inregistrare(Id_inregistrare )
);
create table [Tabel principal] (
ID_Tabel int not null identity (1,1) primary key,
ID_Client int FOREIGN KEY REFERENCES Client(ID_Client ),
ID_Firma int foreign key references Firma_Asiguratoare (ID_Firma ),
ID_Asigurare int foreign key references Asigurare (ID_Asigurare ),
Pret char(8)
);

GO
CREATE PROCEDURE [dbo].[Insert_User]
@Username NVARCHAR (20),
@Password NVARCHAR (20),
@Email NVARCHAR (20)
AS
BEGIN
SET NOCOUNT ON;
IF EXISTS(SELECT Id_inregistrar e FROM inregistrare WHERE Username =
@Username )
BEGIN
SELECT -1
END
ELSE IF EXISTS(SELECT Id_inregistrare FROM inregistrare WHERE Email =
@Email)
BEGIN
SELECT -2
END
ELSE
BEGIN
INSERT INTO [inregistrare]
([Username]
,[Password]
,[Email]
,[Createddate] )
VALUES
(@Username
,@Password
,@Email
,GETDATE())

SELECT SCOPE_IDENTITY ()
END
END
GO
CREATE PROCEDURE [dbo].[Validate_User]
@Username NVARCHAR (20),
@Password NVARCHAR (20)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Id INT, @Lastlogindate DATETIME

SELECT @Id = Id_inregistrare , @Lastlogindate = Lastlogindate
FROM inregistrare WHERE Username = @Username AND [Password] = @Password

Planificarea acti vității Paul Robert ȘUBREDU

29
IF @Id IS NOT NULL
BEGIN
IF NOT EXISTS(SELECT Id_activare FROM activare WHERE Id_activare =
@Id)
BEGIN
UPDATE inregistrare
SET Lastlogindate = GETDATE()
WHERE Id_inregistrare = @Id
SELECT @Id [Id_inre gistrare]
END
ELSE
BEGIN
SELECT -2
END
END
ELSE
BEGIN
SELECT -1
END
END

4.2 Crearea aplicației

Pentru realizarea acesteia am utilizat 3 limbaje de programa re C#, JavaScript, HTML . În
realizarea interfeței am utilizat software -ul Visual Studio 2015, unde pentru a crea o astfel de
aplicație am selectat File→ New →Project , aici se va denumi proiectul după bunul plac și se poate
selecta locația unde să fie salvat . În noua fereastră apărută se va select a ASP.NET Web Application
(.NET Framework) , unde din nou se va putea alege orice denumire, apoi software -ul va crea soluția
configurată anterior.

Figura 18: Creare unui proiect nou în Visual Studio 2015
În următ oarea fereastră se va alege tipul de site pe care se dorește, în acest proiect fiind
vorba de Web forms.

Planificarea acti vității Paul Robert ȘUBREDU

30
Figura 19: Alegerea tipului de site

Web Form este alcătuit din 2 părți și anume GUI (Graphic user interface), fișierul cu
extensia (.aspx) și codu l propriu zis, fișier cu extensia (.aspx.cs). În extensia (.aspx.cs) se va scrie
codul în C#. Aici se va scrie și codul pentru conectare bazei de date cu proiectul (tehnologia
ADO.NET) , acesta fiind :

SqlConnection con = new SqlConnection (@"Data Source=(l ocal);Initial Catalog=baza;Integrated
Security=True" );

Aceasta nu va funcționa fără directiva: System.Data .
O altă soluție pentru evitarea scrierii codului pentru conectarea bazei de date este selectarea
acesteia cu aj utorul opțiunii Server Explorer, ca în figura de mai jos. Tot aici se poate crea chiar o
bază de date similară cu cea realizată în SQL Server Management Studio 2008 . Pașii pentru
folosirea acestei opțiuni sunt: selectarea Server Explorer→ Connect to Database , apoi se vor insera
datele necesa re cu care a fost configurată baza de date (nume) , precum și datele de autentificare
dacă este cazul.

Planificarea acti vității Paul Robert ȘUBREDU

31
Figura 20 : Selectarea bazei de date

4.2.1 Design -ul aplicației

În extensia (.aspx) s-a realizat design -ul aplicației ( interfața ), cu ajutorul limbajelor C# , HTML și
JavaScript . Tehnologia ASP.NET care are integrat tipu l de site Web form și dispune de instrumente
specializate de proiectare a acestora , ușurând munca dezvoltatorilor în crearea aplicațiilor în acest
domeniu .

Figura 21: Meniul cu instrumente și fereastra design

Planificarea acti vității Paul Robert ȘUBREDU

32 4.2.2 Realizarea interfeței

Această parte din lucrare conține 15 pagini de tipul Web fo rm toate destinate atât clienților
deja existenți, cât și potențialilor clienți. Aceste pagini au ca scop introducerea datelor de către
client, afișarea prețurilor , printarea asigurării pe loc, alegerea asigurării necesare, precum și plata
acesteia cu cardul.
Pentru realizarea acestui design a fost nevoie de următoarele controale din instrumente
oferite de această tehnologie : Button, Calendar, CheckBox, D ropDownList , GridView, HyperLink,
Image, ImageButton Label, LinkButton, Login, RadioButton, TextBox .
Cele 15 pagini se numesc:
– Acasa
– Activare
– Asigurareauto
– CASCO Fizica
– CASCO Juridica
– Date personale fizica
– Date personale juridica
– Factura
– Inregistrare
– Login
– main
– plata
– politaasigurare
– RCA Fizica
– RCA Juridica

În pagina main, utilizatorii pot alege între două opțiuni una pentru asigurări mașini, iar alta
pentru asigurări telefoane (pagină în construcție) . Acestea opțiuni au fost reprezentate sub formă
de con troale ImageButton . Imaginile au fost încărcate în folderul Images care se află în Solution
Explorer.

Figura 22: Pagina main

În pagina asigurareauto se va alege tipul de asigurare și tipul de persoană prin intermediul
controalelor RadioButton, grupate în două grupuri, apoi se va apăsa butonul alege pentru a continua
pe pagina următoare .

Planificarea acti vității Paul Robert ȘUBREDU

33
Figura 23: Pagina asigurareauto

Pagina CASCO Fizica oferă următoarele controale: 9 TextBox -uri, 5 DropDownList -uri,
un Calendar și un Gridview. Această pagină este de dicată clienților ce doresc să încheie o asigurare
de tip CASCO, specificând datele mașinii, data când să intre in vigoare asigurarea, anul nașterii,
anul de fabricație al mașinii, anul obținerii permisului auto, valoarea automobilului de nou, precum
și franșiza pe care proprietarul dorește să o ofere.

Figura 24: Pagina CASCO Fizica

În pagina CASCO Juridica au fost create următoarele controale: 9 TextBox -uri, 5
DropDownList -uri, un Calendar și un Gridview. Această pagină este dedicată clienților ce dor esc
să încheie o asigurare de tip CASCO, specificând datele mașinii, data când să intre in vigoare
asigurarea, anul nașterii, anul de fabricație al mașinii, anul obținerii permisului auto, valoarea
automobilului de nou, precum și franșiza pe care proprieta rul dorește să o ofere.

Planificarea acti vității Paul Robert ȘUBREDU

34
Figura 25: Pagina CASCO Juridica

În pagina Date personale fizica , clienții își pot insera datele cu caracter personal în TextBox –
urile: nume, prenume, zinastere, nr_cnp , nr_serie, nr, s trada, numar, scara, apartament, telefon și
se pot alege: luna de naștere, județul și orașul din controalele DropDownList Ddluna, Ddjudet,
Ddoras.

Figura 2 6: Pagina Date personale fizica

În pagina Date personale juridica, clienții își pot insera datele cu caracter personal în
TextBox -urile: nu me, prenume, zinastere, C.U.I , denumire firmă , nr, strada, numar, scara,
apartament, telefon și se pot alege: luna de naștere, județul și orașul din controalele DropDownList
Ddluna, Ddjudet, Ddoras.

Planificarea acti vității Paul Robert ȘUBREDU

35
Figura 27: Pagina Date personale juridica

În pagina factura , este factura propriu zisă, pe care clientul o va primi după executarea plății,
acesta având obligația de a o printa.

Figura 28: Pagina factura

Pentru pagina i nregistrare, clientul trebuie să își insereze numele de utilizator dorit, o adresă
de mail validă și o parolă în controale de tip TextBox . Dacă există deja un cont creat, atunci se va
face direct logarea apăsând pe controlul LinkButton. După apăsarea butonului înregistrare,
utilizatorul va fi redirecționat către pagina de login . În moment ul când contul este creat, acesta va
trebui activat cu un cod primit pe mail.

Planificarea acti vității Paul Robert ȘUBREDU

36
Figura 29: Pagina inregistrare

În pagina login se vor insera numele și parola în controalele de tip login iar apoi dacă se
dorește se pot salva datele pentru următoarea sesiu ne de login acționând un control de tip
CheckBox.

Figura 3 0: Pagina login

În pagina plata , clientul trebuie să introducă datele cardului în controalele de tip TextBox ,
să selecteze luna și anul expirării cardului din controalele de tip DropDownList , apoi se apasă
butonul De acord , dacă au fost introduse toate datele și dacă sunt gata pentru validare.

Planificarea acti vității Paul Robert ȘUBREDU

37
Figura 31: Pagina plata

Pentru pagina RCA Fizica, clientul trebuie să introducă câteva date tehnice legate de
autovehicul , pentru a calcula pe baza a cestora ofertele de la asiguratori. În această pagină a vem 7
controale de tip TextBox, 5 controale de tip DropDownList, un Calendar unde se poate alege data
de începere a valabilității poliței și un GridView unde sunt afișate firmele asiguratoare , precum și
prețurile oferite .

Figura 32: Pagina RCA Fizica

Planificarea acti vității Paul Robert ȘUBREDU

38 La fel ca și pagina RCA Fizica , aceasta are la rândul ei aceleași controale, doar că pentru
persoane juridice.

Figura 33: Pagina RCA Juridica

4.2.3 Corelarea ferestrei de design cu codul din spatele acest eia

Pentru o mai bună funcționare a controalelor s-au realizat câteva funcții având ca scop
verificarea acestora. Pentru controlul de tip TextBox „nr_cnp” din pagina Date personale fizica s –
a creat o funcție de verificare a codului numeric personal. Aces t CNP este de forma : CNP -ul conține
13 cifre dintre care prima reprezintă sexul , următoarele 2 reprezintă ultimele 2 cifre din anul de
naștere, următoarele 2 reprezintă numărul lunii (exemplu: 01), următoarele 2 reprezintă ziua
nașterii (exemplu: 01), urm ătoarele 2 reprezintă un număr unic alocat fiecărui județ , apoi
următoarele 3 reprezintă 3 cifre alocate la întâmplare, iar ultima cifră reprezintă cifra de control .
Pentru această cifră de control am creat funcția următoare în JavaScript:

function validareCNP(nr_cnp)
{
var nrcifre = document.getElementById( 'nr_cnp' ).value;
var suma=0;
if (nrcifre.length == 13)
{
suma = parseInt(nrcifre[0]) * 2 + parseInt(nrcifre[1]) * 7 +
parseInt(nrc ifre[2]) * 9 + parseInt(nrcifre[3]) * 1 + parseInt(nrcifre[4]) * 4 +
parseInt(nrcifre[5]) * 6 + parseInt(nrcifre[6]) * 3 + parseInt(nrcifre[7]) * 5 +
parseInt(nrcifre[8]) * 8 + parseInt(nrcifre[9]) * 2 + parseInt(nrcifre[10]) * 7 +
parseInt(nrcifre[11]) * 9;
suma = suma % 11;
if(suma==10)
suma = 1;
if (suma == parseInt(nrcifre[12])) {
return true;
}
else {
alert("CNP invalid !!!" );
document.getElementById( 'nr_cnp' ).value = "";
return false;
}

Planificarea acti vității Paul Robert ȘUBREDU

39 }
else{
alert("CNP de lungime necorespunzatoare 13!" );
return false;
}
}

Cifra de control este calculată după cum urmează: fiecare cifră din C.N.P. este înmulțită cu
cifra de pe aceeași poziție din numărul 279146358279; rezultatele sunt însumate, iar rezultatul final
este împărțit cu rest la 11. Dac ă restul este 10, atunci cifra de control este 1, altfel cifra de control
este egală cu restul. [10]
Pentru a verifica ziua, județul și luna s-au realizat funcții asemănătoare celei precedente în
același limbaj de programare. Definirea valorii din controlu l DropDownList s-a făcut în ListItem,
numerele fiecărui județ s -au luat de pe [10].

function eroarezi() {
var nrcifre = document.getElementById( 'nr_cnp' ).value;
var zi = document.getElementById( 'zinastere' ).value;
if (nrcifre[5] != parseInt(zi[0]) && nrcifre[6] != parseInt(zi[1])) {
alert("CNP gresit" );
document.getElementById( 'nr_cnp' ).value = "";
}
}
function eroarejudet() {
var nrcifre = document. getElementById( 'nr_cnp' ).value;
var nrjudet = document.getElementById( 'Ddjudet' );
var nrcifrejud = nrjudet.options[nrjudet.selectedIndex].value;
if (((nrcifre.substr(7, 1)) == (nrjudet.value.substr(0, 1))) &&
((nrcifre.s ubstr(8, 1)) == (nrjudet.value.substr(1, 1)))) {
}
else {
alert("CNP eronat la luna!" );
document.getElementById( 'nr_cnp' ).value = "";
}
}
function eroareluna() {
var luna= document.getElementById( "Ddluna" );
var nrcifrele = luna.options[luna.selectedIndex].value;
var nrcifre = document.getElementById( 'nr_cnp' ).value;
if (((nrcifre.substr(3, 1)) == (luna.value.substr(0, 1))) &&
((nrcifre.substr(4, 1)) == (luna.value.substr(1, 1)))) {
}
else {
alert("CNP eronat!" );
document.getElementById( 'nr_cnp' ).value = "";
}
}

În pagina Date personale juridica am creat o funcție pentru validarea datelor înscrise în
controlul de tip TextBox „ cui”. Pentru crearea acesteia am folosit formula de calcul de pe [11] .
Acest C.U.I. conține între 7 și 10 cifre, ultima cifră fiind cifra de control.

Pas preliminar: Se testează d acă codul respectă formatul unui cod de identificare fiscală (CIF).
Adică lungimea maximă să fie de 10 cifre și să c onțină doar caractere numerice.
Pas 1: Se folosește cheia de testare "753217532". Se inversează ordinea cifrelor codulu i precum și
a cheii d e testare.
Pas 2: Se ignoră prima cifra din codul inversat (aceasta este cifra de control) și se înmulțește fiecare
cifră cu cifra corespunzătoare din cheia de testare inversată.

Planificarea acti vității Paul Robert ȘUBREDU

40 Pas 3: Se adună toate produsele obținute. Suma rezultată se înmulțește cu 10 și produsul este
împărțit la 11. Cifra obținută, în urma operației MODULO 11, reprezintă cifra de verificare. Dacă
în urma împărțirii s -a obținut restul 10 atun ci cifra de verificare va fi 0.
Pas 4: Pentru un CIF valid cifra de verificare va trebui să core spundă cu cifra de control a CIF
inițial. [11]

function validateCIF(cui) {
var cifu = document.getElementById( 'cui').value;
var control = cifu.substr(cifu.length, – 1);
var suma = 0;
var d1 = 0;
var d2 = 0;
if (cifu.length >= 7){
suma = parseInt(cifu[0]) * 7 + parseInt(cifu[1]) * 5 + parseInt(cifu[2]) *
3 + parseInt(cifu[3]) * 2 + parseInt(cifu[4]) * 1 + parseInt(cifu[5]) * 7 +
((parseInt(cifu[6]) * 5) || 0) + ((parseIn t(cifu[7]) * 3) || 0) + ((parseInt(cifu[8]) * 2)
|| 0);
suma = suma * 10;
d1 = suma % 11;
d2 = d1 % 10;
if (d2 == control) {
return true;
}
else {
alert("CUI invalid" );
document.getElementById( 'cui').value = "";
return false;
}
}
else {
alert("Va rugam inserati un CUI valid!" );
document.getElementById( 'cui').value = "";
}
}

Pentru că acest C.U.I. conține doar cifre am creat o funcție pentru a nu se putea tasta decât
cifre.

function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}

Această funcție a fost implementată la fiecare control de tip TextBox prin urmă toarea
metodă:

onkeypress =" return isNumberKey(event)"

Metoda aceasta verifică funcția de câte ori o tastă este apăsată. O altă metodă impleme ntată
pentru evitarea copierii unui text în controlul de tip TextBox, am folosit o altă metodă, care nu
permite lipirea în acest control.

onpaste="return false"

Planificarea acti vității Paul Robert ȘUBREDU

41 4.2.4 Implementarea unei pagini ce trimite mail -uri

În realizarea acestei pagini am folosit clasa Stmp Client din spațiul System.Net.Mail .
private void SendActivationEmail( int Id)
{
string cod_activare = Guid.NewGuid().ToString();
using (SqlCommand com = new SqlCommand ("Insert into activare values(@Id,
@cod_activare)" ))
{
com.CommandType = CommandType .Text;
com.Parameters.AddWithValu e("@Id", Id);
com.Parameters.AddWithValue( "@cod_activare" , cod_activare);
com.Connection = con;
con.Open();
com.ExecuteNonQuery();
con.Close();
}
using (MailMessage mail = new MailMessage ("subredurobert@gmail.com" ,
emailtxt.Text))
{
mail.Subject = "Activare cont" ;
string body = "Salut " + numetxt.Text.Trim() + ",";
body += "<br /><br />Va rugam a pasa-ti pe link -ul de mai jos pentru a
finaliza activarea contului dumneavoastra" ;
body += "<br /><a href = '" +
Request.Url.AbsoluteUri.Replace( "inregistrare.aspx" , "activare.aspx?cod_activare=" +
cod_activare) + "'>Click here to activate your account.</a>" ;
body += "<br /><br />Multumim" ;
mail.Body = body;
mail.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient ();
smtp.Host = "smtp.gmail.com" ;
smtp.EnableSsl = true;
NetworkCredential NetworkCred = new
NetworkCredential ("subredurobert@gmail.com" , "0742292225ex" );
smtp.DeliveryMethod = SmtpDeliveryMethod .Network;
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587;
smtp.Send(mail);
ClientScript.RegisterStartupScript(GetType(), "alert", "alert('V -am trimis
un mail de confirmare.');" , true);
}
}

Planificarea acti vității Paul Robert ȘUBREDU

42 5. Rezultate experimentale

În acest proiect de diplomă am realizat o aplicație web, care are ca scop oferire clienților
noi sau deja existenți, o perspectivă diferită prin compararea prețurilor dintre asigurători și alegerea
celor ma i favorabile și mai potrivite oferte . Datorită faptului că toate companiile de asigurări oferă
prețuri de asigurare după completarea datelor atât a le autovehiculului , cât și a proprietarului, am
scurtat această metodă creând o pagină pentru fiecare tip de asigurare și fiecare tip de persoana.
Aceasta conține un algoritm de calcul al asigurării în spatele căreia am folosind doar datele
autovehiculului .
Prim a interacțiune a clientului cu acest site este pagina de pornire care îi dă posibilitatea de
a alege ce fel de persoană este (fizică / juridică) și ce fel de asigurare vrea să facă pentru
autovehiculul său (RCA / CASCO), la fel ca în figura 23. După apăsarea butonului alege , clientul
va fi redirecționat către pagina de asigurare aleasă. În aceasta, va trebu i să își introducă datele
autovehiculului și câteva date personale , după care prețurile la fiecare firmă asiguratoare vor fi
afișate într -un control de tip GridView. În cazul necompletării unui control de tip TextBox, va
apărea următoarea alertă:

Figura 34: Alertă necompletarea oricărui TextBox

Alertă afișată pe ecran în cazul neselectării unei date calendaristice din controlul Calendar

Figura 3 5: Alertă neselectarea unei date calendaristice

Planificarea acti vității Paul Robert ȘUBREDU

43 În cazul neselectării unui Item din control ul de tip Drop DownList „Ddanobtinerepermis” ,
pe ecran va apărea următoarea alertă. În cazul necompletării controlului de tip TextBox
„annastere” , alerta va fi aceeași sau dacă diferența dintre anul obținerii permisului și anul nașterii
este mai mică de 18 ani.

Figura 36: Alertă diferență dintre anul obținerii permisului și anul nașterii < 18

În cazul optării pentru o asigurare CASCO, multe dintre firmele asiguratoare nu asigură
autovehicule , mai vechi de 10 ani , iar clientul va insera un an din care rezultă că autov ehiculul este
mai vechi de 10 ani, pe ecran va apărea următoarea alertă:

Figura 37: Alertă diferență an curent și an fabricație mai mare de 10 ani

În cazul paginii Date personale fizica , controlul de tip TextBox „telefon” are asignat în
spatele ferest rei de design un validator de expresie, care conține următoarea expresie:

<asp:RegularExpressionValidator ID="telefonvalidate" runat="server" style="z-index: 1;
left: 337px; top: 321px; position : absolute"
ErrorMes sage="Introduce -ti un numar valid!(ex:
07xxxxxxxx)." ForeColor ="Red"
ControlToValidate ="telefon"
ValidationExpression ="^07[2-8][0-9]{7}$"/>

Această expresie validează doar num erele de telefon care încep cu prefixul „07”, a treia
cifră este o cifră între 2 și 8, iar restul de 7 cifre vor putea fi între 0 și 9. În cazul nerespectării
acestei reguli pe ecran va apărea mesajul de eroare : „Introduce -ti un numar valid!
(ex:07xxxxxxxx). ” , iar pe fundal va apărea mesajul exact ca în figura următoare:

Figura 38: Eroare mesaj pentru tastarea unui număr de telefon invalid

Planificarea acti vității Paul Robert ȘUBREDU

44 6. Concluzii

În această lucrare de diplomă s-a realizat o aplicație web , pentru o firmă intermediară de
asigurări aut o. Aceasta are un scop bine definit și anume scutirii deplasării clientului la sediul
firmei , precum și scutirea asiguratorului de salvare a datelor necesare încheierii poliței de asigurare
în registre. Pentru această aplicație am folosit cele două soft -uri dezvoltate de Microsoft și anume
Visual Studio 2015 și SQL Server Management Studio 2008. Cele două medii de programare
compilează limbajele C#, JavaScript, HTML, respectiv SQL. Pentru crearea acestei aplicații am
creat o bază de date pentru salvarea dat elor inserate de client cu ajutorul limbajului SQL și o
interfață care să permită inserarea datelor și salvarea lor in baza de date utilizând limbajele C#,
JavaScript și HTML. În realizarea acestei aplicații m -am documentat pentru a oferi clienților o
varietate cât mai mare de firme asiguratoare și o ofertă cât mai apropiată de cea ofe rită de acestea
la momentul acel a.
Calculul asigurărilor se face în funcție de fiecare firmă asiguratoare pe baza datelor inserate
de către client .
Această aplicație se recom andă intermediarilor de asigurări auto (brokeri), pentru clienți
acestora. Aceștia funcționând atât la birou cât și în mediul online prin intermediul aplicației create
în acest proiect.
O dezvoltare a acestei aplicații web este extinderea domeniului de act ivitate cum ar fi:
asigurarea de răspundere a transportatorului rutier pentru marfa transportată, asigurarea de
răspundere a operatorilor de transport rutier , asigurarea de răspundere față de călători ș i bagaje ,
asigurarea de malpraxis medical , asigurarea obligatorie a locuinț ei, asigurarea de călă torie.

Planificarea acti vității Paul Robert ȘUBREDU

45 7. Bibliografie

[1] CREAREA BAZELOR DE DATE – SQL SERVER – document, 2017 [online]
https://biblioteca.regielive.ro/cursuri/calculatoare/crearea -bazelor -de-date-sql-server -limbaje -de-
programare -172441.html
[2] Guarantee Fund , 2017, [online]. Disponibil la:
http://eisoukr.guaranteefund.org/searchpolicy?pc=null&l=en
[3] Inspection check, 2017, [online]. Disponibil la:
https://rta.government.bgimage s/Image/check -inspection/index.html
[4] Euroins, 20 17, [online]. Disponibil la:
https://www.euroins.ro/
[5] Omniasig Vienna Insurance Group , 2017, [online]. Disponibil la:
https://www.omniasig.ro/
[6] Asirom , 2017, [online]. Disponibil la:
https://www.asirom.ro/
[7] CityInsurance , 2017, [online]. Disponibil la:
https://cityinsurance.ro/
[8] Groupa ma, 2017, [online]. Disponibil la:
https://www.groupama.ro/
[9] RDW, 2017, [online]. Disponibil la:
https://www.rdw.nl/particulier/Paginas/default.a spx
[10] Wikipedia, 2017, [online]. Disponibil la:
https://ro.wikipedia.org/wiki/Cod_numeric_personal
[11] Wikipedia, 2017, [online]. Disponibil la:
https://ro.wikipedia.org/wiki/Cod_de_Identificare_Fiscal%C4%83
[12] Julian Skinner, Bipin Joshi , Professional ADO.NET Programming , Ed. WROX PRESS 2001
[13] Doug Lowe, ASP.NET 2 .0 Everyday Apps for Dummies, Ed. For Du mmies , Februar y 27 2006
[14] Horea Oros, Curs baze de date , Suport de curs
[15] Allen G. Taylor, SQL All -in-One For Dummies , Ed.For Dummies, 2008
[16] ASP.NET Session State Overview , 2017, [online]. Disponibil la:
https://msdn.microsoft.com/en -us/library/ms178581.aspx
[17] Modele si tipuri de baze de date – document 2017 [online]
http://www.scritub.com/stiinta/informatica/baze -de-date/MODELE -SI-TIPURI -DE-BAZE -DE-
DA81161.php

Planificarea acti vității Paul Robert ȘUBREDU

46 8. Anexe

//directive folosite

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using S ystem.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Web.SessionState;

namespace asplicenta
{
public partial class WebForm1 : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(@"Data Source =(local);Initial
Catalog=test;Integrated Security=True");
public void varstaminima()
{
int obtinerepermis;
int nastere;
bool conditie;
if (Int32.TryParse(Ddanobtinerepermis.SelectedValue, out obtinerepermis)) {
obtinerepermis = int.Parse(Ddanobtinerepermis.SelectedValue);
}
if (Int32.TryParse(annastere.Text, out nastere)) {
nastere = int.Parse(annastere.Text);
}
conditie = obtinerepermis < nastere;
if (conditie)
{
Response.Write("<script>alert('Eroare anul permisului este mai mic decat anul
nasterii!')</script>");
}
}
public voi d datacalendar()
{
if (Calendar1.SelectedDate.Date == DateTime.MinValue.Date)
{
Response.Write("<script>alert('Nu ati ales o data!')</script>");
}
else
{
Response.Write("<script>alert('Ati selectat o data!')</script>");
}
}
public void nasterepermis()

Planificarea acti vității Paul Robert ȘUBREDU

47 {
int diferenta;
int obtinerepermis;
int nastere;
if (Int32.TryParse(annaste re.Text, out nastere))
{
nastere = int.Parse(annastere.Text);
}
if (Int32.TryParse(Ddanobtinerepermis.SelectedValue, out obtinerepermis))
{
obtinerepermis = int.Parse(Ddanobtin erepermis.SelectedValue);

}
diferenta = obtinerepermis – nastere;
if (diferenta < 18)
{
Response.Write("<script>alert('Eroare diferenta dintre anul nasterii si anul obtinerii
permisului nu re zulta varsta legala!')</script>");
}
}
public void varstalegala(){
int ancurent = DateTime.Now.Year;
int nastere;
if (Int32.TryParse(annastere.Text, out nastere))
{
nastere = int.Parse(annastere.Text);
}
int varsta= ancurent – nastere;
if (varsta < 18)
{
Response.Write("<script>alert('Eroare nu aveti 18 ani!')</script>");
}
}
public void completare()
{
if (Ddanobtinerepermis.SelectedItem.Value == String.Empty || capacitate.Text ==
String.Empty || putere.Text == String.Empty || annastere.Text==String.Empty )
{
Response.Write("<sc ript>alert('Eroare completeaza toate campurile!')</script>");
}
}

protected void Button3_Click(object sender, EventArgs e)
{
Session["Tip auto"] = Ddltipauto.SelectedValue;
Session["Marca"] = Ddm arca.SelectedValue;
Session["Model"] = Ddmodel.SelectedValue;
Session["Capacitate"] = capacitate.Text;
Session["Putere"] = putere.Text;
Session["Serie sasiu"] = sasiu.Text;
Session["An fabricatie" ] = anfabricatie.Text;
Session["Combustibil"] = Ddcombustibil.SelectedValue;

Planificarea acti vității Paul Robert ȘUBREDU

48 Session["Numar locuri"] = Ddlocuri.SelectedValue;
Session["Masa"] = masa.Text;
Session["An obtinere permis"] = Ddanobtinerepermis.S electedValue;
Session["Numar inmatriculare"] = nrinmatriculare.Text;
Session["An nastere"] = annastere.Text;
Session["calendar"] = Calendar1.SelectedDate.ToString("MM/dd/yyyy");

int ancurent = DateTime.Now.Y ear;
float pret = 0;
float cheltuieli = 0;
int nastere;
if (Int32.TryParse(annastere.Text, out nastere))
{
nastere = int.Parse(annastere.Text);
}
int capaci tatenr;
if (Int32.TryParse(capacitate.Text, out capacitatenr))
{
capacitatenr = int.Parse(capacitate.Text);
}
int obtinere;
if (Int32.TryParse(Ddanobtinerepermis.Text, out obtinere ))
{
obtinere = int.Parse(Ddanobtinerepermis.Text);
}

int varsta = ancurent – nastere;
if (varsta <= 25 & capacitatenr <= 1200)
{
pret = 292 + cheltuie li;
}
else if (26 <= varsta && varsta <= 30 & capacitatenr <= 1200)
{
pret = 286 + cheltuieli;
}
else if (31 <= varsta && varsta <= 40 & capacitatenr <= 1200)
{
pret = 177 + cheltuieli;
}
else if (41 <= varsta && varsta <= 50 & capacitatenr <= 1200)
{
pret = 182 + cheltuieli;
}
else if (51 <= varsta && varsta <= 60 & capacitatenr <= 1200)
{
pret = 178 + cheltuieli;
}
else if (varsta > 60 & capacitatenr <= 1200)
{
pret = 138 + cheltuieli;
}
else if (varsta <= 25 & 1201 < capacitat enr && capacitatenr <= 1400)

Planificarea acti vității Paul Robert ȘUBREDU

49 {
pret = 385 + cheltuieli;
}
else if (26 <= varsta && varsta <= 30 & 1201 < capacitatenr && capacitatenr <= 1400)
{
pret = 281 + cheltuieli;
}
else if (31 <= varsta && varsta <= 40 & 1201 < capacitatenr && capacitatenr <= 1400)
{
pret = 173 + cheltuieli;
}
else if (41 <= varsta && varsta <= 50 & 1201 < capacitatenr && capacit atenr <= 1400)
{
pret = 178 + cheltuieli;
}
else if (51 <= varsta && varsta <= 60 & 1201 < capacitatenr && capacitatenr <= 1400)
{
pret = 174 + cheltuieli;
}
else if (varsta > 60 & 1201 < capacitatenr && capacitatenr <= 1400)
{
pret = 135 + cheltuieli;
}
else if (varsta <= 25 & 1401 < capacitatenr && capacitatenr <= 1600)
{
pret = 487 + cheltuieli;
}
else if (26 <= varsta && varsta <= 30 & 1401 < capacitatenr && capacitatenr <= 1600)
{
pret = 361 + cheltuieli;
}
else if (31 <= varsta && varsta <= 40 & 1 401 < capacitatenr && capacitatenr <= 1600)
{
pret = 231 + cheltuieli;
}
else if (41 <= varsta && varsta <= 50 & 1401 < capacitatenr && capacitatenr <= 1600)
{
pret = 236 + che ltuieli;
}
else if (51 <= varsta && varsta <= 60 & 1401 < capacitatenr && capacitatenr <= 1600)
{
pret = 232 + cheltuieli;
}
else if (varsta > 60 & 1401 < capacitatenr && capacitat enr <= 1600)
{
pret = 184 + cheltuieli;
}
else if (varsta <= 25 & 1601 < capacitatenr && capacitatenr <= 1800)
{
pret = 559 + cheltuieli;
}
else if (26 <= varsta && varsta <= 30 & 1601 < capacitatenr && capacitatenr <= 1800)

Planificarea acti vității Paul Robert ȘUBREDU

50 {
pret = 417 + cheltuieli;
}
else if (31 <= varsta && varsta <= 40 & 1601 < capacitatenr && capacitatenr <= 1800)
{
pret = 272 + cheltuieli;
}
else if (41 <= varsta && varsta <= 50 & 1601 < capacitatenr && capacitatenr <= 1800)
{
pret = 278 + cheltuieli;
}
else if (51 <= varsta && v arsta <= 60 & 1601 < capacitatenr && capacitatenr <= 1800)
{
pret = 273 + cheltuieli;
}
else if (varsta > 60 & 1601 < capacitatenr && capacitatenr <= 1800)
{
pret = 219 + chelt uieli;
}
else if (varsta <= 25 & 1801 < capacitatenr && capacitatenr <= 2000)
{
pret = 684 + cheltuieli;
}
else if (26 <= varsta && varsta <= 30 & 1801 < capacitatenr && capacitate nr <= 2000)
{
pret = 516 + cheltuieli;
}
else if (31 <= varsta && varsta <= 40 & 1801 < capacitatenr && capacitatenr <= 2000)
{
pret = 342 + cheltuieli;
}
else if (41 <= varsta && varsta <= 50 & 1801 < capacitatenr && capacitatenr <= 2000)
{
pret = 349 + cheltuieli;
}
else if (51 <= varsta && varsta <= 60 & 1801 < capacitatenr && capacitatenr <= 2000)
{
pret = 344 + cheltuieli;
}
else if (varsta > 60 & 1801 < capacitatenr && capacitatenr <= 2000)
{
pret = 280 + cheltuieli;
}
else if (varsta <= 25 & 2001 < capacitatenr && capacitatenr <= 2500)
{
pret = 1029 + cheltuieli;
}
else if (26 <= varsta && varsta <= 30 & 2001 < capacitatenr && capacitatenr <= 2500)
{
pret = 787 + chelt uieli;
}
else if (31 <= varsta && varsta <= 40 & 2001 < capacitatenr && capacitatenr <= 2500)

Planificarea acti vității Paul Robert ȘUBREDU

51 {
pret = 537 + cheltuieli;
}
else if (41 <= varsta && varsta <= 50 & 2001 < capacitate nr && capacitatenr <= 2500)
{
pret = 547 + cheltuieli;
}
else if (51 <= varsta && varsta <= 60 & 2001 < capacitatenr && capacitatenr <= 2500)
{
pret = 539 + cheltuieli;
}
else if (varsta > 60 & 2001 < capacitatenr && capacitatenr <= 2500)
{
pret = 447 + cheltuieli;
}
else if (varsta <= 25 & capacitatenr > 2500)
{
pret = 1569 + cheltuieli;
}
else if (26 <= varsta && varsta <= 30 & capacitatenr > 2500)
{
pret = 1210 + cheltuieli;
}
else if (31 <= varsta && varsta <= 40 & capacitatenr > 2500)
{
pret = 842 + cheltuieli;
}
else if (41 <= varsta && varsta <= 50 & capacitatenr > 2500)
{
pret = 857 + cheltuieli;
}
else if (51 <= varsta && varsta <= 60 & capaci tatenr > 2500)
{
pret = 845 + cheltuieli;
}
else if (varsta > 60 & capacitatenr > 2500)
{
pret = 708 + cheltuieli;
}
if (nastere > obtinere || ancurent – nastere < 18 || obtinere – nastere < 18 ||
Ddanobtinerepermis.SelectedItem.Value == String.Empty || Ddltipauto.SelectedItem.Value ==
String.Empty || Ddmarca.SelectedItem.Value == String.Empty || Ddmodel.SelectedItem.Value ==
String.Empty || Ddcombustibil. SelectedItem.Value == String.Empty ||
Ddlocuri.SelectedItem.Value == String.Empty || nrinmatriculare.Text == String.Empty ||
masa.Text == String.Empty || sasiu.Text == String.Empty || capacitate.Text == String.Empty ||
putere.Text == String.Empty || annast ere.Text == String.Empty || Calendar1.SelectedDate.Date <
System.DateTime.Today)
{
completare();
varstaminima();
varstalegala();
datacalendar();

Planificarea acti vității Paul Robert ȘUBREDU

52 }
else
{
DataTable dt = new DataTable();
DataRow dr = null;
dt.Columns.Add(new DataColumn("RowNumber", typeof(string)));
dt.Columns.Add(new DataColumn("Col1", typeof(string)));
dt.Columns.Add(new DataColumn("Col2", typeof(string)));
dt.Columns.Add(new DataColumn("Col3", typeof(string)));

dr = dt.NewRow();
dr["RowNumber"] = 1;
dr["Col1"] = "Omniasig";
dr["Col2"] = omniasig6.ToString("c2");
dr["Col3"] = omniasig12.ToString("c2");
dt.Rows.Add(dr);

dr = dt.NewRow();
dr["RowNumber"] = 2;
dr["Col1"] = "Asirom";
dr["Col2"] = asirom6.ToString("c2");
dr["Col3"] = asirom12.ToString("c2");
dt.Rows.Add(dr);

dr = dt.NewRow();
dr["RowNumber"] = 3;
dr["Col1"] = "Euroins";
dr["Col2"] = euroins6.ToString("c2");
dr["Col3"] = euroins12.ToString("c2");
dt.Rows.Add(dr);

dr = dt.NewRow();
dr["RowNumber"] = 4;
dr["Col1"] = "CityInsurance";
dr["Col2"] = cityinsurance6.ToString("c2");
dr["Col3"] = cityinsurance12.ToString("c2");
dt.Rows.Add(dr);

dr = dt.NewRow();
dr["RowNumber"] = 5;
dr["Col1"] = "Gr oupama";
dr["Col2"] = groupama6.ToString("c2");
dr["Col3"] = groupama12.ToString("c2");
dt.Rows.Add(dr);

Tabel.DataSource = dt;
Tabel.DataBind();
}
}

protected void Tabel_RowCommand(object sender, GridViewCommandEventArgs e)
{

Planificarea acti vității Paul Robert ȘUBREDU

53 if (e.CommandName == "Select1")
{
int index = Convert.ToInt32(e.CommandArgument);

GridViewRow selectedRow = Ta bel.Rows[index];
TableCell Col2 = selectedRow.Cells[2];
string contact = Col2.Text;

Session["suma"] = Col2.Text;
Response.Redirect("Date personale fizica.aspx");
}
else if (e.CommandName == "Select2")
{
int index = Convert.ToInt32(e.CommandArgument);

GridViewRow selectedRow = Tabel.Rows[index];
TableCell Col3 = selectedRow.Cells[5];
string con tact = Col3.Text;

Session["suma"] = Col3.Text;
Response.Redirect("Date personale fizica.aspx");
}
}
protected void Ddmarca_SelectedIndexChanged(object sender, EventArgs e)
{
if (Ddmarca.SelectedItem.Value == "Acura")
{
Ddmodel.Items.Clear();
Ddmodel.Items.Add("CDX");
Ddmodel.Items.Add("ILX");
Ddmodel.Items.Add("MDX");
Ddmodel.Items.Add(" RDX");
Ddmodel.Items.Add("RLX");
Ddmodel.Items.Add("TLX");
Ddmodel.Items.Add("TSX");
}
else if (Ddmarca.SelectedItem.Value == "Alfa Romeo")
{
Ddmodel.Items. Clear();
Ddmodel.Items.Add("");
Ddmodel.Items.Add("134");
Ddmodel.Items.Add("156");
Ddmodel.Items.Add("159");
Ddmodel.Items.Add("Brera");
Ddmodel.Items.Add("Mit o");
}
else if (Ddmarca.SelectedItem.Value == "Aston Martin")
{
Ddmodel.Items.Clear();
Ddmodel.Items.Add("");
Ddmodel.Items.Add("Cygnet");
Ddmodel.Items.Add ("DB11");

Planificarea acti vității Paul Robert ȘUBREDU

54 Ddmodel.Items.Add("Vanquish Volante");
Ddmodel.Items.Add("Virage Volante");
Ddmodel.Items.Add("Zagato");
}
else if (Ddmarca.SelectedItem.Value == "Audi")
{
Ddmodel.Items.Clear();
Ddmodel.Items.Add("");
Ddmodel.Items.Add("A1");
Ddmodel.Items.Add("A2");
Ddmodel.Items.Add("A3");
Ddmodel.Items.Add("A4");
Ddmo del.Items.Add("A5");
Ddmodel.Items.Add("A6");
Ddmodel.Items.Add("A7");
Ddmodel.Items.Add("A9");
Ddmodel.Items.Add("S1");
Ddmodel.Items.Add("S2");
Ddmodel.Items. Add("RS8");
}
else if (Ddmarca.SelectedItem.Value == "Bmw")
{
Ddmodel.Items.Clear();
Ddmodel.Items.Add("");
Ddmodel.Items.Add("118");
Ddmodel.Items.Add("320 ");
Ddmodel.Items.Add("520");
Ddmodel.Items.Add("750");
Ddmodel.Items.Add("I3");
Ddmodel.Items.Add("I8");
Ddmodel.Items.Add("M5");
Ddmodel.Items.Add("M5");
Ddmodel.Items.Add("M6");
Ddmodel.Items.Add("X5");
Ddmodel.Items.Add("X6");
}
else if (Ddmarca.SelectedItem.Value == "Citroen")
{
Ddmodel.Items.Clear();
Ddmodel.Items.Add("");
Ddmodel.Items.Add("Berlingo");
Ddmodel.Items.Add("C1");
Ddmodel.Items.Add("C2");
Ddmodel.Items.Add("C3");
Ddmodel.Items.Add("C4");
Ddmodel.Items.Add("C5");
Ddmodel.Items.Add("C8");
Ddmodel.Items.Add("C15");
Ddmodel.Items.Add("Jumper");
Ddmodel.Items.Add("Nemo");
}
else if (Ddmarca.SelectedItem.Va lue == "Chevrolet")

Planificarea acti vității Paul Robert ȘUBREDU

55 {
Ddmodel.Items.Clear();
Ddmodel.Items.Add("");
Ddmodel.Items.Add("Aveo");
Ddmodel.Items.Add("Bolt");
Ddmodel.Items.Add("Camaro");
Ddmodel.Items.Add("Captiva");
Ddmodel.Items.Add("Corvette");
Ddmodel.Items.Add("Cruze");
Ddmodel.Items.Add("Spark");
}
else if (Ddmarca.SelectedItem.Value == "Dacia")
{
Ddmodel.Items.Clear();
Ddmodel.Items.Add("Logan");
Ddmodel.Items.Add("Sandero");
Ddmodel.Items.Add("Duster");
}
else if (Ddmarca.SelectedItem.Value == "Ford")
{
Ddmodel.Items.Clear();
Ddmodel.Items.Add("");
Ddmodel.Items.Add("B -Max");
Ddmodel.Items.Add("C -Max");
Ddmodel.Items.Add("Edge");
Ddmodel.Items.Add("Fiesta" );
Ddmodel.Items.Add("Focus");
Ddmodel.Items.Add("Kuga");
Ddmodel.Items.Add("Mustang");
}
else if (Ddmarca.SelectedItem.Value == "Honda")
{
Ddmodel.Items.Cl ear();
Ddmodel.Items.Add("");
Ddmodel.Items.Add("Accord");
Ddmodel.Items.Add("BR -V");
Ddmodel.Items.Add("Civic");
Ddmodel.Items.Add("CR -V");
Ddmodel.Items.Add(" Jazz");
Ddmodel.Items.Add("HR -V");
Ddmodel.Items.Add("StepWGN");
}
else if (Ddmarca.SelectedItem.Value == "Hyundai")
{
Ddmodel.Items.Clear();
Ddmodel.Items. Add("");
Ddmodel.Items.Add("Accent");
Ddmodel.Items.Add("Elantra");
Ddmodel.Items.Add("i10");
Ddmodel.Items.Add("i20");
Ddmodel.Items.Add("i30");
Ddmodel.Items. Add("i45");

Planificarea acti vității Paul Robert ȘUBREDU

56 Ddmodel.Items.Add("Santa Fe");
Ddmodel.Items.Add("Tucson");
}
else if (Ddmarca.SelectedItem.Value == "Mitsubishi")
{
Ddmodel.Items.Clear();
Ddmo del.Items.Add("");
Ddmodel.Items.Add("Aspire");
Ddmodel.Items.Add("Colt");
Ddmodel.Items.Add("Lancer");
Ddmodel.Items.Add("Leo");
Ddmodel.Items.Add("Pajero");
Ddmodel.Items.Add("Strada");
}
else if (Ddmarca.SelectedItem.Value == "Opel")
{
Ddmodel.Items.Clear();
Ddmodel.Items.Add("");
Ddmodel.Items.Add("Agila");
Ddm odel.Items.Add("Astra");
Ddmodel.Items.Add("Corsa");
Ddmodel.Items.Add("Frontera");
Ddmodel.Items.Add("GT");
Ddmodel.Items.Add("Insignia");
Ddmodel.Items.Add("Zafira");
}
else if (Ddmarca.SelectedItem.Value == "Volkswagen")
{
Ddmodel.Items.Clear();
Ddmodel.Items.Add("");
Ddmodel.Items.Add("Caddy");
Ddmodel.Items.Add("Fox");
Ddmodel.Items.Add("Golf");
Ddmodel.Items.Add("Jetta");
Ddmodel.Items.Add("Passat");
Ddmodel.Items.Add("Polo");
Ddmodel.Items.Add("Tiguan");
}
}
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
if (e.Day.Date < DateTime.Now)
{
e.Day.IsSelectable = false;
e.Cell.BackColor = System.Drawing.Color.LightGray;
e.Cell.Enabled = false;
}
}
}
}

Planificarea acti vității Paul Robert ȘUBREDU

57 CV

INFORMAȚII PERSONALE Paul Robert Șubredu

Nicolae Grigorescu nr.4A, 515600 Cugir (România)
0742292225
robert_subredu@yahoo.com
Yahoo! Messenger (YIM) robert_subredu@yahoo.co m
Sexul Masculin | Data nașterii 11 Iul 94 | Naționalitatea română

EDUCAȚIE ȘI FORMARE

COMPETENȚE PERSONALE

15/09/2001 –12/06/2009
Școala generală nr.4, Cugir (România)
15/09/2009 –30/05/2013
Liceul tehnic Ion.D.Lăzărescu nr.2, Cugir (România)
01/10/20 13–Prezent
UTCN Electronică,T elecomunicații și T ehnologia Informației, Cluj Npoca (România)
Limba(i) maternă(e) română

Alte limbi străine cunoscute ÎNȚELEGERE VORBIRE SCRIERE
Ascultare Citire Participare la
conversa ție Discurs oral
engleză B2 C1 B1 B1 B1
franceză A2 B1 A2 A2 B1
Niveluri: A 1 și A2: Utilizator elementar – B1 și B2: Utilizator independent – C1 și C2: Utilizator experimentat
Cadrul european comun de referință pentru limbi străine
Competență digitală AUTOEVALUARE
Procesarea
informației Comunicare Creare de
conținut Securitate Rezolvarea de
probleme
Utilizator
experimentat Utilizator
experimentat Utiliza tor
experimentat Utilizator
experimentat Utilizator
experimentat
Competențele digitale – Grilă de auto -evaluare
Permis de conducere B

Planificarea acti vității Paul Robert ȘUBREDU

58

Similar Posts