Sunteți pe pagina 1din 54

Ministerul Educatie al Republicii Moldova

Centru de Excelență în Informatică și Tehnologii Informaționale

Catedra de Informatica Aplicata

pentru practica tehnologica

Tema: Evidența produselor în cadrul companiei FilmStudio Production

Realizat:Florea Cristina

Verificat:Jumbei Olga

Chișinău 2016
Cuprins
Introducere............................................................................................................................................2

1.Proiectarea bazei de date....................................................................................................................3

1.1.Crearea modelului obiect.............................................................................................................3

1.2.Crearea și descrierea modelului relațional...................................................................................4

1.3.Normalizarea și crearea bazei de date.........................................................................................5

1.4.Descrierea fizică a modelului......................................................................................................6

1.5.Tranzacții principale ale sistemului.............................................................................................7

2.Protecția bazei de date........................................................................................................................8

3.Elaborarea proiectului......................................................................................................................11

3.1.Descrierea informației de intrare...............................................................................................11

3.2.Descrierea datelor de ieșire........................................................................................................12

3.2.1.Interogări.............................................................................................................................12

3.2.2.Rapoarte..............................................................................................................................23

4.Descrierea interfeței.........................................................................................................................30

4.1.Autentificarea............................................................................................................................30

4.2.Înregistrarea...............................................................................................................................32

4.3.Meniul administratorului...........................................................................................................33

4.4.Meniul utilizatorului..................................................................................................................36

5.Ghid de utilizare a aplicației.............................................................................................................41

Concluzii.............................................................................................................................................42

Bibliografie.........................................................................................................................................43

Anexe..................................................................................................................................................44
Introducere
Arta cinematografică,sau altfel cunoscută ca cea dea șaptea artă a aparut pentru prima oară în
Franța,spre sfirșitul secolului XIX.Abia atunci au apărut pentru prima oară noțiunea de film și de
cinematografie.Mult timp,filmul și procesul de filmare a fost considerat doar un amuzament,și era
tratat cu dispreț de oamenii serioși.Cu trecerea timpului,această industrie a început să aducă venit,și
la scurt timp ea s-a răspindit prin toata lumea.

În ultimii 20 de ani,industria cinematografică s-a dezvoltat foarte mult,astfel încât ea a devenit una
din cea mai bogată industrie,veniturile căruia poate ajunge la milioane și chiar
miliarde.Astfel,vizionarea filmelor a devenit pasiunea a multor oamenii.

Am elaborat o aplicație destinată pentru oferirea informațiilor generale despre filme și despre
companiile ce au produs aceste filme-FilmStudio Production.De asemenea,utilizatorii vor avea
posibilitatea de cauta filmul dorit după denumirea de filme,după gen,tară sau anul producerii.

FilmStudio oferă utilizatorilor posibilitatea de a se înregistra și de a găsi informații suplimentare


despre filme.Desigur,utilizatorii vor avea posibilitate de a-și modifica unele date,spre
exemplu:numărul de telefon,email-ul,etc.

Aplicatia dată este elaborată in Microsoft Visual Studio Express 2013 cu ajutorul platformei
Framework .NET 4.5
1.Proiectarea bazei de date
Sistemele de gestiune a bazelor de reprezintă totalitatea programelor utilizate pentru crearea,
interogarea și întreținerea unei baze de date. Include două categorii de module: module care sunt
comune cu cele ale sistemelor de operare ale calculatoarelor și module cu funcții specifice bazei de
date. Subsistemele monitor conțin programele de control al perifericelor și sistemul de gestiune a
fișierelor. Subsistemele externe sunt alcătuite din procesorul de definiție și programul de
administrare.

1.1.Crearea modelului obiect


1 Participă la M
Actori Filmări
M

au loc

1
M au loc 1
Vanzări Filme

filmează

Companii
1.2.Crearea și descriere modelului relațional
1.3.Normalizarea și crearea bazei de date
Când proiectăm o bază de date, dorinţa noastră este de a reprezenta cât mai corecte informaţiile şi să
diminuăm cât mai mult posibilitatea de a ajunge la informaţii eronate (dacă nu putem elimina de tot
acest neajuns). Pentru a ajunge la această performanţă, trebuie să folosim normalizarea.

Normalizarea presupune urmarea unor reguli prin care baza de date se poate normaliza până la un
anumit grad. Dacă o cerinţă nu este satisfăcută, relaţia trebuie dezcompusă în mai multe relaţii, care
individual satisfac cerinţele formei normale.Normalizarea se execută trecând prin toate formele
normale, până la forma normală cerută. La proiectarea unei baze de date trebuie să ajungem cel puţin
la forma normală unu, dar ca să evităm toate anomaliile descrise mai înainte, este recomandat
aducerea bazei de date la BCNF.

1. Prima formă normală


Prima formă normală presupune că există o singură valoare la fiecare intersecție dintre un rând și o
coloană din tabel, și niciodată o listă de valori. O entitate se găseşte în prima formă normală dacă şi
numai dacă:
- nu există atribute cu valori multiple;
-nu există atribute sau grupuri de atribute care se repetă.
Cu alte cuvinte toate atributele trebuie să fie atomice, adică să conţină o singură informaţie.
2. A doua formă normală
A doua formă normală necesită ca fiecare coloană care nu este cheie să depindă complet de cheia
primară, nu doar de o parte a cheii. Această regulă se aplică când se utilizează o cheie primară care
conține mai multe coloane. O entitate se găsește în a doua formă normală dacă și numai dacă se
găsește în prima formă normală şi în plus orice atribut care nu face parte din UID (unique identifier)
va depinde de întregul UID nu doar de o parte a acestuia.

Observație. Dacă o entitate se găsește în prima formă normală și UID-ul său este format dintr-un
singur atribut atunci ea se găseşte automat în a doua formă normală.
3. A treia formă normală
A treia formă normală necesită ca fiecare coloană care nu este cheie să depindă de întreaga cheie
primară, dar și ca toate coloanele care nu sunt chei să fie reciproc independente.

Un alt mod de a spune aste este că fiecare coloană care nu este cheie trebuie să depindă de întreaga
cheie primară și numai de cheia primară

1.4.Descrierea fizică a modelului


Companii
Nr. Numele câmpului Tipul de date Descrierea
ord

1 Idcomp Int Codul companiei producătoare de filme

2 denumire char(100) Denumirea companiei

3 Tara char(100) Tară companiei

Filme
Nr. Numele câmpului Tipul de date Descriere
ord

1 idfilm Int Codul filmului

2 idcomp Int Codul companiei ce a produs acest film

3 den_film char(255) Denumirea filmului

4 gen char(100) Genul filmului

5 tara_film char(100) Tară filmului

6 buget Float Bugetul filmului

7 data_lansare Date Data lansării filmului

Actori
Nr. Numele câmpului Tipul de date Descriere
ord

1 idactor Int Codul actorului

2 nume char(50) Numele actorului

3 prenume char(50) Prenume actorului


4 sex char(1) Sexul actorului

5 data_nast Date Data nașterii a actorului

Filmări
Nr. Numele câmpului Tipul de date Descriere
ord

1 idfilm Int Codul filmului

2 idactor Int Codul actorului

Vânzări
Nr. Numele campului Tipul de date Descriere
ord

1 idvanzare Int Codul vânzărilor

2 idfilm Int Codul filmului vândut

3 incasare Floar Încasarea/Prețul cu care a fost vândut


filmul

4 rating Floar Rating-ul filmului

1.5.Tranzacții principale ale sistemului

Asupra datelor din baza de date se vor putea efectua următoarele seturi de operații:

-Interogări(SELECT este comanda cea mai utilizată, este folosită pentru obtinerea datelor din bazele
de date.)Interogările pot fi de selecție, excludere, modificare, obținere a unor totaluri, medii,
interogări încrucișate.

-Comenzile ale limbajului de manipulare a datelor.INSERT, UPDATE, DELETE aceste trei


comenzi sunt utilizate pentru a introduce noi rînduri,pentru a schimba rîndurile existente si ștergerea
rîndurilor nedorite din tabelele bazelor de date respective.
-Comenzile ale limbajului de definire a datelor. CREATE, ALTER, DROP aceste trei comenzi sunt
utilizate dinamic pentru a crea, utiliza și șterge orice structura de date, de exemplu, tabele, expuneri,
indecsi.

-Rapoartele,adică documente de ieșire pentru sintetizarea și prezentarea datelor din tabele sau
grafice. Un raport răspunde de obicei unei anumite întrebări, cum ar fi „Câte filme au fost lansate în
anu l2015?” sau „Care sunt top 10 cele mai scumpe filme?”. Fiecare raport poate fi formatat pentru a
prezenta informațiile în cel mai vizibil mod posibil, precum și printarea lor.

2.Protectia bazei de date

Prin securitatea bazelor de date se înțelege protejarea bazelor de date împotriva folosirii neautorizate
a lor și în special a modificărilor și distrugerilor nedorite de date și a citirilor nepermise de date.
Pentru realizarea securitătii datelor din baza de date se utilizeaza controale tehnice și administrative.

Diferitele protecții pot fi indicate prin intermediul limbajului de prelucrare a datelor. Porțiunile din
baza de date ce pot fi folosite de utilizator pot fi definite prin operații de selecție și proiecție care fac
invizibile alte porțiuni ale bazei de date. Conducerea organizației, care este proprietara bazei de date,
trebuie să ia măsuri de securitate care reduc riscul de a se pierde informații sau de a se distruge
informații. Prin pierdere de informații se poate înțelege că se pierde caracterul privat al
informațiilor, ele devin accesibile unui grup mai mare de persoane decât cel prevăzut. Nu
întotdeauna "scurgerile" de informatii lasă urme, deci nu se materializează întotdeauna în schimbări
detectabile la nivelul bazei de date.

Problema securității cuprinde aspecte legale, sociale și etice, aspecte privind controlul fizic (pază și
posibilități de blocarea accesului la terminale), aspecte de politie (fixarea condițiilor de acces),
aspecte operaționale (modul de stabilire a parolelor), aspecte privind controlul hard (modul de acces
hard la diferite componente), securitatea sistemului de operare (protejarea informațiilor și anularea
rezultatelor intermediare pentru ăastrarea secretului datelor) aspecte privind noțiunea de proprietate
asupra datelor din baza de date și altele asemănătoare.

Trebuie să menționăm aici că furturile și fraudele nu sunt neapărat legate de baza de date, ele sunt
un factor de risc pentru întreaga organizație, gravitatea acestor fapte depinzând și de profilul
organizatiei in cauză.
3.Elaborarea proiectului

3.1.Descrierea informatiei de intrare


Pentru a crea o baza de date utilizăm instrucțiunea CREATE DATABASE.Sintaxa este
următoarea:CREATE DATABASE DenBD ,unde DenBd reprezintă denumirea bazei de date.De
asemenea,elementul de baza a orice BD este tabelul.Tabelul conține date proprii și are o anumită
structură(câmpuri,tipuri de date,constrîngeri)

Pentru a crea tabele se utilizează instructiunea SQL CREATE TABLE,unde specificăm urmatoarele
informații:

 Numele noului tabel,indicat dupa cuvintul cheie CREATE TABLE


 Numele si tipurile coloanelor separate prin virgule
 Constringirile(la dorinta)

Cind creem un tabel ,numele tabelului specificat nu trebuie sa existe,astfel se genereaza o eroare.

Scenariu de creare a bazei de date se afla in Anexa Nr.1

Inserarea datelor se efectueaza cu instructiunea INSERT care este folosita pentru adăugarea de
înregistrări menţionându-se câmpurile şi valorile acestora. Se utilizează pentru operaţii simple, care
presupun lucrul cu un număr redus de înregistrări. Are sintaxa:

INSERT INTO nume_tabel (câmp1, câmp2...) VALUES (valoare1, valoare2...);

Reguli:

- valorile din clauza VALUES vor avea aceeaşi natură cu câmpurile din clauza INTO

- mărimea valorii va fi mai mica ca dimensiunea câmpului

-corespondenţă între câmp1 şi valoare1, etc.

- Dacă un câmp are specificaţia NOT NULL, este obligatorie introducerea unei valori pentru aceasta

Inserarea datelor in BD “Movies” vezi Anexa Nr.2

3.2.Descrierea datelor de iesire

3.2.1.Interogari
Instructiunea SELECT este cea mai des utilizate intructiunea SQL.Rolul acesteia consta in regasirea
informatiilor dintr-unul sau mai multe tabele.Pentru a utiliza instructiunea SELECT trebuie de
precizat:ce anume dorim sa selectam si locatia de unde selectam datele.
Exemple:

1.Interogarea care va afisa filmele din genul comedie din ultimii 5 ani.

SELECT den_film,tara_film,buget ,data_lansare FROM Filme


WHERE gen like '%Comedie%' and data_lansare>'01.01.2011'.

Setul dinamic:

2.Interogarea care va afisa filmele lansate in 2015

SELECT den_film,gen,tara_film,buget FROM Filme


WHERE data_lansare LIKE '%2015%'

Setul dinamic:

3.Interogarea care va afisa primele 5 companii cu cel mai mare venit

SELECT TOP 5 dbo.Companii.denumire, SUM(dbo.Vanzari.incasare) AS 'Venit filme'


FROM dbo.Companii INNER JOIN
dbo.Filme ON dbo.Companii.idcomp = dbo.Filme.idcomp INNER JOIN
dbo.Vanzari ON dbo.Filme.idfilm = dbo.Vanzari.idfilm
WHERE Vanzari.incasare>950000000
GROUP BY dbo.Companii.denumire

Setul dinamic:

4.Interogarea care va afisa lista companiilor de producere a filmelor ,tara carora nu este SUA

SELECT denumire FROM Companii


WHERE tara<>'SUA'

Setul dinamic:

5.Interogarea care va afisa lista actritelor nascute nu mai devreme de anul 1990
SELECT nume,prenume FROM Actori
WHERE sex='f' and data_nast>='01.01.1990'

Setul dinamic:

6.Interogarea care va afisa top 10 cele mai scumpe filme si incasarile lor

SELECT TOP 10 dbo.Companii.denumire, dbo.Filme.den_film, dbo.Filme.gen,


dbo.Vanzari.incasare
FROM dbo.Vanzari INNER JOIN
dbo.Filme ON dbo.Vanzari.idfilm = dbo.Filme.idfilm INNER JOIN
dbo.Companii ON dbo.Filme.idcomp = dbo.Companii.idcomp
WHERE (dbo.Vanzari.incasare > 600000000)
ORDER BY Vanzari.incasare desc

Setul dinamic:

7.Interogarea care va afisa top 10 cele mai bune filme.Se va extrage denumirea
filmului,genul,tara,bugetul,data lansarii si ratingul filmului.

SELECT TOP 10 dbo.Filme.den_film, dbo.Filme.gen, dbo.Filme.tara_film, dbo.Filme.buget,


dbo.Filme.data_lansare, dbo.Vanzari.rating
FROM dbo.Vanzari INNER JOIN
dbo.Filme ON dbo.Vanzari.idfilm = dbo.Filme.idfilm
WHERE (dbo.Vanzari.rating>7.5)

Setul dinamic:

8.Interogarea care va afisa lista filmelor produse in SUA si in alte tari,unde ratingul filmului este intre 5.0
si 5.5

SELECT dbo.Filme.den_film, dbo.Filme.gen, dbo.Vanzari.rating


FROM dbo.Filme INNER JOIN
dbo.Vanzari ON dbo.Filme.idfilm = dbo.Vanzari.idfilm
WHERE tara_film<>'SUA' and rating between 5.0 and 5.5

Setul dinamic:

9.Interogarea care va afisa lista actorilor care s-au filmat in cel putin 3 filme.Se va extrage
numele,prenumele sexul si data nasterii a actorului si se va aranja in ordine alfabetica

SELECT dbo.Actori.nume, dbo.Actori.prenume,dbo.Actori.sex,dbo.Actori.data_nast


FROM dbo.Actori INNER JOIN
dbo.Filmari ON dbo.Actori.idactor = dbo.Filmari.idactor INNER JOIN
dbo.Filme ON dbo.Filmari.idfilm = dbo.Filme.idfilm
GROUP BY Actori.nume,Actori.prenume,Actori.sex,Actori.data_nast
HAVING Count(Filmari.idactor)>=3
ORDER BY Actori.nume asc

Setul dinamic:
10.Interogarea care va afisa lista cu bugetul cel mai mare din ultimii 15 ani.

SELECT den_film, buget, data_lansare


FROM dbo.Filme
WHERE data_lansare>'01.01.2001' and buget>200000000

Setul dinamic:

11.Interogarea care va afisa lista filmelor a caror incasari este mai mica ca bugetul filmului.

SELECT dbo.Companii.denumire, dbo.Filme.den_film, dbo.Filme.gen, dbo.Filme.buget,


dbo.Vanzari.incasare
FROM dbo.Filme INNER JOIN
dbo.Companii ON dbo.Filme.idcomp = dbo.Companii.idcomp INNER JOIN
dbo.Vanzari ON dbo.Filme.idfilm = dbo.Vanzari.idfilm
WHERE dbo.Vanzari.incasare<(dbo.Filme.buget)
Setul dinamic:

12.Interogarea care va afisa lista actorilor si filmele in care s-au filmat iar ratingul filmelor este mai mic
de 6.0

SELECT dbo.Actori.nume, dbo.Actori.prenume, dbo.Filme.den_film


FROM dbo.Actori INNER JOIN
dbo.Filmari ON dbo.Actori.idactor = dbo.Filmari.idactor INNER JOIN
dbo.Filme ON dbo.Filmari.idfilm = dbo.Filme.idfilm INNER JOIN
dbo.Vanzari ON dbo.Filme.idfilm = dbo.Vanzari.idfilm
WHERE dbo.Vanzari.rating<6

Setul dinamic:

13.Interogarea care va afisa top 10 companii care au filmat cele mai multe filme.Se va ordona descrescator
conform numarului de filme produse.

SELECT TOP 10 dbo.Companii.denumire, COUNT(dbo.Filme.idfilm) AS 'Numarul de filme'


FROM dbo.Companii INNER JOIN
dbo.Filme ON dbo.Companii.idcomp = dbo.Filme.idcomp
GROUP BY Companii.denumire
ORDER BY Count(dbo.Filme.idfilm) desc

Setul dinamic:
14.Interogarea care va afisa lista filmelor ce au castigat foarte putin din vanzari.

SELECT dbo.Companii.denumire, dbo.Filme.den_film, dbo.Filme.gen, dbo.Filme.buget,


dbo.Vanzari.incasare
FROM dbo.Filme INNER JOIN
dbo.Companii ON dbo.Filme.idcomp = dbo.Companii.idcomp INNER JOIN
dbo.Vanzari ON dbo.Filme.idfilm = dbo.Vanzari.idfilm
WHERE dbo.Vanzari.incasare<(dbo.Filme.buget*2)

Setul dinamic:

15.Interogarea ce va afisa lista actorilor ce au varsta de 30 ani sau mai mult.

SELECT nume, prenume, data_nast


FROM dbo.Actori
WHERE data_nast<'01.01.1986'
Setul dinamic:
16.Interogarea care va afisa cea mai scumpa vanzare.

SELECT MAX ( incasare) as 'Incasare maxima'


FROM dbo.Vanzari

Setul dinamic:

17.Interogarea care va afisa lista filmelor fantasy cu bugetul mai mare de 100 mln.

SELECT den_film, tara_film


FROM dbo.Filme
WHERE gen like '%Fantasy%' and buget>100000000

Setul dinamic:

18.Interogarea care va afisa lista filmelor cu bugetul mai mic de 3000000

SELECT den_film,gen,buget
FROM Filme
WHERE buget<3000000

Setul dinamic:
19.Interogarea care va afisa lista top 10 companii si a filmelor produse de aceste companii

cu incasarea de 2 ori mai mare ca bugetul filmului.

SELECT TOP 10 dbo.Companii.denumire, dbo.Filme.den_film,


dbo.Vanzari.incasare
FROM dbo.Companii INNER JOIN
dbo.Filme ON dbo.Companii.idcomp =
dbo.Filme.idcomp INNER JOIN
dbo.Vanzari ON dbo.Filme.idfilm =
dbo.Vanzari.idfilm AND dbo.Filme.buget * 2 < dbo.Vanzari.incasare

Setul dinamic:

20.Interogarea ce va afisa lista filmelor,impreuna cu genul,tara,bugetul,data lansarii si ratingul filmului.Se


vor afisa filmele din 2015-2016 cu ratingul mai mare de 7.0

SELECT dbo.Filme.den_film, dbo.Filme.gen,


dbo.Filme.tara_film, dbo.Filme.buget, dbo.Filme.data_lansare,
dbo.Vanzari.rating
FROM dbo.Vanzari INNER JOIN
dbo.Filme ON dbo.Vanzari.idfilm =
dbo.Filme.idfilm
WHERE data_lansare>'01.01.2015' and rating>7.0

Setul dinamic:
3.2.2.Rapoarte
Rapoartele reprezinta documente ce pot fi afisate pe ecran,tiparite pe hirtie sau salvate intr-un
fisier.Rapoartele permit doar extragerea datelor,nu si modificarea lor.

Pentru crearea rapoartelor Microsoft SQL Server ne ofera o gama completa de instrumente si
servicii.Unu dintre ele este Microsoft SQL Server Reporting Services(MS SSRS) destinat pentru
crearea,distribuirea si gestiunea rapoartelor despre datele extrase din BD.

Exemple:

1.Datele despre top 10 cele mai vandute filme

Codul:

Design-ul:
2.Date despre top 10 cele mai bune filme

Codul:

Design-ul:
3.Date despre actori ce s-au filmat in cel putin 2 filme

Codul:

Desig-nul:
4.Date despre vanzari nereusite.

Codul:

Design-ul

5.Date despre filmele ce au obtinut premiul “Zmeura de aur”.

Codul:

Design-ul :
6.Date despre top 10 companii cu cele mai multe filme produse

Codul:

Design-ul:
7.Date despre filme din genul Comedie din ultimii 5 ani.

Codul:

Design-ul:

8.Date despre filme din anul 2015

Codul:

Design-ul:
9.Informatii suplimentare despre filme.

Codul:

Design-ul:

10.Tinerii actori.Informatii

Codul:

Design-ul:
Rezultatul rapoartelor vezi Anexa,Rapoarte
4.Descrierea interfetei

4.1.Autentificarea

Pentru elaborarea formularului de autentificare au utilizat un control de tip SplitContainer,2 textBox-uri,2


butoane,un PictureBox si 3 label.

Pe primul panel a controlului SplitContainer-splitContainer1.Panel- am plasat controlul PictureBox si am


incarcat o imagine.

Pe partea a 2-a a controlului-splitContainer2.Panel2-am plasat restul controalelor.Label1 si label2 sunt


etichetele la cele 2 textBoxuri,pentru a explica utilizatorului pentru ce sunt destinate aceste textBoxuri.

Al treilea label este are rol de link intern.La declansarea evenimentului MouseHover label3 iti va mari
dimensiunea textului iar la declansarea evenimentului MouseLeave acesta isi va reveni la starea initiala.La
declansarea evenimentului click asupra acestui label se va deschide formularul de inregistrare.

La declansarea evenimentului click asupra butonului ne va aparea un MessageBox


care ne va intreba daca dorim sa inchidem aplicatia:
In caz sa apasam pe Yes,aplicatia se va inchide,iar in caz contrat aceasta va ramane deschisa la acelari
formular.

La declansarea evenimentului click asupra butonului ,acesta va verifica data datele


introduse in textBoxuri exista in tabelul Utilizatori,sau va verifica daca datele apartin administratorului.In
caz ca aceste date sunt existente,se va deschide formularul pentru administratori si respectiv pentru
utilizatori,in dependenta de datele introduse in textBoxuri.
4.2.Inregistrarea

Pentru a crea formularul de inregistrare am utilizat butoane,checkBox,textBoxuri si label.

Label-urile sunt utilizate pentru a explica utilizatorului destinatia fiecarui textBox.

Butonul Renunta are aceiaasi destinatie ca si la formularul de logare.Fiecare textBox este destinat fiecarui
camp din tabelul Utilizatori.
Initial,am modificat proprietatea textBoxului destinat parolei.Proprietatea UseSystemPasswordChar va
avea valoarea true,adica textul din acest textBox va fi mascat.La declansare evenimentului
CheckedChange asupra CheckBox-ului 1,textul din TextBoxul destinat va fi afisat,adica proprietatea
UseSystemPasswordChar va avea valoarea false.

Un alt detaliu semnificatif este ca la labelurile care contin simbolul “*” la sfirsit ,semnifica ca textBoxurile
sunt obligatorii,adica aceste campuri din tabelul Utilizatori au constrangerea NOT NULL.Deci,daca nu va
fi introdus nimic in aceste campuri la ecran va aparea mesajul: Eroare!Nu ati introdus toate campurile
obligatorii.

Campurile email si adresa au constrangerea NULL si in asa fel,la inregistrare aceaste pot fi lasate goale.

4.3.Meniul administratorului
Pentru a elabora formularul cu meniu administratorului am folosit un Tab control si am adaugat6 tab-
uri,fiecare tab pentru un anumit tabel.Exemplu:
Dintre paginile de tab practic nu exita nici o diferenta de design.Unica diferenta este ca la pagina Vanzari
si Filmari nu am adaugat textBoxul destinat cautarii in tabel.Nu am vazut sensul sa fac cautare in tabelele
cu putine campuri.

Pe fiecare pagina exista textBoxuri destinate campurilor din tabele,si etichete destinate pentru
exemplificare.Sunt,deasemenea ,controale de tip dataGridView pentru a putea fi vazute datele din
tabele.De asemenea,pe fiecare pagina de tab sunt 4 butoane:Nou,Adauga,Sterge si
Inapoi.Initial,proprietate textBoxurile Enable are valoare false,adica textBoxurile nu sunt accesibile.

Butonul Nou este destinat pentru a modifica proprietatea Enable a textBox-urilor si la declansarea
evenimentului Click asupra butonului Nou,proprietatea Enable ia valoare true.Situatie asemanatoare sunt
si la restul paginilor.

Butonul Adauga este destinat pentru adaugarea datelor in tabele.Acest lucru este posibil doar in caz cind a
fost deja declansat evenimentul click la butonul Nou.Acelasi lucru e si la restul pagilor.

Butonul Sterge,este destinat pentru stergerea anumitor campuri.Pentru a sterge un anumit camp ,este
necesat de a selecta campul din dataGridView si de apasat pe butonul Sterge.Situatie similara si la restul
paginilor.

Butonul Inapoi este destinat pentru a se intoarce la formularul de logare.Iar de acolo avem posibilitatea de
a ne loga ca user,sau de a iesi din aplicatie.

4.4.Meniul utilizatorului
Pentru a elabora meniul utilizatorilor am utilizat deasemenea un tabControl.Aici am adaugat doar 3
pagini:Navigator filme,Profilul meu,Setari.

Pe prima pagina,Navigator filme,se afla un control de tip dataGridView care va contine datele din tabelul
Filme si un control de tip textBox destinat cautarii.Initial,este posibila doar cautarea dupa denumirea
filmului,dar daca apasam pe labelul de “Cautare avansata” ,atunci va aparea controle de tip checkBox si
textBox.

Imaginea initiala,fara “Cautare avansata”:


Imaginea cu “Cautarea avansata”:

Utilizatorul are posibilitatea de a cauta informatii dupa genul filmului,tara in care a fost produs filmul sau
anul in care a fost produs.Data checkBox-urile nu sunt alese,atunci textBoxurile nu sunt accesibile.

In urmatoarea imagine este aratata cautarea doar dupa denumirea filmului.Asadar,se vede clar ca nu e
nevoie de a apasa un buton pentru a cauta,ci pur si simplu de a scrie in textBox:
Pagina Setari este destinata pentru a modifica setarile de design.Pe aceasta pagina am pus doar un
pictureBox cu o imagine si butoane destinate pentru modificarea culorii de fundal si a stilului.

Data apasam pe butonul “Culoare de fundal” ne va aparea urmoarea imagine:


Utilizatorul alege o culoare dorita si culoarea de fundal se modifica asupra formularului:

Dupa cate vedem,se modifica si restul paginilor,nu doar pagina de Setari:


Daca apasam pe al doilea buton “Stilul” va aparea fereastra care ne va permite setarea fontului,stilului si a
dimensiunii textului:

Dupa cata vedem,modificarile de stil se produc de asemenea asupra tuturor paginilor:


5.Ghid de utilizare a aplicatiei
Baza de date este construita cu limbajul SQL in aplicatia Microsoft SQL Server 2014. SQL este un limbaj
de computer pentru lucrul cu seturi de evenimente și relațiile dintre acestea. Programele de baze de date
relaționale, cum ar fi Microsoft SQL Server 2014, utilizează SQL pentru a lucra cu datele. Spre deosebire
de multe limbaje de computer, SQL nu este greu de citit și de înțeles, chiar și pentru un novice. La fel ca
multe limbaje de computer, SQL este un standard internațional recunoscut de autorități de standardizare,
cum ar fi ISO și ANSI.

Aplicatia este creata cu ajutorul Microsoft Visual C# 2013 Express Edition.

Pentru a utiliza aceasta aplicatie sunt necesare următoarele componente hardware și soft :

Hardware Configuratia minima

Procesor x64 Procesor; AMD Opteron, AMD Athlon 64, Intel Xeon cu
Intel EM64T, Intel Pentium IV cu EM64T x86 Procesor;
Pentium III-compatibil sau mai rapid

Memorie RAM RAM Minimum 1GB (4GB sau mai mult , este recomandat),
pentru aplicatie minimum recomandat este 512Mb.

Disc Drive DVD-ROM

Spatiu pe discul rigid ~100MB

Soft Exisgente

Sistem de operare Windows Vista SP1 sau mai superior-

Windows server 2008 SP2 sau mai superior

Framework .NET Framework 3.5 SP1

Internet Explorer Versiunea 7 sau mai superioară


Concluzii
În urma realizării proiectului de practică am avut posibilitatea de a-mi reaminti de cunoștințele
acumulate pe parcursul acestui an de studii.Mi-am aprofundat cunoștințele în domeniu Bazei de
Date și am reușit să învăț un limbaj nou de programare-limbajul C#.

Pe parcursul practicii am reușit să înțeleg mai bine cum funcționează Sistemul de Gestionare a
Bazelor de date și am învățat să creez aplicații prin intermediul platformei .NET și a limbajului
C#.Acest limbaj de programare mi s-a părut destul de interesant și de ușor,în comparație cu alte
limbaje de programare.La elaborarea aplicației FilmStudio Production de un mare ajutor mi-a fost și
cunoștințele în domeniu programării orientate pe obiecte.Această aplicație este destinată în special
amatorilor de filme,dar sper că va fi pe placut majorității.Desigur,pe parcursul a acestor 2
săptămîni,am avut foarte multe erori și am întîmpinat greutăți,dar datorită cunoștințelor și a dorinței
de a învăța am reușit să le rezolv.

Astfel,în perioada acestei practici am înțeles că cunoștințele acumulate în anul 3 de studii au avut un
rol foarte important în elaborarea acestui raport,dar și a aplicației propriu zise.
Bibliografie
 https://ro.wikipedia.org/wiki/SQL

 https://ro.wikipedia.org/wiki/C_sharp

 https://ro.wikipedia.org/wiki/ASP.NET

 http://office.microsoft.com/ro-ro/access-help/despre-interogarile-sql-mdb-
HP005188412.aspx

 http://office.microsoft.com/ro-ro/excel-help/combinarea-de-date-din-mai-multe-surse-de-
date-HA103993145.aspx
Anexe
Nr.1.Scenariu de creare a BD
create database Movies
use Movies

create table Companii


(
idcomp int not null primary key,
denumire char(100) not null,
tara char(100) not null
)

create table Filme


(
idfilm int not null primary key,
idcomp int not null,
den_film char(255) not null,
gen char(100) not null,
tara_film char(100) not null,
buget float not null,
data_lansare date null,
)

create table Actori


(
idactor int not null primary key,
nume char(50) not null,
prenume char(50) not null,
sex char(1) not null,
data_nast date null
)

create table Filmari


(
idfilm int not null,
idactor int not null
)
create table Vanzari
(
idvanzare int not null primary key,
idfilm int not null,
incasare float not null,
rating float not null
)
create table Utilizatori
(

nume char(50) not null,


prenume char(50) not null,
nume_user char(25) not null,
parola char(10) not null,
telefon char(20) not null,
email char(50) null,
adresa char(70) null,
)
Alter table Filme add
constraint FK_Filme_Companii foreign key(idcomp) references Companii(idcomp)

Alter table Filmari add


constraint FK_Filmari_Filme foreign key(idfilm) references Filme(idfilm),
constraint FK_Filmari_Actori foreign key(idactor) references Actori(idactor)

Alter table Vanzari add


constraint FK_Vanzari_Filme foreign key(idfilm) references Filme(idfilm)

Nr.2.Inserarea datelor
insert into Companii(idcomp,denumire,tara)values
(1,'20th Century Fox','SUA'),
(2,'Ardmore Studios','Irlanda'),
(3,'Bavaria Film','Germania'),
(4,'BBC Films','Marea Britanie'),
(5,'Blue Sky Studios','SUA'),
(6,'The Bridge Studios','Canada'),
(7,'CBS Films','SUA'),
(8,'Cinecitta','Italia'),
(9,'Cinema City International','China'),
(10,'Columbia Pictures','SUA'),
(11,'Constantin Film','Germania'),
(12,'Crystal Sky Pictures','SUA'),
(13,'Disneynature','Franta'),
(14,'DreamWorks','SUA'),
(15,'Dovzhenko Film Studios','Ukraina'),
(16,'Entertainment One','Canada'),
(17,'Full Moon Features','SUA'),
(18,'Gaumont Film Company','Franta'),
(19,'Genius Products','Australia'),
(20,'Globo Filmes','Brazilia'),
(21,'Gorky Film Studio','Rusia'),
(22,'Hollywood Pictures','SUA'),
(23,'Ilumination Entertaiment','SUA'),
(24,'Legendary Pictures','SUA'),
(25,'Lenfilm','Rusia'),
(26,'Lions Gate Entertaiment','Canada')

insert into Filme(idfilm,idcomp,den_film,gen,tara_film,buget,data_lansare)


values
(1,1,'John Tucker Must Die','Comedie','SUA',18000000,'09.07.2006'),
(2,1,'Eragon','Fantasy','SUA/Marea Britanie',100000000,'12.03.2006'),
(3,1,'Aquamarine','Fantasy/Comedie','SUA/Australia',12000000,'03.03.2006'),
(4,1,'Avatar','Fantasy','SUA/Marea Britanie',237000000,'12.10.2009'),
(5,1,'The Other Woman','Comedie','SUA',40000000,'04.01.2014'),
(6,2,'King Arthur','Actiune/Aventura','Irlanda/Marea Britanie' ,120000000,
'06.08.2004'),
(7,3,'Perfume: The Story of a Murderer','Fantasy/Drama', 'Germania/SUA',
60000000,'09.07.2006'),
(8,4,'Woman in Gold','Drama','Marea Britanie',11000000,'02.01.2015'),
(9,4,'The Lady in the Van','Drama','Marea Britanie',6000000,'09.12.2014'),
(10,4,'Chef','Drama','Marea Britanie/SUA',11000000,'03.07.2014'),
(11,5,'Ice Age','Desen animat/Familie','SUA',59000000,'03.12.2002'),
(12,5,'Ice Age:the Meltdown','Desen animat/Familie','SUA' ,80000000,
'03.01.2006'),
(13,5,'Rio','Desen animat','SUA',90000000,'03.02.2011'),
(14,5,'Epic','Desen animat','SUA',100000000,'05.06.2013'),
(15,6,'Scary Movie','Comedie','SUA\Canada',19000000,'07.07.2000'),
(16,6,'Defying Gravity','Drama/Fantasy','Canada/Germania', 65000000,
'08.02.2009'),
(17,7,'The Duff','Comedie','SUA',8500000,'02.12.2015'),
(18,7,'Beastly','Fantasy/Drama','SUA/Canada',17000000,'03.03.2011'),
(19,7,'Faster','Actiune/Drama','SUA',24000000,'11.04.2010'),
(20,7,'The Words','Drama','SUA',6000000,'01.02.2012'),
(21,8,'When in Rome','Comedie','Italia/SUA',30000000,'01.09.2010'),
(22,9,'The Warrior’s Way','Actiune','SUA/Coreea de Sud',45000000,'12.01.2010'),
(23,10,'The Holiday','Comedie/Drama','SUA',85000000,'12.05.2006'),
(24,10,'Just Go With It','Comedie','SUA',80000000,'02.08.2011'),
(25,10,'21 Jump Street','Comedie','SUA',42000000,'03.12.2012'),
(26,10,'Spectre','Actiune','Marea Britanie/SUA',245000000,'10.06.2015'),
(27,10,'American Hustle','Drama/Comedie','SUA',40000000,'12.12.2013'),
(28,10,'Django Unchained','Drama/Aventura','SUA',100000000,'12.11.2012'),
(29,10,'The Interview','Comedie','SUA',44000000,'12.11.2014'),
(30,11,'Resident Evil','Actiune','Germania/SUA',33000000,'03.12.2002'),
(31,11,'Resident Evil: Apocalypse','Actiune', 'Germania/Franta', 45000000,
'09.10.2004'),
(32,11,'The Mortal Instruments: City of Bones','Actiune','Germania/Canada',
60000000,'08.12.2013'),
(33,11,'Fack ju Gohte','Comedie','Germania',6000000,'07.11.2013'),
(34,11,'Pompei','Aventura','Germania/Canada',100000000,'02.08.2014'),
(35,12,'Ghost Rider: Spirit of
Vengeance','Actiune','SUA',57000000,'11.12.2011'),
(36,13,'Chimpanzee','Documentar','Franta',28000000,'03.01.2012'),
(37,14,'How to Train Your Dragon','Desen animat','SUA',165000000,'03.12.2010'),
(38,14,'Shrek','Desen animat','SUA',60000000,'04.12.2001'),
(39,14,'Madagascar','Desen animat/Comedie','SUA',75000000,'05.05.2005'),
(40,14,'The Croods','Desen animat/Comedie','SUA',135000000,'02.05.2013'),
(41,15,'Viy','Fantasy','Rusia/Germania',26000000,'01.03.2014'),
(42,16,'Spotlight','Drama/Biografie','Canada',20000000,'03.09.2015'),
(43,16,'Eye in the Sky','Thriller','Canada/Marea Britanie', 10000000,
'11.09.2015'),
(44,17,'Puppet Master: Axis of Evil','Horror','SUA',10000000,'06.07.2009'),
(45,18,'Intouchables','Drama/Biografie','Franta',9500000,'09.03.2011'),
(46,18,'Perfect Mothers','Drama','Franta/Australia',16000000,'01.08.2013'),
(47,18,'La doublure','Drama/Comedie','Franta',25300000,'07.02.2006'),
(48,19,'Border War: The Battle Over Illegal Immigration','Documentar',
'Australia/SUA',10000000,'11.03.2006'),
(49,20,'S.O.S.: Mulheres ao Mar','Comedie','Brazilia',10000000,'03.02.2014'),
(50,20,'Amazonia','Documentar','Brazilia/Franta',100000,'07.09.2013'),
(51,21,'The Undefeated ','Drama','Rusia/Ukraina',1000000,'10.10.2000'),
(52,22,'The Invisible','Fantasy/Drama','SUA/Canada',30000000,'08.04.2007'),
(53,22,'Stay Alive','Horror','SUA',9000000,'03.02.2006'),
(54,23,'Minions','Desen animat','SUA',74000000,'11.07.2015'),
(55,23,'Despicable Me','Desen animat','SUA',69000000,'07.07.2010'),
(56,23,'Despicable Me 2','Desen animat','SUA',76000000,'06.01.2013'),
(57,24,'Interstellar','Fantastica/Drama','SUA/Marea Britanie',165000000,
'12.06.2014'),
(58,24,'The Dark Knight Rises','Fantastica/Actiune','SUA/Marea Britanie',
250000000,'06.06.2012'),
(59,24,'The Hangover','Comedie','SUA',35000000,'05.03.2009'),
(60,24,'Unbroken','Drama/Biografie','SUA',65000000,'11.07.2014'),
(61,25,'Hard to Be a God ','Sci-Fi/Drama','Rusia',7000000,'05.02.2014'),
(62,26,'From Paris with Love','Actiune','Franta',52000000,'02.04.2010'),
(63,26,'Killers','Comedie','SUA',75000000,'01.06.2010'),
(64,26,'I, Frankenstein','Fantasy/Actiune', 'SUA/Australia',65000000,
'01.07.2014'),
(65,26,'Life of Crime','Criminal/Comedie','SUA',12000000,'09.04.2013'),
(66,27,'Indiana Jones 2','Fantastica/Actiune','SUA',185000000,'05.08.2008'),
(67,27,'Red Tails','Actiune/Drama','SUA',58000000,'12.02.2012'),
(68,27,'Strange Magic','Desen animat','SUA',12400000,'12.03.2015'),
(69,28,'Ho Ho Ho','Comedie/Familie','Romania',1000000,'11.07.2009'),
(70,28,'California Dreamin','Drama','Romania',1500000,'05.07.2007'),
(71,29,'The Lord of the Rings 1','Fantasy/Aventura','SUA/Noua Zeelanda' ,
93000000,'10.12.2001'),
(72,29,'The Hobbit: The Desolation of Smaug','Fantasy','SUA', 225000000,
'02.12.2013'),
(73,29,'Rush Hour 3','Actiune/Comedie','SUA/Germania',140000000,'07.11.2007'),
(74,30,'Albert','Desen animat','Danemarca',10000000,'02.02.2015'),
(75,31,'Hours','Drama','SUA',4000000,'10.03.2010'),
(76,32,'127 Hours','Drama/Biografie','SUA/Franta',18000000,'04.09.2010'),
(77,33,'Sherlock Holmes','Criminal/Aventura','SUA/Germania', 90000000,
'06.04.2010'),
(78,34,'The King of Queens','Comedie','SUA',10000000,'09.12.2000'),
(79,35,'About Time','Drama/Fantasy','Marea Britanie',15400000,'10.10.2013'),
(80,35,'Stargate','Fantastica/Aventura','SUA/Franta',55000000,'10.05.1994'),
(81,36,'Big Miracle','Drama/Familie','SUA/Marea Britanie', 40000000,
'02.02.2012'),
(82,37,'Never Let Me Go','Drama','Marea Britanie/SUA',15000000,'03.09.2010'),
(83,38,'Moms Night Out','Comedie','SUA',5000000,'11.04.2014'),
(84,39,'Green Zone','Actiune/Drama','SUA/Franta',35100000,'07.12.2010'),
(85,40,'Jurassic World','Fantastica/Aventura','SUA',150000000,'05.09.2015'),
(86,41,'Inside Out','Desen animat/Familie','SUA',175000000,'05.11.2015'),
(87,41,'Pirates of the Caribbean: At Worlds End','Aventura','SUA', 300000000,
'04.03.2012')
insert into Vanzari(idvanzare,idfilm,incasare,rating)values
(1,1,50000000,6.7),
(2,2,250000000,6.0),
(3,3,65000000,6.3),
(4,4,2787000000,7.9),
(5,5,850000006,6.6),
(6,6,200000000,7.0),
(7,7,145000000,7.6),
(8,8,175000000,7.2),
(9,9,110000000,6.7),
(10,10,175000000,6.9),
(11,11,177000000,8.0),
(12,12,200000000,7.6),
(13,13,185000000,7.5),
(14,14,275800000,6.9),
(15,15,73560000,6.9),
(16,16,189500000,7.1),
(17,17,125700000,6.4),
(18,18,49000000,6.1),

insert into Actori(idactor,nume,prenume,sex,data_nast) values


(1,'Brittany','Snow','f','03.09.1986'),
(2,'Sofia','Bush','f','07.08.1982'),
(3,'Robert','Carlyle','m','04.04.1961'),
(4,'Emma','Robert','f','02.10.1991'),
(5,'Cameron','Diaz','f','08.03.1972'),
(6,'Sam','Worthington','m','08.02.1976'),
(7,'Leslie','Mann','f','03.06.1972'),
(8,'Ryan','Reynolds','m','03.06.1985'),
(9,'Jim','Broadbent','m','05.04.1949'),
(10,'Oliver','Platt','m','05.05.1956'),
(11,'Olivia','Wild','f','10.02.1980'),
(12,'Steven','Ruth','m','11.03.1990'),
(13,'Adam','Sendler','m','11.04.1978'),
(14,'Selena','Gomez','f','02.04.1991'),
(15,'Jim','Carry','m','07.02.1975'),
(16,'Anne','Hataway','f','05.04.1978'),
(17,'Robbie','Amell','m','12.12.1989'),
(18,'Vanessa','Hudson','f','01.03.1990'),
(19,'Alex','Pettyfer','m','10.05.1990'),
(20,'Diego','Morgan','m','05.01.1987'),
(21,'Bradley','Cooper','m','09.03.1982'),
(22,'Joshua','Duhamel','m','11.02.1972'),
(23,'Kristen','Bell','f','10.07.1984'),
(24,'Ian','Bostick','m','01.09.1980'),
(25,'Patrick','Damsey','m','12.03.1970'),
(26,'Anna','Kendrick','f','12.03.1990')
insert into Filmari(idfilm,idactor)values
(1,1),
(1,2),
(2,3),
(3,4),
(4,6),
(5,5),
(5,7),
(6,7),
(7,7),
(8,8),
(9,9),
(10,10),
(10,11),
(11,12),
(12,12),
(13,13),
(14,14),
(15,15),
(16,16),
(17,17),
(18,18),
(18,19),
(19,20),
(20,21),
(21,22),
(21,23),
(22,24),
(23,25),
(24,26),
(25,28)
Rapoarte
 6

S-ar putea să vă placă și

  • Grafica Pe Calculator
    Grafica Pe Calculator
    Document138 pagini
    Grafica Pe Calculator
    Gaby Gabriel
    100% (1)
  • Tehnici Black Box de Testare
    Tehnici Black Box de Testare
    Document4 pagini
    Tehnici Black Box de Testare
    Mihai Șveț
    Încă nu există evaluări
  • Laboratorul 1
    Laboratorul 1
    Document9 pagini
    Laboratorul 1
    Tina Cris
    Încă nu există evaluări
  • Raport Practica de Producție
    Raport Practica de Producție
    Document36 pagini
    Raport Practica de Producție
    Tina Cris
    Încă nu există evaluări
  • Raport Practica de Producție
    Raport Practica de Producție
    Document36 pagini
    Raport Practica de Producție
    Tina Cris
    Încă nu există evaluări
  • Laboratorul 2 PH
    Laboratorul 2 PH
    Document6 pagini
    Laboratorul 2 PH
    Tina Cris
    Încă nu există evaluări
  • Raport TV
    Raport TV
    Document9 pagini
    Raport TV
    Tina Cris
    Încă nu există evaluări
  • Ex Site1
    Ex Site1
    Document6 pagini
    Ex Site1
    Tina Cris
    Încă nu există evaluări
  • Laboratoru 1 PH
    Laboratoru 1 PH
    Document3 pagini
    Laboratoru 1 PH
    Tina Cris
    Încă nu există evaluări
  • Laboratorul 7 PH
    Laboratorul 7 PH
    Document9 pagini
    Laboratorul 7 PH
    Tina Cris
    Încă nu există evaluări
  • Sreda
    Sreda
    Document88 pagini
    Sreda
    Tina Cris
    Încă nu există evaluări
  • Index 1
    Index 1
    Document3 pagini
    Index 1
    Tina Cris
    Încă nu există evaluări
  • Conditiile Var I
    Conditiile Var I
    Document1 pagină
    Conditiile Var I
    Tina Cris
    Încă nu există evaluări
  • Raport DB
    Raport DB
    Document54 pagini
    Raport DB
    Tina Cris
    Încă nu există evaluări
  • Laborator NR 4 Testare
    Laborator NR 4 Testare
    Document5 pagini
    Laborator NR 4 Testare
    Tina Cris
    Încă nu există evaluări
  • TVPP Laborator NR 3
    TVPP Laborator NR 3
    Document5 pagini
    TVPP Laborator NR 3
    cc target
    Încă nu există evaluări
  • Laboratorul 3
    Laboratorul 3
    Document12 pagini
    Laboratorul 3
    Tina Cris
    Încă nu există evaluări
  • Laboratorul 2
    Laboratorul 2
    Document15 pagini
    Laboratorul 2
    Tina Cris
    Încă nu există evaluări
  • Lfa 5
    Lfa 5
    Document2 pagini
    Lfa 5
    Tina Cris
    Încă nu există evaluări
  • Șabloane de Proiectare Teorie
    Șabloane de Proiectare Teorie
    Document10 pagini
    Șabloane de Proiectare Teorie
    Tina Cris
    Încă nu există evaluări
  • LFA Lucrarea Practica Nr2 AF
    LFA Lucrarea Practica Nr2 AF
    Document3 pagini
    LFA Lucrarea Practica Nr2 AF
    Ппапренр Енре
    Încă nu există evaluări
  • GC 1
    GC 1
    Document4 pagini
    GC 1
    Tina Cris
    Încă nu există evaluări
  • Lfa 6
    Lfa 6
    Document4 pagini
    Lfa 6
    Tina Cris
    Încă nu există evaluări
  • Lfa 2
    Lfa 2
    Document5 pagini
    Lfa 2
    Tina Cris
    Încă nu există evaluări
  • Lfa 4
    Lfa 4
    Document4 pagini
    Lfa 4
    Tina Cris
    Încă nu există evaluări
  • Lfa 3
    Lfa 3
    Document2 pagini
    Lfa 3
    Tina Cris
    Încă nu există evaluări
  • Lfa 1
    Lfa 1
    Document5 pagini
    Lfa 1
    Tina Cris
    Încă nu există evaluări