Aplicatie Android Pentru Gestiunea Unei Biblioteci Personale

Aplicatie Android pentru gestiunea unei biblioteci personale

„Învățătura este o comoară care își urmează stăpânul pretutindeni.”

Proverb popular

CUPRINSUL

I. Cerinte impuse

II. Arhitectura aplicatiei

III. Descrierea bazei de date

3.1. Modelul Entitate-Relatie

3.2. Modelul relational

3.3. Scripturi SQL

IV.Descrierea Serviciului WEB

4.1. Prezentare generala

4.2. Script C

V. Descrierea Aplicatiei

5.1. Meniu

5.2. Diagrame de clase

5.3. Descrierea detaliata a claselor

5.4. Descrierea aplicatilor

4 Concluzii

5 Bibliografie

6 Referințe web

A. Codul sursă

B. Site-ul web al proiectului

C. CD / DVD

Index

I.Cerinte impuse

Cerintele sunt descrieri ale serviciilor oferite de sistem si a constrangerilor care sunt generate de-a lungul desfasurarii proceselor de inginerie a cerintelor.

Descrierea cerintelor:

Specificarea comportamentului extern al sistemului.

Usor de inteles de clienti, manager si utilizatori.

Daca definirea cerintelor este gresita, atunci sistemul va fi gresit.

Cerintele pot fi clasificate in:

Cerinte funcionale

Afirmatii despre serviciile pe care sistemul trebuie sa le cuprinda,cum trebuie el sa raspunda la anumite intrari si cum sa reactioneze in anumite situatii

Cerinte non-functionale

Constrangeri ale serviciilor si functiilor oferite de sistem cum ar fi constrangeri de timp,constrangeri ale procesului de dezvoltare,standarde.

Cerintele functionale prezinta functionalitatea sistemului si serviciile furnizate.Ele depind de tipul softului,de utilizatorii avuti in vedere si de tipul sistemului pe care softul este intrebuintat.

Cerintele non-functionale descriu proprietati si constrangeri ale sistemului cum ar fi:fiabilitatea,timpul de raspuns,cerinte pentru spatiul de stocare.

Cerintele non-functionale pot fi mai critice decat cele functionale.Daca nu sunt realizate,sistemul este potrivit scopului in care a fost realizat.

II.Arhitectura aplicatiei

În prinicpiu arhitectura aplicațiilor este pe următoarele trei nivele:
1. Baza de date 
Serverul SQL. Acest nivel include logica aplicației (răspunde la interogările aplicației, face prelucrări masive, etc.)
2. Serverul de aplicație. 
Asigură legătura între nivelul 3 (clientul) și nivelul 1 (serverul SQL) și realizează diverse prelucrări de date.
3. Interfața cu utilizatorul 
Graphical User Interface – este clientul aplicației, numit "thin client", deoarece încorporează foarte puțină logică a aplicației și se limitează doar la validări și niște prelucrări minimale.
Fiecare din aceste nivele ale aplicației pot rula pe sisteme hard separate. Cea mai comună configurație este ca baza de date și serverul de aplicație să fie pe același server. 
1. Baza de date folosită – Microsoft SQL Server – este un produs robust de la Microsoft, care garanteaza o capacitate de stocare extensibila, securitatea datelor, instrumente de analiza si management a datelor, multiple posibilitati de accesare / import / export a datelor, în diferite formate, respectiv integrare cu alte surse de date. 
2. Serverul de aplicație – este nivelul la care se realizează majoritatea prelucrărilor de date. 
3. Programul client – este interfața prin care utilizatorul interacționează cu aplicația. La acest nivel se fac foarte puține prelucrări de date, în majoritate doar validări de date. Interfața este perfect integrată cu mediul Windows, bogată în opțiuni, permițand flexibilitate în utilizare. 
Tehnologiile folosite la nivelul serverului de aplicație și la nivelul clientului sunt: ADO.Net, Android pentru partea de logica a aplicației.
Avantajul arhitecturii pe trei nivele, față de o arhitectura client – server, este că majoritatea procesărilor se fac pe serverul de aplicație și pe baza de date, nu pe calculatorul client și pe baza de date. Aceasta permite o scalabilitate mult mai bună a aplicației în condițiile unui volum de tranzacții în creștere. Este necesară doar adăugarea de servere suplimentare pentru creșterea capacitatii de procesare. 

III.Descrierea bazei de date

Structured Query Language (SQL – limbajul structurat deinterogare) este limbajul standard folosit pentru manipularea si regasirea datelor din aceste baze de date

relationale.Prin SQL, un programator sau un administrator debaze de date poate face urmatoarele lucruri:

sa modifice structura unei baze de date ;

sa schimbe valorile de configurare pentru securitatea sistemului;

sa adauge drepturi utilizatorilor asupra bazelor de date sau tabelelor;

sa interogheze o baza de date asupra unor informatii;

sa actualizeze continutul unei baze de date.

3.1 Modelul Entitate-Relatie

Modelul E-R se bazeaza pe modelarea lumii reale folosind colectii de obiecte, numite entitati si pe legaturile (relationships) dintre entitati. O entitate este un lucru sau obiect din lumea reala care se distinge de alte obiecte. De exemplu orice persoana este o entitate sau conturile unei banci sunt toate entitati.

Se numeste entitate orice obiect, fenomen sau concept care poate fi deosebit de alte obiecte, fenomene sau concepte asemanatoare prin valorile unor caracteristici numite atribute. Entitatile sunt descrise in baza de date de o multime de atribute.

O legatura este o asociere intre mai multe entitati.

Proprietatile generale ale legaturilor:

Orice legatura are o semantica bine definita;

Orice legatura este bidirectionala;

Orice legatura tip are un nume;

legatura tip poate fi definita peste una sau mai multe entitati tip;

Între aceleasi entitati tip pot fi definite mai multe legaturi tip cu semantica

diferita;

Pot sa existe entitati ale unei entitati tip care nu participa la nici o realizare a

unei legaturi tip;

legatura tip poate sa aiba atribute specifice.

3.2 Modelul relational

Modelul relațional reprezintă baza de date ca o colecție de relații, fiecăreia fiindu-i asociat un nume unic.

O relație poate fi vazută ca un tabel de valori, fiecare linie din tabel reprezentând o colecție de valori interconectate.

Domeniul reprezintă o mulțime de valori atomice. Se consideră valori atomice acele valori ce nu pot fi descompuse fără a se pierde semnificația valorii.

Un domeniu este specificat de tipul de date al valorilor care formează domeniul, de numele său, care ajută în interpretarea valorilor sale.

Proprietăți ale relațiilor:

Orice relație are un nume unic într-o bază de date.

Orice atribut are un nume unic într-o relație.

Ordinea atributelor într-o relație nu are importanță.

Ordinea tuplurilor într-o relație nu are importanță.

Schema este un invariant al unei relații date.

relație este variantă în timp.

În afara valorilor specifice fiecărui domeniu, în bazele de date relaționale se acceptă și o valoare specială, numită valoarea nulă și notată null. Prin null se desemnează o valoare momentan necunoscută sau o valoare care nu are semnificație într-un anumit context.

Legături între relații:

Spre deosebire de alte modele implementabile ale bazelor de date, la care legăturile între obiectele bazei de date se realizează la nivel fizic prin lanțuri de pointeri, în cazul modelului relational, legăturile se realizează la nivel logic prin mecanismul cheilor externe.

Se numește cheie externă (secundară) un atribut (simplu sau compus) utilizat numai în scopul căutării unor tupluri.

Tipuri de legături între relații:

Legături unu la unu (notație-1:1) sunt create, de obicei, pentru a înlătura valorile nule dintr-o relație. Sunt rar folosite în modelul relațional.

Legături unu-la-mulți (notație-1:m, 1:∞) sunt des folosite între relații, în modelul relațional. Unui tuplu din relația r1 îi corespund mai multe tupluri în relația r2.

Legături mulți-la-mulți (notație-m:n, ∞:∞) înseamnă ca unui tuplu dintr-o relație r1 îi corespund mai multe tupluri ale relației r2 și invers.

Reguli de integritate a datelor:

Se numește regulă de integritate a datelor o restricție impusă valorilor datelor.

Regula de integritate a domeniului

Toate valorile unui atribut trebuie sa fie atomice și de același tip.

Regula de integritate a entității (a cheii primare)

Cheia primară a unei relații nu poate avea valori nule.

Regula de integritate a referirii

Valorile unei chei externe trebuie să fie nule sau să se regăsească printre valorile înregistrate ale cheii primare peste care este definită.

Reguli de integritate specifice care pot fi definite

Valorile numerice sunt cuprinse între anumite valori.

Valorile atributului se găsesc printre valorile dintr-o listă finită.

Nu sunt acceptate valori nule.

Nu sunt acceptate valori duplicate.

3.3.Scripturi SQL

Limbajul SQL poate fi considerat unul dintre motivele pentru care modelul relațional a devenit atât de utilizat de SGBD-urile comerciale.

Deoarece SQL a devenit un standard pentru bazele de date relaționale, utilizatorii nu trebuie sa mai migreze aplicatiile cu baze de date pentru alte tipuri de SGBD-uri.

In practica, există diferențe între SQL SGBD-urilor comerciale. Totuși, dacă utilizatorul a folosit doar acele parți care aparțin standardului, și dacă ambele sisteme sunt relaționale, conversia între 2 SGBD devine mult mai simplificată.

Un alt avantaj al existenței unui standard este acela al posibilității de a scrie comenzi în aplicațiile cu baze de date care să acceseze date stocate pe 2 sau mai multe SGBD-uri, fără a mai schimba limbajul bazei de date, dacă SGBD-urile relaționale suportă standardul SQL.

Pe de altă parte, limbajul SQL oferă o interfață pentru un limbaj declarativ de nivel mai înalt, în care se specifică care va fi rezultatul, lăsând optimizările și deciziile pentru executarea interogărilor pentru SGBD.

Denumirea SQL provine de la Structured Query Language.

La început SQL a fost numit SEQUEL (Structured English QUEry Language) și a fost implementat și proiectat de IBM Research ca și interfață pentru sistemele experimentale de baze de date relaționale numite SYSTEM R.

În prezent, SQL este limbajul standard pentru SGBD-urile relaționale comerciale.

Organizațiile ANSI (the American National Standards Institute) și ISO (the International Standards Organization) au creat versiunea standard de SQL (ANSI 1986),numit SQL-86 sau SQL 1.

O versiune mult mai reviziută a stadardului numită SQL2 (SQL-92) a fost dezvoltată. Următorele versiuni ale standardului sunt SQL3 sau SQL-99 si SQL-2003. La acest curs va fi discutată ultima versiune a limbajului SQL (SQL-2003).

Limbajul SQL oferă comenzi pentru definirea datelor, interogărilor, modificarea datelor, definirea vederilor, specificarea securității si autorizării utilizatorilor, definirea constrângerilor de integritate, specificarea controlului tranzacțiilor.

Limbajul oferă reguli pentru a încorpora comenzi SQL în limbajele de programare, cum ar fi Java, C, C++.

Tipurile de bază :

Tipurile de date de bază disponibile includ:

tipurile numerice,

șiruri de caractere,

șiruri de biți,

boolean,

dată și timp.

Tipurile de date numerice cuprind numere întregi de diferite dimensiuni (INTEGER sau INT și SMALLINT), numere reale cu diferite precizii (FLOAT sau REAL, și DOUBLE).

Pentru formatarea numerelor se folosește DECIMAL(i,j) sau DEC(i,j) sau NUMERIC(i,j), unde i este precizia care reprezintă numărul total de cifre, iar j este scala și reprezintă numărul de cifre după virgulă.

Valoarea implicita pentru scală este zero, iar pentru precizie este lungimea tipului de date definit.

Tipurile de date șiruri de caractere sunt fie de dimensiune fixă-CHAR(n), CHARACTER(n), unde n este numărul de caractere – sau de dimensiune variabilă VARCHAR(n) sau CHAR VARYING(n) sau CHARACTER VARYING(n), unde n este numărul maxim de caractere.

Operatorul de concatenare a șirurilor de caractere este notat || și concatenează 2 șiruri de caractere în SQL. De exemplu, în urma concatenării 'abc' || 'XYZ' rezultă un singur șir de caractere 'abcXYZ'.

Tipurile de date bit sunt fie de lungime fixă n – BIT(n) sau de lungime variabilă BIT VARYING(n), unde n este numărul maxim de biți.

Șirurile de biți sunt plasate între ghilimele simpleu CHAR VARYING(n) sau CHARACTER VARYING(n), unde n este numărul maxim de caractere.

Operatorul de concatenare a șirurilor de caractere este notat || și concatenează 2 șiruri de caractere în SQL. De exemplu, în urma concatenării 'abc' || 'XYZ' rezultă un singur șir de caractere 'abcXYZ'.

Tipurile de date bit sunt fie de lungime fixă n – BIT(n) sau de lungime variabilă BIT VARYING(n), unde n este numărul maxim de biți.

Șirurile de biți sunt plasate între ghilimele simple, dar precedate de B pentru a le distinge de șirurile de caractere; de exemplu B'10101'.

Șirurile de biți de lungime multiplu de 4 pot fi reprezentate în hexadecimal, precedate de X și fiecare caracter hexadecimal reprezentând 4 biți.

Tipul de date boolean are valorile TRUE sau FALSE. În SQL, datorită existenței valorilor NULL, o a treia valoare este folosită pentru tipurile booleene – UNKNOWN.

Tipurile de date date and time au fost adăugate în SQL2.

Tipul de date DATE are 10 poziții pentru componentele YEAR, MONTH și DAY în forma YYYY-MM-DD. Tipul de date TIME are 8 poziții, cu componentele HOUR, MINUTE și SECOND în formatul HH:MM:SS. Numai valorile valide de timp și dată sunt admise în SQL.

Operatorii de comparație ” < (mai mic), >(mai mare)”pot fi folosiți pentru DATE și TIME.

Valorile de tipul DATE și TIME se reprezintă folosind ghilimele simple DATE '2002-09-27' și TIME'09: 12:47'.

Tipul de date TIME cu TIME ZONE include poziții adiționale care specifică deplasarea de la standardul universal de timp, care este între +13:00 : -12:59(HOURS:MINUTES).Daca Time Zone nu este specificat, timpul implicit este timpul local al zonei.

Constrângerile de bază în SQL pot fi descrise ca și parte a definiției tabelelor.

Acestea includ:

constrângeri de cheie primară,

constrângeri de cheie externă,

resctricții pe domeniile atributelor și NULL,

Constrângeri DEFAULT, UNIQUE, CHECK,

constrângeri pe tupurile unei relații.

Script SQL:

create database biblioteca;

use biblioteca;

create table Autor_tbl

(

ID_Autor int not null primary key identity(1,1),

Nume_Autor varchar(30) not null,

Initiala_Autor varchar(30) not null,

Prenume_Autor varchar(30) not null,

Observatii_Autor varchar(100) not null

);

create table Carte_tbl

(

ID_Carte int not null primary key identity(1,1),

ISBN varchar(30),

Titlu_Carte varchar(50) not null,

An_Aparitie_Carte varchar(10),

Limba_Carte varchar(20),

Volum_Carte int,

Editie_Carte varchar(10),

Observatii_Carte varchar(100)

);

create table Utilizator_tbl

(

ID_Utilizator int not null primary key identity(1,1),

CNP_Utilizator varchar(13),

Nume_Utilizator varchar(30),

Prenume_Utilizator varchar(50),

Email_Utilizator varchar(40) not null,

Observatii_Utilizator varchar(100)

);

create table Editura_tbl

(

ID_Editura int not null primary key identity(1,1),

Nume_Editura varchar(30) not null,

Localitate_Editura varchar(20),

Observatii_Editura varchar(100)

);

create table Articol_tbl

(

ID_Articol int not null primary key identity(1,1),

Nume_Articol varchar(30) not null,

Data_Publicare_Articol varchar(15),

Observatii_Articol varchar(100)

);

create table Revista_tbl

(

Id_Revista int not null primary key identity(1,1),

Nume_Revista varchar(20) not null,

Numar_Revista int not null,

Data_Publicare_Revista varchar(15),

Observatii_Revista varchar(100)

);

create table Telefon_tbl

(

ID_Telefon int not null primary key identity(1,1),

Numar_telefon int not null,

Observatii_Telefon varchar(100)

);

create table Adresa_tbl

(

ID_Adresa int not null primary key identity(1,1),

Localitate_Adresa varchar(30),

Judet_Adresa varchar(15),

Strada_Adresa varchar(30),

Bloc_Adresa varchar(10),

Apartament_Adresa int,

Observatii_Adresa varchar(100)

);

create table Scriitor_tbl

(

ID_Scriitor int not null primary key identity(1,1),

ID_Autor int not null,

ID_Carte int not null,

Autor_Principal varchar(50),

Observatii_Scriitor varchar(100)

);

create table Imprumuta_tbl

(

ID_Imprumut int not null primary key identity(1,1),

ID_Utilizator int not null,

ID_Carte int not null,

Data_Imprumut varchar(15) not null,

Data_Returnare varchar(15) not null,

Observatii_Imprumut varchar(100)

);

create table Editie_tbl

(

ID_Editie int not null primary key identity(1,1),

ID_Editura int not null,

ID_Carte int not null,

Observatii_Editie varchar(100)

);

create table Locatie_tbl

(

ID_Locatie int not null primary key identity(1,1),

ID_Adresa int not null,

ID_Utilizator int not null,

Observatii_Locatie varchar(100)

);

create table Contact_tbl

(

ID_Contact int not null primary key identity(1,1),

ID_Telefon int not null,

ID_Utilizator int not null,

Observatii_Contact varchar(100)

);

create table Continut_tbl

(

ID_Continut int not null primary key identity(1,1),

ID_Articol int not null,

ID_Revista int not null,

Observatii_Continut varchar(100)

);

alter table Scriitor_tbl

add foreign key (ID_Autor) references Autor_tbl(ID_Autor);

alter table Scriitor_tbl

add foreign key (ID_Carte) references Carte_tbl(ID_Carte);

alter table Imprumuta_tbl

add foreign key (ID_Utilizator) references Utilizator_tbl(ID_Utilizator);

alter table Imprumuta_tbl

add foreign key (ID_Carte) references Carte_tbl(ID_Carte);

alter table Editie_tbl

add foreign key (ID_Editura) references Editura_tbl(ID_Editura);

alter table Editie_tbl

add foreign key (ID_Carte) references Carte_tbl(ID_Carte);

alter table Locatie_tbl

add foreign key (ID_Adresa) references Adresa_tbl(ID_Adresa);

alter table Locatie_tbl

add foreign key (ID_Utilizator) references Utilizator_tbl(ID_Utilizator);

alter table Contact_tbl

add foreign key (ID_Utilizator) references Utilizator_tbl(ID_Utilizator);

alter table Contact_tbl

add foreign key (ID_Telefon) references Telefon_tbl(ID_Telefon);

alter table Continut_tbl

add foreign key (ID_Articol) references Articol_tbl(ID_Articol);

alter table Continut_tbl

add foreign key (ID_Revista) references Revista_tbl(ID_Revista);

ALTER TABLE Carte_tbl

ADD Cuvant_Cheie1 varchar(15);

ALTER TABLE Carte_tbl

ADD Cuvant_Cheie2 varchar(15);

ALTER TABLE Carte_tbl

ADD Cuvant_Cheie3 varchar(15);

ALTER TABLE Carte_tbl

ADD Cuvant_Cheie4 varchar(15);

ALTER TABLE Carte_tbl

ADD Cuvant_Cheie5 varchar(15);

VI.Descrierea Serviciului WEB

4.1.Prezentare generala

.NET este un cadru (Framework) de dezvoltare software unitara care permite realizarea, distribuirea si rularea aplicatiilor desktop Windows si aplicatiilor WEB.

Tehnologia .NET pune laolalta mai multe tehnologii (ASP, XML, OOP, SOAP, WDSL, UDDI) si limbaje de programare (VB, C++, C#, J#) asigurând, totodata, atât portabilitatea codului compilat între diferite calculatoare cu sistem Windows, cât si reutilizarea codului în programe, indiferent de limbajul de programare utilizat.

.NET Framework este o componenta livrata împreuna cu sistemul de operare Windows. De fapt, .NET 2.0 vine cu Windows Server 2003, se poate instala pe versiunile anterioare, pâna la

Windows 98 inclusiv; .NET 3.0 vine instalat pe Windows Vista si poate fi instalat pe versiunile Windows XP cu SP2 si Windows Server 2003 cu minimum SP1.

Pentru a dezvolta aplicatii pe platforma .NET este bine sa avem 3 componente esentiale:

un set de limbaje (C#, Visual Basic .NET, J#, Managed C++, Smalltalk, Perl, Fortran,

Cobol, Lisp, Pascal etc),

un set de medii de dezvoltare (Visual Studio .NET, Visio),

biblioteca de clase pentru crearea serviciilor Web, aplicatiilor Web si aplicatiilor desktop Windows.

Când dezvoltam aplicatii .NET, putem utiliza:

Servere specializate – un set de servere Enterprise .NET (din familia SQL Server 2000,Exchange 2000 etc), care pun la dispozitie functii de stocare a bazelor de date, email,aplicatii B2B (Bussiness to Bussiness – comert electronic între partenerii unei afaceri).

Servicii Web (în special comerciale), utile în aplicatii care necesita identificarea utilizatorilor (de exemplu, .NET Passport – un mod de autentificare folosind un singur nume si o parola pentru toate site-urile vizitate)

Servicii incluse pentru dispozitive non-PC (Pocket PC Phone Edition, Smartphone, Tablet PC, Smart Display, XBox, set-top boxes, etc.)

.NET Framework

`Componenta .NET Framework sta la baza tehnologiei .NET, este ultima interfata între

aplicatiile .NET si sistemul de operare si actualmente contine:

Limbajele C#, VB.NET, C++ si J#. Pentru a fi integrate în platforma .NET, toate aceste limbaje respecta niste specificatii OOP numite Common Type System (CTS). Ele au ca elemente de baza: clase, interfete, delegari, tipuri valoare si referinta, iar ca mecanisme:mostenire, polimorfism si tratarea exceptiilor.

Platforma comuna de executare a programelor numita Common Language Runtime

(CLR), utilizata de toate cele 4 limbaje. CTS face parte din CLR.

Ansamblul de biblioteci necesare în realizarea aplicatiilor desktop sau Web, numit

Framework Class Library (FCL).

Introducere în limbajul C#

Caracterizare

Limbajul C# a fost dezvoltat de o echipa restrânsa de ingineri de la Microsoft, echipa dincare s-a evidentiat Anders Hejlsberg (autorul limbajului Turbo Pascal si membru al echipei care a proiectat Borland Delphi).

C# este un limbaj simplu, cu circa 80 de cuvinte cheie si 12 tipuri de date predefinite. El permite programarea structurata, modulara si orientata obiectual, conform perceptelor moderne ale programarii profesioniste.

Principiile de baza ale programarii orientate pe obiecte (ÎNCAPSULARE, MOSTENIRE,POLIMORFISM) sunt elemente fundamentale ale programarii C#. În mare, limbajul mostenestesintaxa si principiile de programare din C++. Sunt o serie de tipuri noi de date sau functiuni diferite ale datelor din C++, iar în spiritul realizarii unor secvente de cod sigure (safe), unele functiuni au fost adaugate (de exemplu, interfete si delegari), diversificate (tipul struct), modificate (tipul string) sau chiar eliminate (mostenirea multipla si pointerii catre functii). Unele functiuni (cum ar fi accesul direct la memorie folosind pointeri) au fost pastrate, dar secventele de cod corespunzatoare se considera „nesigure”.

4.2.Scripturi C#

using System;

using System.Collections.Generic;

using System.Data;

using System.Data.SqlClient;

using System.Diagnostics;

using System.Linq;

using System.Web;

using System.Web.Services;

namespace BibliotecaWebService

{

/// <summary>

/// Summary description for WebService1

/// </summary>

[WebService(Namespace = "http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

[System.ComponentModel.ToolboxItem(false)]

// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.

// [System.Web.Script.Services.ScriptService]

public class WebService1 : System.Web.Services.WebService

{

#region Inserari

[WebMethod]

public string InsertCarte(string isbn, string titlu, string anAparitie, string limba, string volum, string editie, string observatii, string cuvantcheie1, string cuvantcheie2, string cuvantcheie3, string cuvantcheie4, string cuvantcheie5)

{

string result = "";

int vol;

if (volum == "")

{

vol = 1;

}

else

{

vol = Convert.ToInt16(volum);

}

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "insert into Carte_tbl values(@isbn,@titlu,@an,@limba,@volum,@editie,@observatii,@cuvantcheie1,@cuvantcheie2,@cuvantcheie3,@cuvantcheie4,@cuvantcheie5)";

try

{

SqlCommand sqlCommand = new SqlCommand(cmdString, conn);

sqlCommand.CommandType = CommandType.Text;

sqlCommand.Parameters.Add("@isbn", SqlDbType.Text).Value = isbn;

sqlCommand.Parameters.Add("@titlu", SqlDbType.Text).Value = titlu;

sqlCommand.Parameters.Add("@an", SqlDbType.Text).Value = anAparitie;

sqlCommand.Parameters.Add("@limba", SqlDbType.Text).Value = limba;

sqlCommand.Parameters.Add("@volum", SqlDbType.Int).Value = vol;

sqlCommand.Parameters.Add("@editie", SqlDbType.Text).Value = editie;

sqlCommand.Parameters.Add("@observatii", SqlDbType.Text).Value = observatii;

sqlCommand.Parameters.Add("@cuvantcheie1", SqlDbType.Text).Value = cuvantcheie1;

sqlCommand.Parameters.Add("@cuvantcheie2", SqlDbType.Text).Value = cuvantcheie2;

sqlCommand.Parameters.Add("@cuvantcheie3", SqlDbType.Text).Value = cuvantcheie3;

sqlCommand.Parameters.Add("@cuvantcheie4", SqlDbType.Text).Value = cuvantcheie4;

sqlCommand.Parameters.Add("@cuvantcheie5", SqlDbType.Text).Value = cuvantcheie5;

conn.Open();

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Inserarea a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Inserarea nu a fost facuta";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

[WebMethod]

public string InsertImprumut(int id_user, int id_carte, string dataImprumut, string dataReturnare, string observatii)

{

string result = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "insert into Imprumuta_tbl values(@id_user,@id_carte,@dataImprumut,@dataReturnare,@observatii)";

try

{

SqlCommand sqlCommand = new SqlCommand(cmdString, conn);

sqlCommand.CommandType = CommandType.Text;

sqlCommand.Parameters.Add("@id_user", SqlDbType.Int).Value = id_user;

sqlCommand.Parameters.Add("@id_carte", SqlDbType.Int).Value = id_carte;

sqlCommand.Parameters.Add("@dataImprumut", SqlDbType.Text).Value = dataImprumut;

sqlCommand.Parameters.Add("@dataReturnare", SqlDbType.Text).Value = dataReturnare;

sqlCommand.Parameters.Add("@observatii", SqlDbType.Text).Value = observatii;

conn.Open();

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Inserarea a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Inserarea nu a fost facuta";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

[WebMethod]

public string InsertUser(string cnp, string nume, string prenume, string email, string observatii)

{

string result = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "insert into Utilizator_tbl values(@cnp,@nume,@prenume,@email,@observatii)";

try

{

SqlCommand sqlCommand = new SqlCommand(cmdString, conn);

sqlCommand.CommandType = CommandType.Text;

sqlCommand.Parameters.Add("@cnp", SqlDbType.Text).Value = cnp;

sqlCommand.Parameters.Add("@nume", SqlDbType.Text).Value = nume;

sqlCommand.Parameters.Add("@prenume", SqlDbType.Text).Value = prenume;

sqlCommand.Parameters.Add("@email", SqlDbType.Text).Value = email;

sqlCommand.Parameters.Add("@observatii", SqlDbType.Text).Value = observatii;

conn.Open();

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Inserarea a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Inserarea nu a fost facuta";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

[WebMethod]

public string InsertAutor(string nume, string initiala, string prenume, string observatii)

{

string result = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "insert into Autor_tbl values(@nume,@initiala,@prenume,@observatii)";

try

{

SqlCommand sqlCommand = new SqlCommand(cmdString, conn);

sqlCommand.CommandType = CommandType.Text;

sqlCommand.Parameters.Add("@nume", SqlDbType.Text).Value = nume;

sqlCommand.Parameters.Add("@initiala", SqlDbType.Text).Value = initiala;

sqlCommand.Parameters.Add("@prenume", SqlDbType.Text).Value = prenume;

sqlCommand.Parameters.Add("@observatii", SqlDbType.Text).Value = observatii;

conn.Open();

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Inserarea a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Inserarea nu a fost facuta";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

[WebMethod]

public string InsertAdresa(string localitate, string judet, string strada, string bloc, int apartament, string observatii)

{

string result = "";

int x = Convert.ToInt32(apartament);

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "insert into Adresa_tbl values(@localitate,@judet,@strada,@bloc,@apartament,@observatii)";

try

{

SqlCommand sqlCommand = new SqlCommand(cmdString, conn);

sqlCommand.CommandType = CommandType.Text;

sqlCommand.Parameters.Add("@localitate", SqlDbType.Text).Value = localitate;

sqlCommand.Parameters.Add("@judet", SqlDbType.Text).Value = judet;

sqlCommand.Parameters.Add("@strada", SqlDbType.Text).Value = strada;

sqlCommand.Parameters.Add("@bloc", SqlDbType.Text).Value = bloc;

sqlCommand.Parameters.Add("@apartament", SqlDbType.Int).Value = x;

sqlCommand.Parameters.Add("@observatii", SqlDbType.Text).Value = observatii;

conn.Open();

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Inserarea a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Inserarea nu a fost facuta";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

[WebMethod]

public string InsertArticol(string nume, string datapublicare, string observatii)

{

string result = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "insert into Articol_tbl values(@nume,@datapublicare,@observatii)";

try

{

SqlCommand sqlCommand = new SqlCommand(cmdString, conn);

sqlCommand.CommandType = CommandType.Text;

sqlCommand.Parameters.Add("@nume", SqlDbType.Text).Value = nume;

sqlCommand.Parameters.Add("@datapublicare", SqlDbType.Text).Value = datapublicare;

sqlCommand.Parameters.Add("@observatii", SqlDbType.Text).Value = observatii;

conn.Open();

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Inserarea a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Inserarea nu a fost facuta";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

[WebMethod]

public string InsertContact(int id_telefon, int id_utilizator, string observatii)

{

string result = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "insert into Contact_tbl values(@id_telefon,@id_utilizator,@observatii)";

try

{

SqlCommand sqlCommand = new SqlCommand(cmdString, conn);

sqlCommand.CommandType = CommandType.Text;

sqlCommand.Parameters.Add("@id_telefon", SqlDbType.Int).Value = id_telefon;

sqlCommand.Parameters.Add("@id_utilizator", SqlDbType.Int).Value = id_utilizator;

sqlCommand.Parameters.Add("@observatii", SqlDbType.Text).Value = observatii;

conn.Open();

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Inserarea a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Inserarea nu a fost facuta";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

[WebMethod]

public string InsertContinut(int id_articol, int id_revista, string observatii)

{

string result = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "insert into Continut_tbl values(@id_articol,@id_revista,@observatii)";

try

{

SqlCommand sqlCommand = new SqlCommand(cmdString, conn);

sqlCommand.CommandType = CommandType.Text;

sqlCommand.Parameters.Add("@id_articol", SqlDbType.Int).Value = id_articol;

sqlCommand.Parameters.Add("@id_revista", SqlDbType.Int).Value = id_revista;

sqlCommand.Parameters.Add("@observatii", SqlDbType.Text).Value = observatii;

conn.Open();

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Inserarea a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Inserarea nu a fost facuta";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

[WebMethod]

public string InsertEditie(int id_carte, int id_editura, string observatii)

{

string result = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "insert into Editie_tbl values(@id_carte,@id_editura,@observatii)";

try

{

SqlCommand sqlCommand = new SqlCommand(cmdString, conn);

sqlCommand.CommandType = CommandType.Text;

sqlCommand.Parameters.Add("@id_carte", SqlDbType.Int).Value = id_carte;

sqlCommand.Parameters.Add("@id_editura", SqlDbType.Int).Value = id_editura;

sqlCommand.Parameters.Add("@observatii", SqlDbType.Text).Value = observatii;

conn.Open();

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Inserarea a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Inserarea nu a fost facuta";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

[WebMethod]

public string InsertLocatie(int id_adresa, int id_utilizator, string observatii)

{

string result = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "insert into Locatie_tbl values(@id_adresa,@id_utilizator,@observatii)";

try

{

SqlCommand sqlCommand = new SqlCommand(cmdString, conn);

sqlCommand.CommandType = CommandType.Text;

sqlCommand.Parameters.Add("@id_adresa", SqlDbType.Int).Value = id_adresa;

sqlCommand.Parameters.Add("@id_utilizator", SqlDbType.Int).Value = id_utilizator;

sqlCommand.Parameters.Add("@observatii", SqlDbType.Text).Value = observatii;

conn.Open();

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Inserarea a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Inserarea nu a fost facuta";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

[WebMethod]

public string InsertRevista(string nume, int numar, string dataPublicare, string observatii)

{

string result = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "insert into Revista_tbl values(@nume,@numar,@dataPublicare,@observatii)";

try

{

SqlCommand sqlCommand = new SqlCommand(cmdString, conn);

sqlCommand.CommandType = CommandType.Text;

sqlCommand.Parameters.Add("@nume", SqlDbType.Text).Value = nume;

sqlCommand.Parameters.Add("@numar", SqlDbType.Int).Value = numar;

sqlCommand.Parameters.Add("@dataPublicare", SqlDbType.Text).Value = dataPublicare; ;

sqlCommand.Parameters.Add("@observatii", SqlDbType.Text).Value = observatii;

conn.Open();

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Inserarea a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Inserarea nu a fost facuta";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

[WebMethod]

public string InsertScriitor(int id_autor, int id_carte, string autor_principal, string observatii)

{

string result = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "insert into Scriitor_tbl values(@id_autor,@id_carte,@autor_principal,@observatii)";

try

{

SqlCommand sqlCommand = new SqlCommand(cmdString, conn);

sqlCommand.CommandType = CommandType.Text;

sqlCommand.Parameters.Add("@id_autor", SqlDbType.Int).Value = id_autor;

sqlCommand.Parameters.Add("@id_carte", SqlDbType.Int).Value = id_carte;

sqlCommand.Parameters.Add("@autor_principal", SqlDbType.Text).Value = autor_principal;

sqlCommand.Parameters.Add("@observatii", SqlDbType.Text).Value = observatii;

conn.Open();

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Inserarea a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Inserarea nu a fost facuta";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

[WebMethod]

public string InsertTelefon(string numar, string observatii)

{

string result = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "insert into Telefon_tbl values(@numar,@observatii)";

try

{

SqlCommand sqlCommand = new SqlCommand(cmdString, conn);

sqlCommand.CommandType = CommandType.Text;

sqlCommand.Parameters.Add("@numar", SqlDbType.Text).Value = numar;

sqlCommand.Parameters.Add("@observatii", SqlDbType.Text).Value = observatii;

conn.Open();

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Inserarea a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Inserarea nu a fost facuta";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

[WebMethod]

public string InsertEditura(string nume, string localitate, string observatii)

{

string result = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "insert into Editura_tbl values(@nume,@localitate,@observatii)";

try

{

SqlCommand sqlCommand = new SqlCommand(cmdString, conn);

sqlCommand.CommandType = CommandType.Text;

sqlCommand.Parameters.Add("@nume", SqlDbType.Text).Value = nume;

sqlCommand.Parameters.Add("@localitate", SqlDbType.Text).Value = localitate;

sqlCommand.Parameters.Add("@observatii", SqlDbType.Text).Value = observatii;

conn.Open();

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Inserarea a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Inserarea nu a fost facuta";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

#endregion

[WebMethod]

public List<string> CautaCarti(string titlu, string anAparitie, string limba, string observatii, string isbn, string cuvantcheie1, string cuvantcheie2, string cuvantcheie3, string cuvantcheie4, string cuvantcheie5)

{

List<string> rez_cautare = new List<string>();

string cmdString = "";

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

#region setare querry

if (titlu == "" && anAparitie == "" && limba == "" && observatii == "" && isbn == "")

{

cmdString = "select * from Carte_tbl;";

}

else if (titlu != "" && anAparitie == "" && limba == "" && observatii == "" && isbn == "")

{

cmdString = "select * from Carte_tbl where Titlu_Carte =" + "'" + titlu + "'";

}

else if (titlu == "" && anAparitie != "" && limba == "" && observatii == "" && isbn == "")

{

cmdString = "select * from Carte_tbl where An_Aparitie_Carte =" + "'" + anAparitie + "'";

}

else if (titlu == "" && anAparitie == "" && limba != "" && observatii == "" && isbn == "")

{

cmdString = "select * from Carte_tbl where Limba_Carte =" + "'" + limba + "'";

}

else if (titlu == "" && anAparitie == "" && limba == "" && observatii != "" && isbn == "")

{

cmdString = "select * from Carte_tbl where Observatii_Carte =" + "'" + observatii + "'";

}

else if (titlu == "" && anAparitie == "" && limba == "" && observatii == "" && isbn != "")

{

cmdString = "select * from Carte_tbl where ISBN =" + "'" + isbn + "'";

}

else if (titlu != "" && anAparitie != "" && limba == "" && observatii == "" && isbn == "")

{

cmdString = "select * from Carte_tbl where Titlu_Carte =" + "'" + titlu + "'" + " and An_Aparitie_Carte =" + "'" + anAparitie + "'";

}

else if (titlu != "" && anAparitie == "" && limba != "" && observatii == "" && isbn == "")

{

cmdString = "select * from Carte_tbl where Titlu_Carte =" + "'" + titlu + "'" + " and Limba_Carte =" + "'" + limba + "'";

}

else if (titlu != "" && anAparitie == "" && limba == "" && observatii != "" && isbn == "")

{

cmdString = "select * from Carte_tbl where Titlu_Carte =" + "'" + titlu + "'" + " and Observatii_Carte =" + "'" + observatii + "'";

}

else if (titlu != "" && anAparitie == "" && limba == "" && observatii == "" && isbn != "")

{

cmdString = "select * from Carte_tbl where Titlu_Carte =" + "'" + titlu + "'" + " and ISBN =" + "'" + isbn + "'";

}

else if (titlu == "" && anAparitie != "" && limba != "" && observatii == "" && isbn == "")

{

cmdString = "select * from Carte_tbl where An_Aparitie_Carte =" + "'" + anAparitie + "'" + " and Limba_Carte =" + "'" + limba + "'";

}

else if (titlu == "" && anAparitie != "" && limba == "" && observatii != "" && isbn == "")

{

cmdString = "select * from Carte_tbl where An_Aparitie_Carte =" + "'" + anAparitie + "'" + " and Observatii_Carte =" + "'" + observatii + "'";

}

else if (titlu == "" && anAparitie != "" && limba == "" && observatii == "" && isbn != "")

{

cmdString = "select * from Carte_tbl where An_Aparitie_Carte =" + "'" + anAparitie + "'" + " and ISBN =" + "'" + isbn + "'";

}

else if (titlu == "" && anAparitie == "" && limba != "" && observatii != "")

{

cmdString = "select * from Carte_tbl where Limba_Carte =" + "'" + limba + "'" + " and Observatii_Carte =" + "'" + observatii + "'";

}

else if (titlu == "" && anAparitie == "" && limba != "" && observatii == "" && isbn != "")

{

cmdString = "select * from Carte_tbl where Limba_Carte =" + "'" + limba + "'" + " and ISBN =" + "'" + isbn + "'";

}

else if (titlu == "" && anAparitie == "" && limba == "" && observatii != "" && isbn != "")

{

cmdString = "select * from Carte_tbl where Observatii_Carte =" + "'" + observatii + "'" + " and ISBN =" + "'" + isbn + "'";

}

else if (titlu != "" && anAparitie != "" && limba != "" && observatii == "" && isbn == "")

{

cmdString = "select * from Carte_tbl where Titlu_Carte =" + "'" + titlu + "'" + " and An_Aparitie_Carte =" + "'" + anAparitie + "'" + " and Limba_Carte =" + "'" + limba + "'";

}

else if (titlu != "" && anAparitie != "" && limba == "" && observatii != "" && isbn == "")

{

cmdString = "select * from Carte_tbl where Titlu_Carte =" + "'" + titlu + "'" + " and An_Aparitie_Carte =" + "'" + anAparitie + "'" + " and Observatii_Carte =" + "'" + observatii + "'";

}

else if (titlu != "" && anAparitie != "" && limba == "" && observatii == "" && isbn != "")

{

cmdString = "select * from Carte_tbl where Titlu_Carte =" + "'" + titlu + "'" + " and An_Aparitie_Carte =" + "'" + anAparitie + "'" + " and ISBN =" + "'" + isbn + "'";

}

else if (titlu == "" && anAparitie != "" && limba != "" && observatii != "" && isbn == "")

{

cmdString = "select * from Carte_tbl where An_Aparitie_Carte =" + "'" + anAparitie + "'" + " and Limba_Carte =" + "'" + limba + "'" + " and Observatii_Carte =" + "'" + observatii + "'";

}

else if (titlu == "" && anAparitie != "" && limba != "" && observatii == "" && isbn != "")

{

cmdString = "select * from Carte_tbl where An_Aparitie_Carte =" + "'" + anAparitie + "'" + " and Limba_Carte =" + "'" + limba + "'" + " and ISBN =" + "'" + isbn + "'";

}

else if (titlu != "" && anAparitie != "" && limba != "" && observatii != "" && isbn == "")

{

cmdString = "select * from Carte_tbl where Titlu_Carte =" + "'" + titlu + "'" + " and Limba_Carte =" + "'" + limba + "'" + " and An_Aparitie_Carte =" + "'" + anAparitie + "'" + " and Observatii_Carte =" + "'" + observatii + "'";

}

else if (titlu != "" && anAparitie != "" && limba != "" && observatii == "" && isbn != "")

{

cmdString = "select * from Carte_tbl where Titlu_Carte =" + "'" + titlu + "'" + " and Limba_Carte =" + "'" + limba + "'" + " and An_Aparitie_Carte =" + "'" + anAparitie + "'" + " and ISBN =" + "'" + isbn + "'";

}

if (cuvantcheie1 == "" && cuvantcheie2 == "" && cuvantcheie3 == "" && cuvantcheie4 == "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl;";

}

else if (cuvantcheie1 != "" && cuvantcheie2 == "" && cuvantcheie3 == "" && cuvantcheie4 == "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie1 =" + "'" + cuvantcheie1 + "'";

}

else if (cuvantcheie1 == "" && cuvantcheie2 != "" && cuvantcheie3 == "" && cuvantcheie4 == "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie2 =" + "'" + cuvantcheie2 + "'";

}

else if (cuvantcheie1 == "" && cuvantcheie2 == "" && cuvantcheie3 != "" && cuvantcheie4 == "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie3 =" + "'" + cuvantcheie3 + "'";

}

else if (cuvantcheie1 == "" && cuvantcheie2 == "" && cuvantcheie3 == "" && cuvantcheie4 != "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie4 =" + "'" + cuvantcheie4 + "'";

}

else if (cuvantcheie1 == "" && cuvantcheie2 == "" && cuvantcheie3 == "" && cuvantcheie4 == "" && cuvantcheie5 != "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie5 =" + "'" + cuvantcheie5 + "'";

}

else if (cuvantcheie1 != "" && cuvantcheie2 != "" && cuvantcheie3 == "" && cuvantcheie4 == "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie1 =" + "'" + cuvantcheie1 + "'" + " and Cuvant_Cheie2 =" + "'" + cuvantcheie2 + "'";

}

else if (cuvantcheie1 != "" && cuvantcheie2 == "" && cuvantcheie3 != "" && cuvantcheie4 == "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie1 =" + "'" + cuvantcheie1 + "'" + " and Cuvant_Cheie3 =" + "'" + cuvantcheie3 + "'";

}

else if (cuvantcheie1 != "" && cuvantcheie2 == "" && cuvantcheie3 == "" && cuvantcheie4 != "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie1 =" + "'" + cuvantcheie1 + "'" + " and Cuvant_Cheie4 =" + "'" + cuvantcheie4 + "'";

}

else if (cuvantcheie1 != "" && cuvantcheie2 == "" && cuvantcheie3 == "" && cuvantcheie4 == "" && cuvantcheie5 != "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie1 =" + "'" + cuvantcheie1 + "'" + " and Cuvant_Cheie5 =" + "'" + cuvantcheie5 + "'";

}

else if (cuvantcheie1 == "" && cuvantcheie2 != "" && cuvantcheie3 != "" && cuvantcheie4 == "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie2 =" + "'" + cuvantcheie2 + "'" + " and Cuvant_Cheie3 =" + "'" + cuvantcheie3 + "'";

}

else if (cuvantcheie1 == "" && cuvantcheie2 != "" && cuvantcheie3 == "" && cuvantcheie4 != "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie2 =" + "'" + cuvantcheie2 + "'" + " and Cuvant_Cheie4 =" + "'" + cuvantcheie4 + "'";

}

else if (cuvantcheie1 == "" && cuvantcheie2 != "" && cuvantcheie3 == "" && cuvantcheie4 == "" && cuvantcheie5 != "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie2 =" + "'" + cuvantcheie2 + "'" + " and Cuvant_Cheie5 =" + "'" + cuvantcheie5 + "'";

}

else if (cuvantcheie1 == "" && cuvantcheie2 == "" && cuvantcheie3 != "" && cuvantcheie4 != "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie3 =" + "'" + cuvantcheie3 + "'" + " and Cuvant_Cheie4 =" + "'" + cuvantcheie4 + "'";

}

else if (cuvantcheie1 == "" && cuvantcheie2 == "" && cuvantcheie3 != "" && cuvantcheie4 == "" && cuvantcheie5 != "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie3 =" + "'" + cuvantcheie3 + "'" + " and Cuvant_Cheie5 =" + "'" + cuvantcheie5 + "'";

}

else if (cuvantcheie1 == "" && cuvantcheie2 == "" && cuvantcheie3 == "" && cuvantcheie4 != "" && cuvantcheie5 != "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie4 =" + "'" + cuvantcheie4 + "'" + " and Cuvant_Cheie5 =" + "'" + cuvantcheie5 + "'";

}

else if (cuvantcheie1 != "" && cuvantcheie2 != "" && cuvantcheie3 != "" && cuvantcheie4 == "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie1 =" + "'" + cuvantcheie1 + "'" + " and Cuvant_Cheie2 =" + "'" + cuvantcheie2 + "'" + " and Cuvant_Cheie3 =" + "'" + cuvantcheie3 + "'";

}

else if (cuvantcheie1 != "" && cuvantcheie2 != "" && cuvantcheie3 == "" && cuvantcheie4 != "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie1 =" + "'" + cuvantcheie1 + "'" + " and Cuvant_Cheie2 =" + "'" + cuvantcheie2 + "'" + " and Cuvant_Cheie4 =" + "'" + cuvantcheie4 + "'";

}

else if (cuvantcheie1 != "" && cuvantcheie2 != "" && cuvantcheie3 == "" && cuvantcheie4 == "" && cuvantcheie5 != "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie1 =" + "'" + cuvantcheie1 + "'" + " and Cuvant_Cheie2 =" + "'" + cuvantcheie2 + "'" + " and Cuvant_Cheie5 =" + "'" + cuvantcheie5 + "'";

}

else if (cuvantcheie1 == "" && cuvantcheie2 != "" && cuvantcheie3 != "" && cuvantcheie4 != "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie2 =" + "'" + cuvantcheie2 + "'" + " and Cuvant_Cheie3 =" + "'" + cuvantcheie3 + "'" + " and Cuvant_Cheie4 =" + "'" + cuvantcheie4 + "'";

}

else if (cuvantcheie1 == "" && cuvantcheie2 != "" && cuvantcheie3 != "" && cuvantcheie4 == "" && cuvantcheie5 != "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie2 =" + "'" + cuvantcheie2 + "'" + " and Cuvant_Cheie3 =" + "'" + cuvantcheie3 + "'" + " and Cuvant_Cheie5 =" + "'" + cuvantcheie5 + "'";

}

else if (cuvantcheie1 != "" && cuvantcheie2 != "" && cuvantcheie3 != "" && cuvantcheie4 != "" && cuvantcheie5 == "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie1 =" + "'" + cuvantcheie1 + "'" + " and Cuvant_Cheie2 =" + "'" + cuvantcheie2 + "'" + " and Cuvant_Cheie3 =" + "'" + cuvantcheie3 + "'" + " and Cuvant_Cheie4 =" + "'" + cuvantcheie4 + "'";

}

else if (cuvantcheie1 != "" && cuvantcheie2 != "" && cuvantcheie3 != "" && cuvantcheie4 == "" && cuvantcheie5 != "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie1 =" + "'" + cuvantcheie1 + "'" + " and Cuvant_Cheie2 =" + "'" + cuvantcheie2 + "'" + " and Cuvant_Cheie3 =" + "'" + cuvantcheie3 + "'" + " and Cuvant_Cheie5 =" + "'" + cuvantcheie5 + "'";

}

else if (cuvantcheie1 == "" && cuvantcheie2 != "" && cuvantcheie3 != "" && cuvantcheie4 != "" && cuvantcheie5 != "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie1 =" + "'" + cuvantcheie2 + "'" + " and Cuvant_Cheie3 =" + "'" + cuvantcheie3 + "'" + " and Cuvant_Cheie4 =" + "'" + cuvantcheie4 + "'" + " and Cuvant_Cheie5 =" + "'" + cuvantcheie5 + "'";

}

else if (cuvantcheie1 != "" && cuvantcheie2 != "" && cuvantcheie3 != "" && cuvantcheie4 != "" && cuvantcheie5 != "")

{

cmdString = "select * from Carte_tbl where Cuvant_Cheie1 =" + "'" + cuvantcheie1 + "'" + " and Cuvant_Cheie2 =" + "'" + cuvantcheie2 + "'" + " and Cuvant_Cheie3 =" + "'" + cuvantcheie3 + "'" + " and Cuvant_Cheie4 =" + "'" + cuvantcheie4 + "'" + " and Cuvant_Cheie5 =" + "'" + cuvantcheie5 + "'";

}

#endregion

try

{

conn.Open();

SqlCommand cmd = new SqlCommand(cmdString, conn);

SqlDataAdapter dap = new SqlDataAdapter(cmdString, conn);

DataTable dat = new DataTable();

dap.Fill(dat);

foreach (DataRow row in dat.Rows)

{

rez_cautare.Add(row["ISBN"].ToString());

rez_cautare.Add(row["Titlu_Carte"].ToString());

rez_cautare.Add(row["An_Aparitie_Carte"].ToString());

rez_cautare.Add(row["Volum_Carte"].ToString());

rez_cautare.Add(row["Limba_Carte"].ToString());

rez_cautare.Add(row["Editie_Carte"].ToString());

rez_cautare.Add(row["Observatii_Carte"].ToString());

rez_cautare.Add(row["Cuvant_Cheie1"].ToString());

rez_cautare.Add(row["Cuvant_Cheie2"].ToString());

rez_cautare.Add(row["Cuvant_Cheie3"].ToString());

rez_cautare.Add(row["Cuvant_Cheie4"].ToString());

rez_cautare.Add(row["Cuvant_Cheie5"].ToString());

}

if (dat.Rows.Count == 0)

{

rez_cautare.Add("Cartea nu a fost gasita");

}

}

catch (Exception e)

{

Debug.WriteLine(e);

}

finally

{

conn.Close();

}

return rez_cautare;

}

[WebMethod]

public string VerificaImprumut(string data)

{

string rezultat = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "select Data_Returnare,Nume_Utilizator,Titlu_Carte from Imprumuta_tbl,Utilizator_tbl,Carte_tbl where Imprumuta_tbl.ID_Utilizator=Utilizator_tbl.ID_Utilizator and Imprumuta_tbl.ID_Carte=Carte_tbl.ID_Carte and Data_Returnare=" + "'" + data + "'";

try

{

conn.Open();

SqlCommand cmd = new SqlCommand(cmdString, conn);

SqlDataAdapter dap = new SqlDataAdapter(cmdString, conn);

DataTable dat = new DataTable();

dap.Fill(dat);

foreach (DataRow row in dat.Rows)

{

rezultat += row["Titlu_Carte"].ToString();

rezultat += ",";

rezultat += row["Nume_Utilizator"].ToString();

rezultat += ",";

rezultat += row["Data_Returnare"].ToString();

rezultat += ",";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

rezultat = "Eroare la cautare!!!";

}

finally

{

conn.Close();

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return rezultat;

}

[WebMethod]

public string StergeCarte(string titlu, string id)

{

string result = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "";

if (titlu != "" && id == "")

{

try

{

SqlCommand sqlCommand = new SqlCommand();

conn.Open();

sqlCommand.CommandText = "delete from Carte_tbl where Titlu_Carte =" + "'" + titlu + "'";

sqlCommand.Connection = conn;

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Stergerea cartii a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Stergerea nu a fost facuta";

}

}

else if (titlu == "" && id != "")

{

try

{

int dd;

dd = Convert.ToInt16(id);

SqlCommand sqlCommand = new SqlCommand();

conn.Open();

sqlCommand.CommandText = "delete from Carte_tbl where ID_Carte =" + "'" + id + "'";

sqlCommand.Connection = conn;

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Stergerea cartii a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Stergerea nu a fost facuta";

}

}

else if (titlu != "" && id != "")

{

try

{

SqlCommand sqlCommand = new SqlCommand();

conn.Open();

sqlCommand.CommandText = "delete from Carte_tbl where Titlu_Carte =" + "'" + titlu + "'" + "and ID_Carte =" + "'" + id + "'";

sqlCommand.Connection = conn;

sqlCommand.ExecuteNonQuery();

conn.Close();

result = "Stergerea cartii a fost facuta cu succes!";

}

catch (Exception ex)

{

Debug.WriteLine(ex);

result = "Stergerea nu a fost facuta";

}

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

/* [WebMethod]

public string Raport(string titlu, string dataimp, string dataret)

{

string result = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

SqlCommand sqlCommand = new SqlCommand();

conn.Open();

sqlCommand = new SqlCommand();

sqlCommand.Connection = conn;

sqlCommand.CommandType = System.Data.CommandType.StoredProcedure;

sqlCommand.CommandText = "procedure1";

sqlCommand.Parameters.AddWithValue("@titlu", titlu);

sqlCommand.Parameters.AddWithValue("@dataimp", dataimp);

sqlCommand.Parameters.AddWithValue("@dataret", dataret);

//sqlCommand.Parameters.AddWithValue("@page", age);

try

{

sqlCommand.ExecuteNonQuery();

return "Raport Generat!";

}

catch (Exception)

{

return "Raportul nu a fost generat!";

}

finally

{

conn.Close();

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return result;

}

*/

[WebMethod]

public string Report(string data)

{

string rezultat = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "select Titlu_Carte,Nume_Editura,Nume_Utilizator,Prenume_Utilizator,Data_Imprumut,Data_Returnare from Carte_tbl,Imprumuta_tbl,Utilizator_tbl,Editura_tbl,Editie_tbl where Imprumuta_tbl.ID_Carte=Carte_tbl.ID_Carte and Imprumuta_tbl.ID_Utilizator=Utilizator_tbl.ID_Utilizator and Editie_tbl.ID_Carte=Carte_tbl.ID_Carte and Editie_tbl.ID_Editura=Editura_tbl.ID_Editura and Data_Returnare=" + "'" + data + "'";

try

{

conn.Open();

SqlCommand cmd = new SqlCommand(cmdString, conn);

SqlDataAdapter dap = new SqlDataAdapter(cmdString, conn);

DataTable dat = new DataTable();

dap.Fill(dat);

foreach (DataRow row in dat.Rows)

{

rezultat += row["Titlu_Carte"].ToString();

rezultat += ",";

rezultat += row["Nume_Editura"].ToString();

rezultat += ",";

rezultat += row["Nume_Utilizator"].ToString();

rezultat += ",";

rezultat += row["Prenume_Utilizator"].ToString();

rezultat += ",";

rezultat += row["Data_Imprumut"].ToString();

rezultat += ",";

rezultat += row["Data_Returnare"].ToString();

rezultat += ",";

rezultat += "\n";

}

if (rezultat == "" || rezultat == null)

{

rezultat = "Nu exista date ";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

rezultat = "Raportul nu a fost generat!!!";

}

finally

{

conn.Close();

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return rezultat;

}

[WebMethod]

public string ViewBooks(string isbn, string titlu, string volum,string an, string limba)

{

string rezultat = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "select ISBN,Titlu_Carte,Volum_Carte,An_Aparitie_Carte,Limba_Carte from Carte_tbl";

try

{

conn.Open();

SqlCommand cmd = new SqlCommand(cmdString, conn);

SqlDataAdapter dap = new SqlDataAdapter(cmdString, conn);

DataTable dat = new DataTable();

dap.Fill(dat);

foreach (DataRow row in dat.Rows)

{

//rezultat += "First book:";

rezultat += row["ISBN"].ToString();

rezultat += ",";

rezultat += row["Titlu_Carte"].ToString();

rezultat += ",";

rezultat += row["Volum_Carte"].ToString();

rezultat += ",";

rezultat += row["An_Aparitie_Carte"].ToString();

rezultat += ",";

rezultat += row["Limba_Carte"].ToString();

rezultat += ",";

rezultat += "\n";

rezultat += "Next book:";

}

if (rezultat == "" || rezultat == null)

{

rezultat = "Nu exista date ";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

rezultat = "Cartea nu a fost gasita!!!";

}

finally

{

conn.Close();

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return rezultat;

}

[WebMethod]

public string ViewUsers(string nume,string prenume,string email)

{

string rezultat = "";

try

{

string conStr = "server=localhost;database=biblioteca;Integrated Security = true;";

SqlConnection conn = new SqlConnection(conStr);

string cmdString = "select Nume_Utilizator,Prenume_Utilizator,Email_Utilizator from Utilizator_tbl";

try

{

conn.Open();

SqlCommand cmd = new SqlCommand(cmdString, conn);

SqlDataAdapter dap = new SqlDataAdapter(cmdString, conn);

DataTable dat = new DataTable();

dap.Fill(dat);

foreach (DataRow row in dat.Rows)

{

//rezultat += "First book:";

rezultat += row["Nume_Utilizator"].ToString();

rezultat += ",";

rezultat += row["Prenume_Utilizator"].ToString();

rezultat += ",";

rezultat += row["Email_Utilizator"].ToString();

rezultat += ",";

rezultat += "\n";

rezultat += "Next user:";

}

if (rezultat == "" || rezultat == null)

{

rezultat = "Nu exista date ";

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

rezultat = "Utilizatorul nu a fost gasit!!!";

}

finally

{

conn.Close();

}

}

catch (Exception ex)

{

Debug.WriteLine(ex);

}

return rezultat;

}

}

}

Structura Serviciului WEB

V.Descrierea aplicatiei

5.1.Meniu

Meniul aplicatiei este destul de simplu.Atunci cand deschidem aplicatia se va afisa pe ecranul dispozitivului mobil o fereastra care contine urmatoarele butoane:Insert,Delete,View,Search si Exit.

Butonul de insert contine toate operatiile de insertie care se pot face in aceasta aplicatie si anume:Insert address,insert articol,insert autor,insert carte,insert contact,insert continut,insert editie,insert editura,insert imprumut,insert locatie,insert revista,insert scriitor,insert telefon,insert user si exit.

Butonul Delete contine o singura operatie si anume Delete book.Pe langa acest buton mai asim un buton Back care ne permite sa revenim la meniul anterior.

Butonul de View permite efectuarea a trei operatii.Operatia de vizualizare a imprumuturilor , View Imprumut,operatia de vizualizare a cartilor detinute de utilizator,View Books,si operatia de vizualizarea a persoanelor care au imprumutat carti de la posesor,View User.Pe langa aceste functionalitati mai gasim un buton Back,care ne permite sa revenim la meniul anterior.

Butonul Search ne permite sa efectuam operatie de cautare a unei carti.In cazul in care o anumita persoana doreste sa afle daca detinem o anumita carte,o simpla apasare a butonului Search Book ne permite efectuarea unei cautari in baza de date.Butonul Back ne permite revenirea la meniul anterior.

Ultimul Buton din meniu,Exit,ne permite,dupa cum spune si numele,sa iesim din aplicatie.

5.2 Diagrame de clase

O clasă reprezintă descrierea unui grup de obiecte care au:

proprietăți (atribute),

comportament,

relații cu alte obiecte,

semantic

În UML clasele sunt reprezentate sub formă de dreptunghiuri cu trei compartimente pentru:

numele clasei,

compartimentul din mijloc afișează atributele clasei,

compartimentul inferior conține operațiile clasei

Class diagram este un tip de diagramă utilizată pentru descrierea structurii statice, adică a entităților sau claselor existente într-un sistem.

utilizat de către dezvoltatori pentru specificarea claselor dar poate fi foarte util și pentru specificarea structurii unor sisteme sau subsistem dintr-un business real.

arata relatiile dintre clase de tipul: mostenire, agregare si asociere, precum si operatiile si atributele aferente fiecareia.

Clasa are instanțe, sau realizări. Aceste instanțe sunt obiectele clasei. Prin conceptul de clasă se descriu structura și comportarea obiectelor clasei. Structura conține atributele fiecărui obiect din clasă.

În reprezentarea clasei atributele și operațiile sunt declarate în compartimentele speciale:

atributele: numele atributului: tipul atributului = valoare implicită

operațiile: numele operației (parametri): tipul valorii returnate

5.3 Descrierea detaliata a claselor

VI.Testare

Testarea software reprezintă o investigație empirică realizată cu scopul de a oferi părților interesate informații referitoare la calitatea produsului sau serviciului supus testării, luând în considerație contextul operațional în care acesta din urma va fi folosit. Testarea software pune la dispoziție o viziune obiectivă și independentă asupra produsului în dezvoltare, oferind astfel businessului posibilitatea de a înțelege și evalua riscurile asociate cu implementarea produsului soft. Tehnicile de testare includ, dar nu sunt limitate la, procesul de execuție a programului sau aplicației în scopul identificării defectelor/erorilor de software. Testarea software mai poate fi definită ca un proces de validare și verificare a faptului că un program/aplicație/produs software:

corespunde business cerințelor și cerințelor tehnice care au ghidat proiectarea și implementarea lui;

rulează și se comportă corespunzător așteptărilor.

Bibliografie

http://www.cs.ubbcluj.ro/~tzutzu/Didactic/AnalizaGestSisteme/Curs%2004%20-%20Diagrama%20de%20clase.pdf (31.05.2015)

http://ro.wikipedia.org/wiki/Testarea_software (02.06.2015)

LISTA FIGURILOR

Figura 1. Selectarea prin click dreapta a opțiunii „Update field” 5

Figura 2. Actualizarea întregului tabel 5

LISTA TABELELOR

Tabelul 1. Nume de utilizatori și valorile rezumat ale parolelor acestora 5

Introducere

Scopul

Primul capitol al lucrării este binențeles cel de introducere a cititorului în tema lucrării … De exemplu, acest document a fost creat cu scopul de a ajuta studenții Facultății de Automatică, Calculatoare și Electronică să își redacteze propria lucrare de licență. Acest șablon poate fi folosit de oricine respectând principiile declarate în secțiunea 2.

Motivația

Autorul justifică aici alegerea și interesul său pentru tema aleasă.

Convenții de redactare

În această secțiune sunt detaliate convențiile de urmat în timpul editării tezei.

Cerințe generale

Cerințele generale sunt preluate din [Olt07] (lucrare pe care o recomandăm călduros spre citire candidaților noștri, înainte de demararea redactării tezei): „responsabilitatea tezei este în întregime a candidatului, atât în ceea ce privește conținutul, cât și forma. Lucrarea trebuie să aibă o organizare clară și riguroasă, care să dovedească gândirea inginerească a candidatului. Ideile exprimate în lucrare trebuie să se înlănțuie conform unei logici clare. În acest sens, elementele de coerență și de coeziune a textului trebuie folosite în mod corect. Ideile se organizează în paragrafe, redactate cu indentație și fără spațiu între ele. Nu fraza creează paragraful, ci ideea!

Stilul este extrem de important („Stilul este veșmântul gândului,” spune Samuel Johnson). Lucrarea trebuie redactată într-un limbaj științific adecvat domeniului de cercetare abordat. Se vor evita particularitățile limbajului colocvial. Nu sunt admise greșeli gramaticale de redactare (acord, punctuație, lexic etc.). Lucrarea normativă ce va fi avută în vedere în această privință este Dicționarul ortografic, ortoepic și morfologic al limbii române [DOOM05].

Candidatul are obligația de a verifica dacă datele, termenii folosiți, numele proprii, citatele, titlurile (în limba română și în alte limbi) sunt corecte.

Candidatul trebuie să fie consecvent în exprimarea ideilor, în folosirea termenilor, a numelor proprii, a datelor, precum și a punctuației și a elementelor de structură a lucrării. Consecvența este necesară și în privința tipurilor de evidențieri grafice folosite (litere cursive, litere îngroșate sau sublinieri).

Termenii tehnici de origine străină neadaptați, consacrați de lucrările de specialitate, nu se traduc, dar, dacă folosiți o sursă bibliografică străină, puteți încerca traducerea unor termeni noi, cu condiția ca cei din limba de origine să fie prezenți alături. În ambele cazuri, se recomandă scrierea acestor termeni cu litere speciale (de regulă italice).

La cele menționate mai sus, adăugăm următoarea observație, care nu este deloc lipsită de importanță: notarea semnelor diacritice românești este obligatorie. Un text românesc în care ă se confundă cu a nu face o impresie bună, dă o notă de neglijență.”

Structura documentului

Lucrarea trebuie să conțină următoarele capitole:

Coperta tezei;

Pagina de titlu;

Declarația de originalitate (completată și semnată de către autor);

Formularul de înregistrare a enunțului temei lucrării (completat și semnat în solidar de către autor și coordonatorul științific);

Referatul coordonatorului științific (completat și semnat de coordonator);

Declarația de mulțumire a autorului (opțională);

Cuprinsul lucrării;

Lista figurilor;

Lista tabelelor;

Introducere;

Conținutul propriu-zis al lucrării (capitolele constituente);

Concluzii;

Bibliografia;

Referințele web;

Anexele (index, codul sursă, site-ul web al aplicației, etc.).

Dimensiunile lucrării

Nu pot fi acceptate lucrări cu un număr de pagini mai mic decât 50. Prin urmare se dau, cu titlu de recomandare, următoarele dimensiuni:

50 – 80 de pagini pentru o lucrare de licență;

60 – 100 de pagini pentru o lucrare de disertație.

În altă ordine de idei, recomandăm următoarea distribuție a paginilor pe diversele secțiuni/capitole [Olt07]:

Introducerea reprezintă cca. 10 – 15% din lucrare;

Conținutul reprezintă cca. 75 – 80% din lucrare;

Concluziile reprezintă cca. 10%.

Elemente de tehnoredactare

Pe scurt:

dimensiunea paginilor va fi A4, 21 x 29,7 cm;

marginile recomandate sunt: sus/jos/stânga/dreapta – 2,54 cm;

fontul recomandat este Times New Roman;

corpul literelor va avea dimensiunea de 11 puncte;

spațiul dintre rânduri va avea dimensiunea de 1 rând și jumătate (1,5);

indentarea unui paragraf se va face cu 1,27 cm;

textul paragrafelor trebuie să fie aliniat în mod echilibrat stânga-dreapta (în eng. – justify);

paginile trebuie să fie numerotate conform acestui șablon.

Formulele matematice

Pentru redactarea formulelor matematice recomandăm utilizarea instrumentului Microsoft Equation Editor și importul lor (o data terminate) în Microsoft Word.

Ilustrațiile

Figurile

Partea grafică a lucrării are o pondere semnificativă în nota finală acordată lucrării candidatului. Se recomandă prin urmare acordarea unei atenții sporite tehnoredactării figurilor.

Actualizarea Listei Figurilor este obligatorie (procedura este similară cu cea exemplificată în secțiunea 2.5.2).

Tabelele

Exemplificăm aici utilizarea tabelor. Pentru fiecare tabelă adăugată lucrării, autorul trebuie să prevadă și adăugarea unei legende (în eng., Caption). La final, este recomandată actualizarea listei figurilor. Pașii necesari pentru actualizarea listei tabelelor sunt:

Click dreapta pe Lista Tabelelor. Va apărea un meniu similar cu cel din Figura 1.

Figura . Selectarea prin click dreapta a opțiunii „Update field”

Selectarea opțiunii „Update entire table” conform cu Figura 2.

Figura . Actualizarea întregului tabel

Verificarea fontului folosit pentru conținutul propriu-zis al Listei Tabelelor și alegerea fontului Times New Roman în caz de incongruență.

Tabelul . Nume de utilizatori și valorile rezumat ale parolelor acestora

În interiorul lucrării, tabelul poate fi citat folosind eticheta și numărul de ordine ale sale precum în exemplul acesta (vezi Tabelul 1).

Legenda (unei figuri/tabele)

În cele doua secțiuni de mai sus s-au demonstrat două modele de legende atașate fiecărei tabele sau figuri. Microsoft Word permite modificarea, respectiv adăugarea de etichete noi corespunzătoare unui anumit tip de legendă.

Termeni de utilizare

Autorii

Acest șablon de document a fost creat de colectivul Facultății de Automatică, Calculatoare și Electronică pentru uniformizarea lucrărilor de licență ale studenților săi.

Licența de utilizare

Nu există restricții de utilizare. Documentul nu este constrâns de nicio licență.

Concluzii

Autorul prezintă concluziile sale…

Bibliografie

Bibliografia va fi ordonată alfabetic dupa eticheta fiecărei element (de ex. DOOM05 în lista de mai jos este o etichetă). Etichetele materialelor consultate vor fi formatate folosind:

primele litere ale primului autor urmate de cele două cifre semnificative ale anului apariției materialului, sau

dintr-un acronim popular al lucrării respective, urmat din nou de cele două cifre semnificative ale anului apariției.

[DOOM05] – Dicționarul ortografic, ortoepic și morfologic al limbii române, Editura Univers Enciclopedic, București, 2005

Referințe web

Recomandăm și aici respectarea regulilor enunțate pentru secțiunea 5.

[Alm08] – Pedro de Almeida, Patrik Fuhrer, Documentation Guidelines for Diploma and Master Thesis, Universitatea din Fribourg, Elveția, 2008, disponibil on-line la adresa http://diuf.unifr.ch/drupal/softeng/teaching/guidelines

[Olt07] – Th. Olteanu, C. Albu, Ghid pentru redactarea lucrării de diplomă sau a disertației de masterat, Universitatea Română de Arte și Științe „Gheorghe Cristea”, 2007, disponibil via web la adresa http://www.ugc.ro/tpl/GHID REDACTARE DIPLOMA LICENTA.pdf

Codul sursă

În această anexă se adaugă codul sursă al aplicației…

Site-ul web al proiectului

Autorul prezintă în această anexă (opțională) site-ul web asociat proiectului său.

CD / DVD

Autorul atașează în această anexă obligatorie, versiunea electronică a aplicației, a acestei lucrări, precum și prezentarea finală a tezei.

Index

B

Bibliografie 9

C

CUPRINSUL xi

D

Dimensiuni 3

F

Figuri 4

Formulele matematice 4

I

Ilustrațiile 4

L

Legenda 6

LISTA FIGURILOR xii

LISTA TABELELOR xiii

R

Referințe web 10

S

Structura documentului 2

T

Tabele 5

Bibliografie

Bibliografia va fi ordonată alfabetic dupa eticheta fiecărei element (de ex. DOOM05 în lista de mai jos este o etichetă). Etichetele materialelor consultate vor fi formatate folosind:

primele litere ale primului autor urmate de cele două cifre semnificative ale anului apariției materialului, sau

dintr-un acronim popular al lucrării respective, urmat din nou de cele două cifre semnificative ale anului apariției.

[DOOM05] – Dicționarul ortografic, ortoepic și morfologic al limbii române, Editura Univers Enciclopedic, București, 2005

Similar Posts