Sistem Informatic Pentru Managementul Hotelului
Sistem informatic pentru managementul hotelului
CUPRINS
Introducere
Capitolul I
I.1. Conceptul de sistem informatic
I.2. Prezentarea firmei si a departementelor firmei
I.3. Prezentarea activității care va fi informatizată
Capitolul II – Tehnologii informatice utilizate
II.1. SQL SERVER MANAGEMENT STUDIO
II.2. Microsoft visual studio 2012
II.3. Limbajul C#
II.4 .NET Framework
II.5. Limbajul SQL
Capitolul III – Proiectarea sistemului informatic
III.1. Specificarea cerintelor sistemului informatic
III.2. Analiza sistemului existent
III.3. Identificarea procedurilor necesare
III.4. Proiectarea noului system
III.4.1. Schema Bazei de date
Capitolul IV – Dezvoltarea si implementarea sistemului informatic
IV.1. Proiectarea prelucarilor
IV.2. Implementarea aplicatiei:
Concluzii
Bibliografie
ANEXE
Introducere
Industria ospitalității face parte dintr-un grup larg de activități numite turism. Turismul este călătoria realizată în scopul recreării sau pentru afaceri si se bazează pe servicii, servicii care pot varia, cu nevoile specifice ale clienților. Turismul se află într-o creștere rapidă, în special în regiuni în care turismul se află într-o etapă incipientă de dezvoltare. În această etapă de dezvoltare a economiei, este inclusă și industria hotelieră.
Hotelul este un stabiliment, cu posibilități de cazare si cu activități care oferă mâncare și băutură oricărui călător cu capacitatea și dorința de a plăti o sumă rezonabilă pentru serviciile oferite. Gestionarea activităților într-un hotel depinde de mărimea hotelului. Într-un hotel cu un prestigiu ridicat există un consiliu de conducere, spre deosebire de cele de dimensiuni mici, în care directorul este adesea proprietarul. De asemenea, într-un hotel mare personalul este strict specializat, în timp ce într-un hotel mic un angajat îndeplinește mai multe activități, de aceea este foarte important ca personalul din industria ospitalității să identifice diferitele nevoi ale clienților lor și să fie capabil de a oferi serviciile așteptate. Toți clienții sunt tratați cu respect, discreție și confidențialitate iar nemulțumirile clienților au ca soluționare tratarea acestora cu promptitudine, flexibilitate, iar coordonarea angajaților să fie responsabilă, respectând regulile impuse de conducere.
Prezenta lucrare are ca scop informatizarea procesului de gestiune al unui hotel. Principala activitate și sursă de venit a hotelului o reprezintă ȋnchirierea camerelor. Închirierea camerelor se desfășoară sub divizia cazare , aceasta divizie are în componență mai multe departamente pentru a asigura servicii și dotări pentru clienți. Veniturile obținute din cazări sunt mai mari decât cele obținute din toate celelalte servicii oferite la un loc.
Hotelul analizat în lucrarea de față este situat într-o stațiune, și îmbină cu plăcere plaja situată la mai puțin de 40m de hotel, fiind mai mult decât un spațiu de cazare, acesta este o experiență de neuitat, este un motiv pentru care vei reveni cu plăcere.
Cu ajutorul acestei aplicații angajații hotelului vor avea posibilitatea să rezerve camera pentru client, astfel se va ține o evidentă mult mai amănunțită a regiștrilor cazării. Angajații pot adăuga servicii noi, clienți noi, se pot adăuga angajați noi în baza de date a aplicației, construită pentru o mai ușoară evidentă a activității hotelului. De asemenea angajații pot vedea rapoarte despre clienți, rezervări, alți angajați, servicii și camerele cele mai des rezervate, astfel aplicația dezvoltată pentru recepția unui hotel și pentru gestiunea disponibilități camerelor unui hotel ȋndeplineste obiectivele propuse.
Capitolul I
Dezvoltarea tehnologiei utilizată de sistemele informatice este direct influențată de dezvoltarea în tehnologia informației, si anume prin dezvoltare hardware, software, Internet, sisteme de comunicații, calculatoare și rețele de calculatoare, automatizarea lucrărilor de birou, managementul bazelor de date sau a altor tehnologii de prelucrare a informațiilor.
I.1. Conceptul de sistem informatic
Un sistem reprezintă un ansamblu de elemente interdependente, între care ,prin baza unor proceduri, se stabilește o interacțiune dinamică, cu scopul atingerii unui anumit obiectiv.
Astfel, pentru a defini un sistem informatic trebuie să se precizeze concret regulile, procedurile si mijloacele, precum și metodele utilizate in cadrul sistemului.
Printr-o definire, aflam că un sistem informatic poate fi privit ca un ansamblu de proceduri, reguli și metode, automate, folosite pentru culegerea, transmiterea, prelucrarea și stocarea datelor.
Cu alte cuvinte, pentru a defini un sistem informatic al unui organism înseamnă a-i preciza în mod concret regulile, procedurile si mijloacele, cu precădere automate, utilizate în cadrul sistemului pentru a-i determina mărimile prestabilite și legile care operează cu aceste mărimi.
Activitățiile din cadrul unui sistem informațional sunt realizate cu ajutorul echipamentelor de culegere, transmitere, stocare și prelucrare automată a datelor, și putem spune că are loc informatizarea sistemului informațional și implicit apariția conceptului de sistem informatic. Pentru a defini un sistem informatic trebuie să se precizeze concret regulile, procedurile si mijloacele, precum și metodele utilizate in cadrul sistemului.
Sistemul informatic reprezintã un ansamblu de elemente (obținute prin utilizarea materialelor tehnologiei informației: resurse materiale, software, date, proceduri etc.) intercorelate funcțional în scopul automatizării obținerii, prelucrării, stocării și transmiterii, sub forma dorită, a informațiilor necesare.
Într-un sistem informatic pot intra: calculatoare, sisteme de transmisie a datelor, componente hardware și software, datele prelucrate, personalul ce exploatează tehnica de calcul, teoriile ce stau la baza algoritmilor de prelucrare, etc.
Exemple de resurse incluse in sistem: persoane, materiale, programe si proceduri, date etc.
Resursele sistemului informatic se grupeazã în urmãtoarele categorii:
Activitatea care face obiectul sistemului informatic și datele primare vehiculate în cadrul acesteia;
Metodele și tehnicile de proiectare a sistemului informatic;
Hardware, ansamblul de echipamente prin intermediul cãrora se realizeazã culegerea, verificarea, prelucrarea, memorarea și transmiterea datelor, respectiv redarea rezultatelor prelucrãrii;
Software, sistemul de programe care asigurã utilizarea eficientã a resurselor hardware;
Resursele umane implicate.
Procesul de procesare automatã în cadrul unui sistem informațional, cuprinde totalitatea operațiilor de culegere, prelucrare, stocare și transmitere a datelor.
Un sistem informatic, este compus, în principal din urmatoarele elemente:
a. Bazã tehnica sau hardware-ul sistemului informatic, care este constituita din totalitatea mijloacelor tehnice de culegere, transmitere, stocare și prelucrare a date lor, în care locul central revine calculatorului electronic.
b. Sistemul de program sau software-ul sistemului, ce cuprinde totalitatea programelor pentru functionarea sistemului informatic, în concordanta cu functiunile și obiectivele ce au fost stabilite.
c. Bazã științifico-metodologică, care este constituita din modele matematice ale proceselor și fenomenelor economice, metodologii, metode și tehnici de realizare a sistemelor informatice.
d. Bazã informationala cuprinde datele suspuse prelucrarii, fluxurile informationale, sistemele și nomenclatoarele de coduri.
e. Resursele umane și cadrul organizatoric, care cuprinde personalul de specialitate și cadrul
necesar functionarii sistemului informatic.
Componentele acționale ale unui sistem informatic sunt determinate de principalele acțiuni derulate într-un sistem informatic și anume:
Introducerea datelor;
Procesarea datelor pentru obținerea de informații;
Furnizarea informațiilor către beneficiari;
Stocarea și arhivarea infomațiilor;
Controlul performanțelor sistemului.
Introducerea datelor – datele despre tranzacțiile comerciale sau despre alte activități economice trebuie să fie colectate și pregătite pentru prelucrare acolo unde sunt produse. Introducerea datelor implică editarea de înregistrări, care sunt transferate pe un suport fizic (magnetic/optic, etc.) până la prelucrarea lor ulterioară.
Datele consemnate în documente pot fi introduse în sistemul informatic în următoarele moduri:
executarea unor proceduri specializate de încărcare a datelor prin tastare de operator pe baza unor machete de culegere a datelor generate pe monitorul calculatorului, urmată de validarea acestora;
scanarea documentelor, permițând preluarea unui volum foarte mare de date într-un interval scurt de timp;
direct în format electronic, prin transfer local în cadrul intranetului firmei (ieșirile unui subsistem informatic al firmei devin astfel intrări pentru un alt subsistem) sau prin transfer de date la distanță (prin Internet sau prin rețele private).
Prelucrarea datelor – reprezintă totalitatea operațiilor de calcul pe baza unor algoritmi prestabiliți, comparări, sortări, clasificări, integrări, etc., prin care datele sunt transformate în informații utile beneficiarilor.
Prelucrarea datelor se bazează pe realizarea și gestionarea în cadrul sistemului informatic al organizației a unui ansamblu de baze de date.
Furnizarea informațiilor către beneficiari – implică ca informațiile rezultate în urma prelucrării să fie transmise automat utilizatorilor în formatul solicitat de aceștia.
La nivel decizional informațiile de ieșire ale sistemului informatic pot fi:
indicatori sintetici, care sunt calculați din datele de intrare pe baza unor algoritmi predefiniți;
rapoarte, care grupează diverși indicatori sintetici sau analitici, sub formă de text, tabele, grafice, etc.
După gradul de agregare a informațiilor, rapoartele pot fi clasificate astfel:
rapoarte sintetice, care cuprinzând indicatori cu grad mare de sintetizare, destinate fundamentării deciziilor (de exemplu: Situația evoluției vânzărilor pe produse și trimestre);
rapoarte analitice, care sunt destinate utilizării în cadrul diverselor compartimente și conțin informații detaliate privind desfășurarea unei activități pe un anumit segment de timp (de exemplu: Situația consumului de materiale pe luna).
Indicatorii și rapoartele pot fi furnizate în scris, pe suport magnetic sau optic sau pot fi transmise prin rețeaua locală a firmei.
Stocarea și arhivarea informațiilor – constituie o componentă importantă în cadrul sistemelor informatice prin care datele și informațiile sunt depozitate în format electronic într-un mod organizat în vederea unei utilizări ulterioare. O importanță deosebită o are eficiența procesului de regăsire a informației stocate, în formatul solicitat de utilizatori în special în ceea ce privește rapiditatea și acuratețea de redare. Suporturile fizice utilizate pentru stocarea datelor și informațiilor sunt în general cele magnetice sau optice.
Controlul performanțelor sistemului – reprezintă o activitate în cadrul sistemului informatic cu rol esențial în menținerea integrității și calității informațiilor furnizate beneficiarilor.
Controlul performanțelor sistemului informatic are în vedere următoarele elemente:
generarea continuă a unui feed-back despre intrările, procesul de prelucrare și ieșirile sale precum și despre activitatea de stocare.
monitorizarea și evaluarea feed-back-ului pentru a determina dacă sistemul funcționează la parametrii nominali.
Procesul de monitorizare continuă a funcționării sistemului permite efectuarea în timp real a corecțiilor necesare pentru eliminarea deficiențelor constatate.
La realizarea și utilizarea unui sistem informatic trebuie avute în vedere următoarele componente hard si soft:
Componente hardware:
Rețele
Clasificare dupa aria de întindere geografică :
– local – LAN (Local Area Network) – la nivelul unei organizații;
– Metropolitan – MAN (Metropolitan Area Network) – la nivel sistemului informatic are în vedere următoarele elemente:
generarea continuă a unui feed-back despre intrările, procesul de prelucrare și ieșirile sale precum și despre activitatea de stocare.
monitorizarea și evaluarea feed-back-ului pentru a determina dacă sistemul funcționează la parametrii nominali.
Procesul de monitorizare continuă a funcționării sistemului permite efectuarea în timp real a corecțiilor necesare pentru eliminarea deficiențelor constatate.
La realizarea și utilizarea unui sistem informatic trebuie avute în vedere următoarele componente hard si soft:
Componente hardware:
Rețele
Clasificare dupa aria de întindere geografică :
– local – LAN (Local Area Network) – la nivelul unei organizații;
– Metropolitan – MAN (Metropolitan Area Network) – la nivel de oraș, localitate;
– de mare întindere – WAN (World Area Network) – la nivel de județ, țară.
Clasificare dupa accesibilitate :
– Internet (rețeaua Web) – o colecție mondială de rețele interconectate;
– Intranet – un sit Web sau un grup de sit-uri care aparțin unei organizații, accesibil numai pentru membrii acesteia;
– Extranet – o retea intranet care este partial accesibilă utilizatorilor externi autorizați.
Echipamente
Echipamente de calcul : calculatoare, stații grafice, pentru servere de rețea, servere de baze de date, stații de lucru (client, utilizatori), UPS-uri;
Echipamente de comunicație : routere, hub-uri, modem-uri, switch-uri.
Componente software :
Produse software de bază:
Sisteme de operare pentru serverul de rețea (UNIX, Windows NT server, Windows 2000, Novell) și pentru stațiile de lucru sau client ( Windows 95, Windows 98, Windows NT workstation, Windows 2000);
Sisteme de Gestiune a Bazelor de Date (ORACLE, SQL Server Microsoft, MySQL, ACCESS, FoxPro etc.);
Sisteme GIS (Geographical Information System) – utilizate pentru realizarea aplicațiilor pentru stocarea ți prelucrarea datelor spațiale;
Limbaje (medii) de programare – utilizate pentru realizare software de aplicație.
Produse software de aplicație:
produse program ce constituie aplicațiile și subsistemele sistemului informatic.
I.2. Prezentarea firmei si a departementelor firmei
Prezentarea firmei
Industria hotelurilor face parte dintr-un grup mai larg de activități economice numite turism. Turismul se bazează pe servicii, care pot varia, în concordanță cu nevoile specifice atât ale clienților cât și ale organizației care le oferă.
Turismul include o colecție de industrii care oferă serviciile necesare publicului care călătorește. Printre aceste servicii se pot regăsi pot fi incluse:
cazare (hoteluri, moteluri, pensiuni, apartamente etc) ;
transport (inchirieri auto) ;
restaurante, baruri ;
magazine specializate (magazine cu suveniruri, obiecte specifice locului) ;
activități de relaxare (ex: piscina, spa, masaj, sauna, fitness, echitație, excursii la obiectivele turistice aflate în apropiere) ;
In România guvernul a alocat fonduri pentru proiecte de promovare a turismului românesc și a destinațiilor autohtone, ca de exemplu, proiectele: "România, mereu surprinzătoare" – 2004 (cca. 1,7 milioane dolari), "Eterna și fascinanta Românie" -2008 ( au fost cheltuiți cca. 6 milioane dolari), “România, land of choice” – 2009.
Avem mai multe modalități de clasificare ale hotelurilor, în funcție de mărime sau facilitățile oferite:
Un criteriu de clasificare îl reprezintă dimensiunea.
Hotelurile mici au mai puțin de 100 de camere.
Cele medii au de obicei între 100 și 200 de camere.
Hotelurile mari au de obicei mai mult de 200 de camere.
Dimensiunea unui hotel îi afectează modul de organizare și desfășurare a activității.
De asemena hotelurile diferă în funcție de serviciile pe care le oferă, existînd trei categorii:
Servicii complete.(Full-Service) Aceste hoteluri asigura o mare varietate de servicii respectiv cazare, masa, room-service ,spalatorie ,inchirieri birouri etc.
Economic. Hotelurile de tip economic au tendița de a oferi servicii mai ieftine și gama acestora fiind evident mai limitată.
Self-catering. Hotelurile de tip self-catering nu oferă nici un alt serviciu cu excepția asigurării cazării
Prezentarea departementelor firmei
Organizarea activității într-un hotel depinde, în principal, de mărimea hotelului. Una din diferențele majore constă în aceea că într-un hotel mic, directorul este adesea proprietarul, în timp ce într-un hotel mare există un consiliu de conducere. O altă diferență este aceea că, într-un hotel mare personalul este strict specializat, în timp ce într-un hotel mic un angajat îndeplinește mai multe activități. Astfel în cadrul unui hotel putem distinge următoarele departamente de bază:
1. Alimentație – Departamentul alimentație oferă diverse facilitați, preparate culinare si băuturi. În hotelurile din SUA acest departament se numeste "Food and Beverage". Specific acestui departament sunt cafenele, restaurante și room-service.
2. Vânzări și marketing – Acest departament are responsabilitatea de a găsi noi afaceri pentru hotel. Acestea pot fi închirierea de camere, organizarea de reuniuni și team-building-uri ale altor companii, de asemenea, relațiile cu publicul și promovarea vânzărilor prin publicitatea hotelului.
3. Contabilitate – Acest departament se ocupă de activitățile financiare ale hotelului. Activitățile financiare pot include încasări și operațiuni bancare, procesarea ștatelor de plată, pregătirea rapoartelor de audit și bilanțurilor.
4. Întreținere – Departamentul întreținere este responsabil cu întreținerea instalațiilor de încălzire, electrice si de iluminat, tehnico-sanitare etc. Execută toate lucrările de tamplărie, tapițerie, zidărie, atât în interiorul cât și în exteriorul hotelului.
5. Securitate – Securitatea hotelului reprezintă siguranța și securitatea clienților, vizitatorilor și angajaților hotelului și a bunurilor acestora. Aceasta poate include supravegherea si monitorizarea prin echipamente video sau personal etc.
6. Personal și training – Departamentul de resurse umane este responsabil pentru recrutarea și selecționarea personalului precum și de implementarea de programe de training. În prezent, hotelurile tind să pună tot mai mare accent pe training și dezvoltarea personalului, precum și pe revizuirea politicilor de recrutare de personal
7. Divizia cazare – Se desfășoara închirierea camerelor de hotel, precum si asigurarea de servicii. Are in componență mai multe departamente și sectiuni, astfel deosebindu-se serviciile front-office (recepție, în hotelurile mai mici) și departamentul de etaj (housekeeping).
Hotelul are 7 etaje, cu câte 10 camere pe etaj structurate 3 camere single, 3 camere double si 4 apartamente. Fiecare camera este dotată cu aer condiționat, frigider, televizor. Camerele disponibile sunt următoarele:
cameră cu pat individual(single), reprezentând spațiul destinat folosirii de către o singură persoană;
cameră cu pat matrimonial(double), reprezentând spațiul destinat folosirii de către una sau două persoane;
apartament – două camere diferite, una cu rol de dormitor și una cu rol de cameră de zi;
Ziua hoteliera începe la ora 12:00 și se termina în ziua urmatoare la ora 10:00.
I.3. Prezentarea activității care va fi informatizată
Prezenta lucrare are ca scop informatizarea procesului de gestiune al unui hotel.
În cadrul diviziei cazare se asigură serviciile și dotările pentru turisti, inclusiv cel de închiriere a diverselor camere.
Principala activitate cât si principala sursă de venit a hotelului o reprezintă cazarea in camerele hotelului astfel, în multe cazuri, veniturile realizate din închirierea acestor camere sunt mai mari decât veniturile obținute din toate celelalte servicii puse la dispozitie.
Cu ajutorul acestei aplicatii angajatii hotelului vor avea posibilitatea sa rezerve camera pentru clienti. Astfel se va tine o evidenta mult mai amanunțită a regiștrilor cazării. Angajații pot adăuga servicii noi sau clienți noi. De asemenea se pot adauga angajați noi in baza de date a aplicației , construită pentru o mai ușoară evidență a activității hotelului. De asemenea angajații pot vedea rapoarte despre clienți, rezervări, angajati, servicii si camerele cele mai des rezervate.
Capitolul II – Tehnologii informatice utilizate
Implementarea aplicatiei presupune folosirea unor tehnologii informatice specifice si anume:
II.1. SQL SERVER MANAGEMENT STUDIO
SQL Server este un sistem de gestiune a bazelor de date, care facilitează realizarea de aplicații client-server, într-un mod concurent la o bază de date. El este destinat unui număr mare de utilizatori pentru a efectua tranzacții și schimburi de date, în timp real, cu o bază de date.
SQL Server este utilizat pentru gestionarea a două tipuri de baze de date: OnLine Transaction Processing (OLTP) care asigură reducerea redundanțelor și creșterea vitezei de prelucrare și actualizare, iar baza de date este organizată conform modelului relațional, în tabele bidimensionale și OnLine Analytical Processing (OLAP) care stochează și organizează cantități mari de date, preluate din diverse surse, astfel încât să evalueze informații în timp real.
Bazele de date pot fi organizate în diverse moduri, relațional, multidimensional sau hibrid, iar vizualizarea informațiilor se realizează multidimensional.
SQL Server gestionează datele stocate, procesează tranzacții și pregătește informații pentru procesele decizionale, permite crearea, administrarea bazelor de date și conectarea de la distanță la informațiile conținute, prin intermediul rețelei sau a Internetului. Funcția sa de bază este de a permite accesul rapid și securizat la informații și de a lega aceste informații într-un mod logic.
Utilizatorii nu au acces direct la SQL Server.
Unitatea de măsură pentru depozitarea datelor poartă numele de bază de date. Aceasta reprezintă o colecție de tabele cu coloane de un anumit tip.
SQL Server suporta tipuri de date diverse, printre care amintim:
Integer, Float, Char, Decimal – reprezintă tipuri de date pentru numere și caractere ;
Varchar10 – reprezintă tipuri de date pentru secvențele de caractere sau stringuri, de dimensiune variabilă;
text – reprezintă tipuri de date pentru date sub forma de text;
binar – reprezintă tipuri de date pentru BLOB-uri nestructurate de date.
SQL Server Management Studio oferă facilități de configurare, gestionare și administrare a componentelor. Cu ajutorul lui putem crea noi baze de date, putem reconstrui schema bazei de date, modificând sau adaugând tabele și putem analiza performanța bazei de date.
II.2. Microsoft visual studio 2012
Software-ul utilizat pentru a creea această aplicație este Visual Studio 2012. Acest utilitar interpretează și rulează codul scris în mai multe limbaje, precum C#, C++ sau Visual Basic și este foarte util deoarece are o mulțime de form-uri gata făcute, doar fiind nevoie de importul lor pentru a te folosi de utilitatea lor în totalitate.
Pe lângă această parte Wizard, Visual Studio 2012 oferă utilizatorului posibilitatea de a scrie și cod nativ C# și de a realiza librării statice și dinamice (DLL-uri și LIB-uri). Caracteristicile generale și foarte importante ar fi :
Visual Studio, la fel ca orice alt IDE, include un editor de cod care acceptă evidențierea sintaxei și completarea codului, utilizând IntelliSense nu doar pentru variabile, funcții și metode, dar, de asemenea,și pentru construcții cum ar fi interogările.
Visual Studio include un depanator care funcționează atât ca un program de depanare la nivel de cod sursă cât și la nivel de cod mașină. Acesta funcționează atât cu cod gestionat, precum și cod nativ și poate fi utilizat pentru depanarea aplicațiilor scrise în orice limbaj acceptat de Visual Studio. În plus, se poate atașa de asemenea, la procesele care rulează și de a monitorizarea și depanarea acestor procese.
Visual Studio include o serie de designere vizuale pentru a ajuta la dezvoltarea de aplicații. Aceste instrumente includ: designer pentru form-urile de tip Windows, designer de clasă, designer pentru date, designer pentru internet etc.
Visual Studio include o serie de instrumente : editorul de proprietăți, exploratorul de soluție, exploratorul de date, exploratorul de server etc.
Visual Studio permite dezvoltatorilor să scrie extensii pentru Visual Studio pentru a extinde capacitățile sale. Aceste extensii sunt de tip "plug in" Visual Studio și au menirea de a extinde funcționalitatea acestuia. Extensile vin sub formă de macro-uri, add-in-uri, și a pachetelor. Macro-urile reprezintă sarcini repetabile și acțiuni pe care dezvoltatorii le pot înregistra pentru salvare, reluare, și distribuire.
II.3. Limbajul C#
C# este un limbaj derivat al limbajului C++ și a fost creat în anul 1990, ca fiind un limbaj advesar al limbajului Java. Limbajul C# este un limbaj de programare orientat – obiect, dezvoltat de Microsoft. Limbajul C# dispune de bibliotecile.NET și prin intermediul acestuia se pot dezvolta de la aplicații simple până la ERP-uri complexe.
Limbajul C# este un limbaj ce are doar aproximativ 80 de cuvinte cheie și o mulțime de tipuri de date predefinite, incluzând suport pentru toate tipurile de programare (structurată, bazată pe componente și orientată obiect). Cu ajutorul cuvintelor cheie putem declara noi clase cât și metode și proprietăți ale acestora, de asemenea acestea ne ajută la implementarea elementelor de bază ale programării orientate pe obiecte, și anume la implementarea încapsulării, moștenirii și a polimorfismului.
În limbajul C# definițiile claselor nu necesită fișiere header separate sau fișiere de tipul IDL. O singură clasă poate să implementeze mai multe interfețe. Atunci cand implementează o interfață, clasa în vigoare promite să asigure funcționalitatea specificată de către interfață.
Programele C# pot fi construite din mai multe fișiere sursă cu extensia cs. Fiecare fișier poate conține mai multe domenii de nume (namespaces), acestea conținând declarații de tipuri și anume: clase, structuri, interfețe, delegați și enumerații sau alte domenii de nume, dar pot exista și declarații de tipuri și în afara domeniilor de nume.
În limbajul C#, codul sursă definește o metodă constructor prin intermediul unei metode al cărei nume coincide cu numele tipului. Atunci când compilatorul C# compilează codul sursă, el detectează metoda constructor și adaugă o intrare în tabelul de metadate al definiției metodei din modul.
Compilatorul C# acceptă o sintaxă convenabilă, care permite inițializarea inline a câmpurilor instanței și traduce aceasta în cod al metodei constructor, pentru a efectua inițializarea, aceasta însemnând că trebuie să cunoaștem desfășurarea codului.
Limbajul C# nu permite definirea constructorilor fără parametri pentru un tipurile de valori special pentru a elimina nelămuririle pe care le-ar putea avea realizatorul atunci când este apelat constructorul respectiv. Dacă constructorul nu poate fi definit, compilatorul nu poate genera un cod prin care să-l apeleze automat. În absența unui constructor fără parametri, câmpurile unui tip de valori sunt întotdeauna initializate la valorile 0/null.
II.4 .NET Framework
Putem observa că la baza .NET-ului se află sistemul de operare, iar la nivelul superior sunt limbajele de programare precum C#, VB.NET, precum și JScript.NET. La nivelele intermediare se afla CLS-ul, CTS-ul, FCL-ul, CLR-ul, precum și modulurile dezvoltare ASP.NET, Windows Forms, însă și comunicarea cu baza de date.
Metodologia ADO (ActiveX Data Object) este dezvoltată de Microsoft și are la bază componente ActiveX. ADO este unul dintre cele mai puternice instrumente puse la dispoziția aplicațiilor client, pentru accesul și prelucrarea datelor stocate pe un server de baze de date. Ea oferă posibilitatea programatorului de a scrie o aplicație pentru accesarea și manipularea datelor de la un server de baze de date. ADO suportă obiecte specifice metodologiei client/server (se utilizează într-un sistem client/server inclusiv într-un mediu client/server pentru Web) și aplicațiilor Web.
Colecția de obiecte ADO este integrată în multe medii de dezvoltare de referință, în care se pot dezvolta aplicații client: Microsoft Visual Basic, Visual C++, C++ Builder, Delphi etc. . Colecțiile ADO sunt: Errors, Fields, Parameters, Properties.
Obiectele cele mai importante sunt: obiectul Command (menționează comandă ce se dorește a se executa), obiectul Connection (realizează conectarea la o sursă de baze de date), obiectul Field (referă un câmp dintr-o cerere, dintr-un index, dintr-o relație sau dintr-un set de înregistrări), obiectul Recordset (referă setul de înregistrări dintr-o tabelă sau dintr-o interogare).
ADO este o colecție de obiecte pentru accesul și prelucrarea datelor stocate pe un server de baze de date. Colecția ADO este integrată în multe medii de dezvoltare în care se pot realiza aplicații client (Microsoft Visual Basic .NET, Visual C++ și altele).
Toate colecțiile ADO au aceleași proprietăți (Item, Count), iar dintre metoda Refresh este comună tuturor colecțiilor.
II.5. Limbajul SQL
SQL (Structured Query Language) este în prezent, unul din cele mai puternice limbaje
structurate pentru interogarea bazelor de date relaționale.
Este un limbaj neprocedural și declarativ, deoarece utilizatorul descrie ce date vrea să obțină, fără a fi nevoie să stabilească modalitățile de a ajunge la datele respective. Nu poate fi considerat un limbaj de programare sau unul de sistem, ci mai degrabă face parte din categoria limbajelor de aplicații, fiind orientat pe mulțimi. Foarte frecvent, este utilizat în administrarea bazelor de date client/server, aplicația client fiind cea care generează instrucțiunile SQL. Este un limbaj de programare specific pentru manipularea datelor în sistemele de manipulare a bazelor de date relaționale (RDBMS), iar la origine este un limbaj bazat pe algebra relațională. Acesta are ca scop inserarea datelor, interogații, actualizare și ștergere, modificarea și crearea schemelor, precum și controlul accesului la date. A devenit un standard în domeniu (standardizat ANSI-ISO), fiind cel mai popular limbaj utilizat pentru creearea, modificarea, regăsirea și manipularea datelor de către SGBD-urile (Sistemele de Gestiune a Bazelor de Date) relaționale. Pe lângă versiunile standardizate ale limbajului, există o mulțime de dialecte și variante, unele proprietare, fiind specifice anumitor SGBD-uri și de asemenea conținând extensii pentru a suporta SBD-urile (Sistemele de Baze de Date) obiectuale (obiectual-relaționale).
SQL permite atât accesul la conținutul bazelor de date, cât și la structura acestora.
Instrucțiunile SQL pot fi grupate în:
instrucțiuni de definire a datelor, care permit descrierea structurii BD
instrucțiuni de manipulate a datelor: adaugă, șterge, modifică înregistrări
instrucțiuni de selecție a datelor, care permit consultarea BD
instrucțiuni de procesare a tranzacțiilor
instrucțiuni de control al cursorului
instrucțiuni pivind controlul accesului la date
În limbajul SQL standardizat de ISO nu se folosesc termenii formali de relație, atribut, tuplu, ci tabel, coloană, rând.
Capitolul III – Proiectarea sistemului informatic
III.1. Specificarea cerintelor sistemului informatic
Principala activitate a unui hotel constă in rezervarea și închirierea de camere. Cea mai mare parte a profitului obținut din activitatea hotelieră este provenită din închirierea camerelor. Astfel, în continuare vom pune accent pe modernizarea activității de recepție prin automatizarea procesului de actualizare a disponibilului și de alocare a camerelor.
Clienții hotelului pot opta pentru o rezervare de camere în avans sau pot închiria pe moment la fața locului, însă cu riscul de a nu mai găsi camere disponibile.Rezervare va fi facuta de catre angajatii hotelului cu datele furnizate si doleantele clientilor. Ei pot alege între următoarele tipuri de camere :
camere single ;
camere double;
apartament ;
Tarifele practicate sunt diferențiate pe tipuri de camere.
Recepționerii preiau cererile de rezervare care pot fi transmise prin telefon, fax, sau pe internet(poștă electronică), ei fiind cei care țin evidența numărului de camere rezervate pentru fiecare noapte și care înregistrează toate detaliile relevante pentru fiecare rezervare(tipul camerei, numărul de zile rezervate, etc).
Avantajele care vor fi dobandite in urma implementarii sistemului informatic sunt :
Reducerea timpului de completare a formularelor de rezervare și de înregistrare;
Reducerea numărului de documente ce trebuie completate la înregistrare și la rezervare, prin automatizarea procesului de actualizare a disponibilului și de alocare a camerelor. Reducerea timpului consumat cu crearea listelor cu camerele ce trebuiesc eliberate, a listelor sosirilor, a situației tuturor camerelor;
Creșterea promptitudinii în oferirea unui răspuns clientului cu privire la disponibilitatea tipului de cazare cerut în datele cerute;
Crearea unui sistem sigur și eficient ce protejează împotriva suprarezervarii.
III.2. Analiza sistemului existent
Entitatea reprezintă clase de obiecte ce au proprietăți comune (de obicei din lumea reală) despre care se colectează și stochează informații (de exemplu: firma).
Atributul este o caracteristică prin care se descrie, clasifică sau se exprimă starea unei entități sau asocieri.
Asocierea este legătura logică între două sau mai multe entități.
În urmă analizei sistemului informatic existent au fost identificate următoarele entități :
Tabela Angajat – reține informații privind datele angajaților:
Contine 12 coloane:
-Id_Angajat – reprezinta un identificator unic in baza de date , este primary key si este de tip numeric.Se completeza automat prin mecanismul de autoimplement.
-Nume – reprezinta numele angajatului si este de tip varchar
-Prenume – reprezinta prenumele angajatului si este de tip varchar
-Data_Nasterii – reprezinta data nasterii angajatului si este de tip date
-Telefon – reprezinta numarul de telefon angajatului si este de tip varchar.Din interfata grafica se face validare pe acest numar de telefon si nu poate fi introdus un numar cu lungimea diferita de 10.
-Email – reprezinta adresa de email a angajatului si este de tip varchar
-Adresa – reprezinta adresa angajatului si este de tip varchar
-CNP – reprezinta cnp-ul angajatului si este de tip varchar.Din interfata grafica se valideaza acest cnp, sa fie unic in baza de date , sa inceapa cu 1 sau 2 ,sa nu contina decat cifre, si sa aibe lungimea de 13 caractere.
-Status – reprezinta statusul unui angajat.Poate fi “activ” sau “concediu”.Este de tip varchar
-Functie – reprezinta functia detinuta de angajat.Este de tip varchar
-Salariu – Reprezinta salariul angajatului.Este de tip float.
-Id_Departament – Reprezinta id-ul departamentului din care face parte angajatul.
Tabela Camera – retine informatiile privind camerele din hotel
Contine 4 coloane:
-Id_Camera – reprezinta un identificator unic in baza de date , este primary key si este de tip numeric.Se completeza automat prin mecanismul de autoimplement.
-Numar_Camera – reprezinta numarul camerei. Este de tip numeric.
-Etaj – reprezinta etajul unde este amplasata camera. Este de tip numeric.
-Id_TipCamera – reprezinta tipul camerei. Este de tip numeric.
Tabela Client – contine informatii privind datele de contact ale clientilor
Contine 8 coloane:
-Id_Client – reprezinta un identificator unic in baza de date , este primary key si este de tip numeric.Se completeza automat prin mecanismul de autoimplement.
-Nume – reprezinta numele clientului si este de tip varchar
-Prenume – reprezinta prenumele clientului si este de tip varchar
-Data_Nasterii – reprezinta data nasterii clientului si este de tip date
-Telefon – reprezinta numarul de telefon clientului si este de tip varchar.Din interfata grafica se face validare pe acest numar de telefon si nu poate fi introdus un numar cu lungimea diferita de 10.
-Email – reprezinta adresa de email a clientului si este de tip varchar
-Adresa – reprezinta adresa clientului si este de tip varchar
-CNP – reprezinta cnp-ul clientului si este de tip varchar.Din interfata grafica se valideaza acest cnp, sa fie unic in baza de date , sa inceapa cu 1 sau 2 ,sa nu contina decat cifre, si sa aibe lungimea de 13 caractere.
Tabela Departament – retine informatii referitoare la departamentele hotelului;
Contine 2 coloane:
-Id_Departament – reprezinta un identificator unic in baza de date , este primary key si este de tip numeric. Se completeza automat prin mecanismul de autoimplement.
-Denumire – reprezinta denumirea tipului de department. Este de tip varchar
Tabela Pret – contine informatii privind pretul in functie de luna;
Conține 3 coloane:
-Id_Pret – reprezinta un identificator unic in baza de date , este primary key si este de tip numeric.Se completeza automat prin mecanismul de autoimplement.
-Luna – reprezinta luna anului. Este de tip varchar.
-Suma – reprezinta valoarea unei camera pe noapte .Este de tip float.
Tabela Rezervare – contine informatiile referitoare la rezervarile facute;
Contine 7 coloane:
-Id_Rezervare – reprezinta un identificator unic in baza de date , este primary key si este de tip numeric.Se completeza automat prin mecanismul de autoimplement.
-Id_Client – reprezinta id-ul clientului care a facut rezervarea. Pe baza lui se vor colecta date din tabela Client.
-Id_Camera – reprezinta id-ul camerei care a fost rezervata. Este de tip numeric.
-Data_Sosire – reprezinta data sosirii clientului. Este de tip date.
-Data_Plecare – reprezinta data plecare clientului. Este de tip date.
-Id_Serviciu – reprezinta id-ul serviciului selectat de client.
-Pret_Total – reprezinta suma totala pe care clientul urmeaza sa o achite. Este calculata in functie de (pretul lunii + pretul servicilui) * numarul de zile
Tabela Serviciu – contine informatii prinvind serviciile oferite de hotel;
Contine 4 coloane:
-Id_Serviciu- reprezinta un identificator unic in baza de date , este primary key si este de tip numeric.Se completeza automat prin mecanismul de autoimplement.
-Nume – reprezinta numele serviciului. Este de tip varchar.
-Descriere – reprezinta descrierea serviciului .
-Pret – reprezinta pretul serviciului. Este de tip float.
Tabela TipCamera- contine informatii referioare la tipul camerei;
Contine 3 coloane:
-Id_TipCamera – – reprezinta un identificator unic in baza de date , este primary key si este de tip numeric.Se completeza automat prin mecanismul de autoimplement.
-Numar_Camere – reprezinta numarul de camere , acesta poate avea valorile 1 sau 2.
-Descriere – reprezinta descrierea tipului camerei, acesta poate fi “single”, “double” sau “apartament”
Tabela Utilizator – contine date privind utilizatorii aplicatiei
-User name- reprezinta numele utilizatorului
-Password – reprezinta parola utilizatorului
-Role – reprezinta rolul utilizatorului acesta poate fi “intern” sau “manager”
– Email- reprezinta email-ul ultilizatorului.
III.3. Identificarea procedurilor necesare
Accesul la entitati este restrictionat asftel incat simpli angajati ai hotelului sa nu aiba acces la informatiile prinvind colegii sau superiori lor.In acest caz ei vor avea un cont secundar la baza de date restrictionat accesul la anumite tabele.Pentru angajatii cu functii mai importante accesul la baza de date nu v-a fi restrictionat acesti putand modifica starea sau datele unor angajati.
Principalele comenzi de prelucrare a datelor din tabele sunt: SELECT, INSERT, UPDATE și DELETE.
Operația de creare este realizată prin introducerea în tabelă a unei înregistrări noi ce va conține atributele obiectului pe care dorim să îl creem.
Operația de căutare presupune regăsirea informațiilor memorate pentru a le actualiza sau a le folosi ulterior și se realizează prin interogări parametrizate asupra bazei de date. Operatia de modificare presupune actualizarea continua a bazei de date.
Calculul indicatorilor reprezintă rezultatul datelor de ieșire. Indicatorii sunt calculați pe baza datelor înregistrate în baza de date. În aplicație avem calculul indicatorului pentru suma totala de plata pe care clientul urmeaza sa o achite,precum si diverse calculi pentru indicatori datilor de plecare respective sosire.
Atat pentru Angajati, Clienti, Servicii folosim operatii de adaugare, modificare, stergere, vizualizare. La operatiile de adaugare si modificare sunt facut validari pentru cnp si numar de telefon cat si pentru salariu in cazul angajatiilor.
Pentru usurinta generarii rapoartelor s-au folosit View-uri.
III.4. Proiectarea noului system
Proiectarea noului sistem informatic presupune construirea unei baze de date care sa confere eficienta sistemului ce urmeaza a fi implementat.
III.4.1. Schema Bazei de date
Proiectarea structurii bazei de date se face prin mai multe etape si anume:
se alege structura de gestiune a bazei de date ce v-a fi utilizata pentru implementarea si exploatarea bazei de date;
se proiecteaza schema conceptuala a bazei de date ce presupune stabilirea colectiilor de date, determinarea legaturilor dintre ele si a modului de reprezentare in schema, testarea schemei obtinute si revizuirea ei daca este necesat si descrierea schemei in limbajul de descriere a datele de care dispune SGBD-ul, iar dupa se incarca aceasta descriere in baza de date;
se proiecteaza schema externa a bazei de date ce presupune forma sub care apare schema conceptuala pentru orice utilizator, deoarece, de obicei elemetele care compun schema externa sunt similar cu cele care compun schema conceptuala,depinzand, insa de sistemul de gestiune al bazei de date utilizat;
se proiecteaza schema interna a bazei de date ce presupune modul in care va fi liniarizata schema conceptuala deoarece memorarea datelor pe suportul fizic imbraca numai forma unei structure liniare.
Schema bazei de date ilustrează fiecare tabelă cu coloanele sale și relațiile care se stabilesc între cheile acestora.
O relație poate avea mai multe chei candidate. Cheile unei tabele pot fi de doua feluri: cheie primară și cheie externă.
Cheia primară este cheia candidată ce se folosește în scopul definirii unei relații, de obicei reprezintă coduri ale înregistrărilor memorate în baza de date.
Cheia externă poate sa fie cheie primară în altă tabelă și astfel se face legătura între cele doua tabele.
Tipurile de legături între tabele sunt:
1-M, cheia primară din tabela „părinte” se adaugă în tabela „copil” sub formă de cheie externă;
Baza de date este compusa din 9 tabele:
Figura III.1. Tabela Baza de date.
Figura III.2. Tabela Angajat
Figura III.3. Rezervare
Figura III.4. Camera
Figura III.5. Departament
Figura III.4. Client
Figura III.6. Pret
Figura III.7. Serviciu
Figura III.8. Tip Camera
Figura III.9. Utilizator
Schema Bazei de date pentru aplicatie:
Figura III.10. Schema Bazei de date
Capitolul IV – Dezvoltarea si implementarea sistemului informatic
IV.1. Proiectarea prelucarilor
Prelucrarea datelor reprezinta accesarea lor. In aplicatie este utilizata o interfata dezvoltata in C#, iar ca sa putem efectua prelucrari asupra datelor trebuie sa avem in vedere metodele de acces pentru citirea,inserarea, actualizarea si stergerea informatiei din baza de date.
Pentru citirea din baza de date definim un obiect de tip SqlConnection prin care se realizeaza conexiunea cu baza de date,iar dupa definim secventa de cod ce va executa operatia de interogare in baza de date
SqlConnection conn = new SqlConnection(connStr); string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True"; string queryStr = "select * from Departament where Denumire ='" + cb_departament.Text + "'";
După ce definim un obiect de tip SqlCommand, deschidem conexiunea cu comanda:
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
Conexiunea se închide cu comanda:
conn.Close();
IV.2. Implementarea aplicatiei:
Pentru a implementa aplicația trebuie mai întâi sa cunoaștem care este scopul pentru care a fost facută și metodele care vor fi implementate, care sunt obiectivele principale ale acesteia și apoi ne alegem mediul în care o creem.
După ce creem baza de date și tabelele necesare pentru începerea aplicației, construim interfața.
Interfața aplicației se face în primul rând prin crearea meniului, apoi populăm baza de date, îi realizăm schema și aplicației îi definim metodele de acces la baza de date, îi creem metodele de realizare a funcționalităților și le asociem la opțiunile meniului.
Pentru a coordona activitatea unui hotel avem de o solutie software care sa acopere o gama medie de activitati ,optimizand atat timpul cat si munca personalului.
Fereastra parinte din cadrul aplicatiei faciliteaza accesul la baza de date:
Am folosit doua label-uri: utilizator si parola, 2 text box-ur si un buton.La actiunea de click pe buton se verifica daca exista utilizator cu parola respectiva in baza de date. Daca exista se preia rolul.
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string user = tb_user.Text;
string pass = tb_password.Text;
string queryStr = "select * from Utilizator where UserName ='" + user + "'";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
string dbuser="";
string dbpass="";
string dbrole="";
int i=0;
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{ i++;
dbuser = rdr["UserName"].ToString();
dbpass = rdr["Password"].ToString();
dbrole = rdr["Role"].ToString();
}
}
}
if (i==0) {
MessageBox.Show("Userul nu exista");
}
else if (dbpass == pass)
{
if (dbrole == "Admin") { menuStrip1.Visible = true; angajatiToolStripMenuItem.Visible = true; }
else { menuStrip1.Visible = true; }
labelUtil.Visible = false;
labelPass.Visible = false;
tb_user.Visible = false;
tb_password.Visible = false;
button1.Visible = false;
}
else
MessageBox.Show("Parola incorecta");
conn.Close()
Figura IV.11. Login
Daca rolul utilizatorului este “admin “ atunci meniu care va aparea este cel din figura 4 , daca rolul utilizatorului nu este “admin” atunci meniul care va aparea este cel din figura 5.
Figura IV.12. Meniu admin
Figura IV.13. Meniu intern
Pentru efectuarea unei noi rezervari se va afisa pe ecranul form-ul din figura 6. Am utilizat 6 label-uri , 3 butoane, 2 text box-uri, 2 combo box-uri si 2 date picker. La actiunea primului buton din fereastra “Adauga Client Nou” se face o redictionare catre ferestra de adaugare client. Butonul “Calcul Pret” calculeaza pretul total care urmeaza sa fie achitat de client in momentul sosirii. Butonul “Adauga Rezervare” adauga datele din text box-uri,combo box-uri si date pick-re in baza de date.
La selectarea datilor se face o selectie din baza de date a camerelor care sunt libere in perioada rezervarii. Selectul folosit este urmatorul:
string queryStr = "select c.Numar_Camera , tc.Descriere from rezervare r right join camera c on r.Id_Camera=c.Id_Camera left join TipCamera tc on c.Id_TipCamera=tc. Id_TipCamera where r.Data_Sosire>" + "'" + Convert.ToDateTime(dt_ sosire.Text) + "' or r.Data_Plecare<"+ "'" + Convert.ToDateTime(dt_sosire.Text) +"' or r.Data_Plecare is NULL";
Figura IV.14. Rezevare noua
Pentru modificarea, stergerea sau afisarea revervarilor pe ecran se v-a deschide fereastra din figura 7. Am folosit un datagridview, 4 butoane, 2 time pick-re, 2 combo box-uri si 2 text box-uri , acestea din urma fiind read-only. La deschiderea ferestrei in data grid view vor fi afisate toate rezervarile facut pana la data curenta . Butonul “Sterge Rezervare “ sterge rezervarea selectata din baza de date.Butonul “Modifica Rezervare” modifica rezervarea in baza de date.
Figura IV.15. Modifica,Sterge Afiseaza rezervari
Pentru tabela Serviciu sunt oferite operatii de inserare, actualizare, stergere si vizualizare:
Pentru inserare form-ul arata astfel: 2 text box-uri , 1 rich text box, 3 label-uri si 1 buton. La actiunea butonului “Adauga” se va adauga un nou serviciu in baza de date cu datele din form. La adaugare este facuta validare pentru pret.
Figura IV.16. Adauga serviciu
Pentru stergere formul este cel din figura 9.Sunt folosite : 1 label , un textbox si un buton.Cand butonul este apasat este sters din baza de date serviciul cu numele introdus in textbox.
Figura IV.17. Sterge serviciu
Pentru inserare form-ul arata astfel: 3 text box-uri , 1 rich text box, 3 label-uri si 1 buton. La actiunea butonului “Afiseaza” se vor completa datele din form cu datele din baza de date.Apoi la apasarea butonului “Modifica” datele serviciului sunt actualizate in baza de date cu cu cele introduse.
Figura IV.18. Modifica serviciu
Pentru tabela Client sunt oferite operatii de inserare, actualizare, stergere si vizualizare:
Pentru inserare formul este cel din figura 12. Sunt folosite 7 labeluri,1 date picker,1 rich text-box,si 5 text-boxuri.La apasarea butonului de adauga se efectueaza insertul in baza de date.
Figura IV.19. Adauga Client
Pentru vizualizare , formul este cel din figura 11.S-a folosit un datagrid-view.
Figura IV.20. Vizualizare servicii
Pentru inserare formul este cel din figura 13. Sunt folosite 7 labeluri,1 date picker,1 rich text-box,si 6 text-boxuri.La apasarea butonului de “modifica” se actualizeaza in baza de date.
Figura IV.21. Modifica Client
Stergerea este prezentata in formul din figura 14.Stergerea in baza de date se face la apasarea butonului “Sterge” dupa CNP-ul clientului.
Figura IV.22. Sterge Client
Pentru vizualizarea clientilor s-a folosit un data grid-view , cel din figura 15.
Figura IV.23. Vizualizare Clienti
Pentru inserare formul este cel din figura 13. Sunt folosite 11labeluri,1 date picker,1 rich text-box,si 7 text-boxuri,2 combo boxuri.La apasarea butonului de “Adauga” se insereaza angajatul in baza de date.
Figura IV.23. Adauga Angajat
Stergerea angajatului se face preluand cnp-ul dintr-un textbox apasand pe butonul de ” Sterge”.
Figura IV.24. Sterge Angajat
Modificare angajatului se face preluand datele din formul prezentat in figura 18 apasand pe butonul de ” Modifica”.
Figura IV.25. Modifica Angajat
Vizualizarea este prezentata in figura 19.S-au folosit 2 datagrid view-uri : unul pentru afisarea angajatilor si unul pentru afisare departamentelor.
Figura IV.26. Vizualizare Angajati
Ȋn timpul dezvoltării aplicatiei am realizat mai multe rapoarte cu ajutorul Addon-ului Crystal Reports unde evidențiem : clientii cu cele mai multe cazari, cele mai selectate servicii de catre client, totalul angajatilor per departamente de tip pie-chart, topul celor mai rezervate tipuri de camere, rezervarile cu cea mai mare pret.
Figura IV.27. – Raport Departamente
Figura IV.28. – Raport Servicii
Pe langă menirea principală adică recepție hotel, disponibilități camere, avem si unele facilitați oferite de program cum ar fi memorarea tuturor clienților care au fost cazați in hotelul nostru și opțiunile de modificare a datelor de contact pentru client și afișare a datelor de contact ȋn caz de nevoie.
Momentan hotelul pentru care este făcut acest proiect nu are implementat nici un fel de program pentru gestiune, ci totul se face manual, totul este scris de mȃnă ȋn registre ȋn niste cărti mari care trebuiesc păstrate dealungul timpului.
Pe viitor aplicația ar putea fi imbunătățită prin aducerea mai multor facilități ȋn partea de rezervare, rezervarea ar putea fi făcută și on-line și datele transmise de către client se pot completa intr-un formular standard si baza de date să se populeze automat din acel formular on-line.
Am putea adăuga mai multe statistici ca pe viitor să putem face anumite alegeri manageriale, putem dezvolta mai multe teste de opinie petru fiecare department in parte.
Concluzii
Putem spune că aplicația dezvoltată pentru recepția unui hotel și pentru gestiunea disponibilității camerelor unui hotel ȋndeplineste toate obiectivele propuse . Aceasta aplicație dezvoltată în C# și care folosește o bază de date SQL acoperă cele mai importante funcții pe care ar trebui implementată într-un astfel de sistem.
După cum am menționat și mai sus principala activitate cât si principala sursă de venit a hotelului o reprezintă ȋnchirierea camerelor și în multe cazuri, veniturile realizate din închirierea camerelor sunt mai mari decât cele obținute din toate celelalte servicii oferite, la un loc.
Aplicația a satisfăcut următoarele cerințe:
reducerea timpului de completare a formularelor de rezervare și de înregistrare;
Acum clientul nu va mai fi nevoit sa completeze nici un fel de document de cazare.
reducerea numărului de documente ce trebuie completate la o înregistrare și la rezervare, prin automatizarea procesului de actualizare și de alocare a camerelor;
monitorizarea pesonalului care a făcut rezervările, înregistrarile și diversele modificări sau anulări;
introducerea in sistem a datelor este unica si se face o singura dată;
este User-Friendly;
reducerea timpului consumat cu crearea listelor cu camerele ce trebuiesc eliberate, a listelor sosirilor, a situației tuturor camerelor;
creșterea promptitudinii în oferirea unui răspuns clientului cu privire la disponibilitatea tipului de cazare cerut în datele cerute;
crearea unui sistem sigur și eficient ce protejează împotriva suprarezervarii.
securitatea datelor prin acces limitat
Bibliografie
Andronie M., Lungu I, Bâră A, Administrarea bazelor de date, Editura ASE, 2008.
Botezatu C., Mihălcescu C., Iacob I. Sisteme informatice cu baze de date în turism, Editura Universitară, București, 2005
Grimes Richard, Dezvoltarea aplicațiilor cu Visual Studio .NET, Editura Teora, Bucuresti, 2002.
Ionescu Felicia, Baze de Date Relationale si Aplicatii, Edit. Tehnica, Bucuresti, 2004.
Lungu Ion, Bâră Adela Sisteme informatice executive, Editura ASE, Bucuresti, 2007.
Măgureanu, G. Legislație hotelieră, Editura Universul juridic, București, 2010.
Microsoft Corp. Programarea Orientată pe Obiecte și Programarea Vizuală .NET Framework ,Bucuresti, Editia 2008.
Munteanu Alin, Sofran Cristina Ofelia Anale. Seria informatică. Vol II fasc. II . Sisteme informatice – o privire de ansamblu, Editura Augusta, Timisoara, 2004.
Munteanu Mihaela, Săbău Gh., Baze de date, Editura MatrixRom, București, 2008.
Onete Bogdan, Sisteme informaționale pentru afaceri, Editura ASE, București 2007.
Pisău Gh., Toma C., Mihăilescu I., Elaborarea și introducerea sistemelor informatice, Editura Tehnică, 1975.
Radu I., Ursăcescu M., Ioniță F., Informatică pentru managementul firmei, Editura Tribuna Economică, București, 2001.
Richter Jeffrey Microsoft .NET Framework, Editura Teora , Bucuresti, 2002.
Săbău Gh., Lungu I., Velicanu M., Munteanu M., Ionescu S., Posdarie E., Daniela S., Sisteme informatice – Analiza, proiectare si implementare, Editura Economică , 2003.
Stepan Aurel, Petrov, Gheorghe, Iordan, Victoria, Fundamentele proiectarii si realizarii sistemelor informatice, Editura Mirton, Timisoara, 1995.
Smeureanu I, Dârdala M. Visual C#. Net, Editura Cison, 2004
Stanciu Victoria, Gavrilă Alexandru, Mangiuc Dragoș, Bogdan,Gheorghe, Sahlean. Proiectarea sistemelor informatice., Editura Dual Tech, București.
Stepan, A., Petrov, G., Iordan, V. Fundamentele proiectarii si realizarii sistemelor informatice, Editura Mirton, Timisoara, 1995.
Ursărescu, M., Sisteme informatice – O abordare între clasic și modern, Editura Economică, București, 2002.
Velicanu M., Lungu I., Munteanu M., Ionescu S. Sisteme de baze de date. Teorie și practică, Editura Petrion București, 2003.
Alte surse
– www.wikipedia.com
– www.stackoverflow.com
– www.msdn.microsoft.com
– http://turism.gov.ro/
– http://www.infotravelromania.ro/
ANEXE
Pentru inserarea unui angajat:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Licentaapp
{
public partial class AdaugaAngajat : Form
{
public AdaugaAngajat()
{
InitializeComponent();
}
private void label7_Click(object sender, EventArgs e)
{
}
public static bool IsNumeric(string s)
{
try
{
float.Parse(s);
}
catch
{
return false;
}
return true;
}
public static bool CNPValid(string s)
{
bool valid = false;
if (s.StartsWith("1") || s.StartsWith("2"))
{
if (s.Length == 13) {
try
{
float.Parse(s);
valid = true;
}
catch
{
valid = false;
}
}
}
return valid;
}
public static bool TelefonValid(string s)
{
if (s.Length == 10)
return true;
else
return false;
}
private void button1_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string insertQuery = "insert into Angajat (Nume, Prenume, Data_Nasterii, Telefon, Email, Adresa, Cnp, Status,Pozitie,Salariu,Id_Departament) values (@Nume, @Prenume, @Data_Nasterii, @Telefon, @Email, @Adresa, @Cnp, @Status,@Pozitie,@Salariu,@Id_Departament)";
string queryStr = "select * from Departament where Denumire ='" + cb_departament.Text + "'";
int iddep = 0 ;
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
iddep = Int32.Parse(rdr["Id_Departament"].ToString());
}
}
}
if (IsNumeric(tb_salariu.Text) && CNPValid(tb_cnp.Text) && TelefonValid(tb_tel.Text))
{
using (var cmd = new SqlCommand(insertQuery, conn))
{
cmd.Parameters.AddWithValue("@Nume", tb_nume.Text);
cmd.Parameters.AddWithValue("@Prenume", tb_prenume.Text);
cmd.Parameters.AddWithValue("@Data_Nasterii", Convert.ToDateTime(dt_data.Text));
cmd.Parameters.AddWithValue("@Telefon", tb_tel.Text);
cmd.Parameters.AddWithValue("@Email", tb_email.Text);
cmd.Parameters.AddWithValue("@Adresa", rb_adreas.Text);
cmd.Parameters.AddWithValue("@Cnp", tb_cnp.Text);
cmd.Parameters.AddWithValue("@Status", cb_status.Text);
cmd.Parameters.AddWithValue("@Pozitie", tb_poz.Text);
cmd.Parameters.AddWithValue("@Salariu", tb_salariu.Text);
cmd.Parameters.AddWithValue("@Id_Departament", iddep);
try
{
cmd.ExecuteNonQuery();
MessageBox.Show("Angajatul a fost inserat!");
}
catch (Exception ex)
{
MessageBox.Show("Un angajat cu acelasi cnp deja exista!");
}
}
}
else if (!IsNumeric(tb_salariu.Text))
{
MessageBox.Show("Salariul nu este introdus corect!");
}
else if (!CNPValid(tb_cnp.Text)) {
MessageBox.Show("CNP-ul nu este valid!");
}
else { MessageBox.Show("Numarul de telefon nu este introdus corect!"); }
}
private void AdaugaAngajat_Load(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
private void label2_Click(object sender, EventArgs e)
{
}
private void label3_Click(object sender, EventArgs e)
{
}
private void label4_Click(object sender, EventArgs e)
{
}
private void label5_Click(object sender, EventArgs e)
{
}
private void label6_Click(object sender, EventArgs e)
{
}
private void label8_Click(object sender, EventArgs e)
{
}
private void label9_Click(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void tb_idangajat_TextChanged(object sender, EventArgs e)
{
}
}
}
Pentru stergere angajat :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Licentaapp
{
public partial class StergeAngajat : Form
{
public StergeAngajat()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string insertStr = "Delete from Angajat where Cnp ='" + tb_cnp.Text + "'";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
using (var cmd = new SqlCommand(insertStr, conn))
{
cmd.ExecuteNonQuery();
}
MessageBox.Show("Angajatul a fost sters");
}
}
}
Pentru modificare angajat:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Licentaapp
{
public partial class ModificaAngajat : Form
{
public ModificaAngajat()
{
InitializeComponent();
}
public static bool IsNumeric(string s)
{
try
{
float.Parse(s);
}
catch
{
return false;
}
return true;
}
public static bool CNPValid(string s)
{
bool valid = false;
if (s.StartsWith("1") || s.StartsWith("2"))
{
if (s.Length == 13)
{
try
{
float.Parse(s);
valid = true;
}
catch
{
valid = false;
}
}
}
return valid;
}
public static bool TelefonValid(string s)
{
if (s.Length == 10)
return true;
else
return false;
}
private void Modifica_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string queryStr = "Update Angajat Set Nume=@Nume,Prenume=@Prenume,Data_Nasterii=@Data_Nasterii,Telefon=@Telefon,Email=@Email,Adresa=@Adresa,Status=@Status,Pozitie=@Pozitie,Salariu=@Salariu,Id_Departament=@Id_Departament where Cnp='" + tb_cautacnp.Text + "'";
string queryStr2 = "select * from Departament b where Denumire ='" + cb_dep.Text + "'";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
int iddep = 0;
using (var cmd = new SqlCommand(queryStr2, conn))
{
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
iddep = Int32.Parse(rdr["Id_Departament"].ToString());
}
}
}
if (IsNumeric(tb_salariu.Text) && TelefonValid(tb_tel.Text))
{
using (var cmd = new SqlCommand(queryStr, conn))
{
cmd.Parameters.AddWithValue("@Nume", tb_nume.Text);
cmd.Parameters.AddWithValue("@Prenume", tb_prenume.Text);
cmd.Parameters.AddWithValue("@Data_Nasterii", Convert.ToDateTime(dt_data.Text));
cmd.Parameters.AddWithValue("@Telefon", tb_tel.Text);
cmd.Parameters.AddWithValue("@Email", tb_email.Text);
cmd.Parameters.AddWithValue("@Adresa", rb_adresa.Text);
cmd.Parameters.AddWithValue("@Status", cb_status.Text);
cmd.Parameters.AddWithValue("@Pozitie", tb_functie.Text);
cmd.Parameters.AddWithValue("@Salariu", tb_salariu.Text);
cmd.Parameters.AddWithValue("@Id_Departament", iddep);
try
{
cmd.ExecuteNonQuery();
MessageBox.Show("Angajatul a fost modificat cu succes!");
}
catch (Exception ex)
{
MessageBox.Show("A aparut o problema.Va rugam incercati mai tarziu : " + ex.ToString());
}
}
}
else if (!IsNumeric(tb_salariu.Text))
{
MessageBox.Show("Salariul nu este introdus corect!");
}
else { MessageBox.Show("Numarul de telefon nu este introdus corect!"); }
}
private void button1_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;InitialCatalog=LicentaDB; Integrated Security=True";
string queryStr = "select * from Angajat a,Departament b where a.Id_Departament = b.id_Departament and Cnp ='" + tb_cautacnp.Text + "'";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
using (var cmd = new SqlCommand(queryStr, conn))
{
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
tb_nume.Text = rdr["Nume"].ToString();
tb_prenume.Text = rdr["Prenume"].ToString();
dt_data.Text = rdr["Data_nasterii"].ToString();
tb_tel.Text = rdr["Telefon"].ToString();
tb_email.Text = rdr["Email"].ToString();
rb_adresa.Text = rdr["Adresa"].ToString();
cb_status.Text = rdr["Status"].ToString();
if (rdr["Status"].ToString() == "Activ")
{
cb_status.Items.Add("Concediu");
cb_status.Items.Add("Activ");
}
else {
cb_status.Items.Add("Activ");
cb_status.Items.Add("Concediu");
}
tb_functie.Text = rdr["Pozitie"].ToString();
tb_salariu.Text = rdr["Salariu"].ToString();
//tb_iddep.Text = rdr["Id_Departament"].ToString();
cb_dep.Text = rdr["Denumire"].ToString();
cb_dep.Items.Add("Alimentatie");
cb_dep.Items.Add("Vanzari si Marketing");
cb_dep.Items.Add("Contabilitate");
cb_dep.Items.Add("Intretinere");
cb_dep.Items.Add("Securitate");
cb_dep.Items.Add("Personal si Training");
cb_dep.Items.Add("Cazare");
}
}
}
conn.Close();
}
private void label9_Click(object sender, EventArgs e)
{
}
}
}
Rezervare:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Licentaapp
{
public partial class AdaugaRezervare : Form
{
public AdaugaRezervare()
{
InitializeComponent();
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
// string insertQuery = "insert into Angajat (Nume, Prenume,Data_Nasterii, Telefon, Email, Adresa, Cnp, Status,Pozitie,Salariu,Id_Departament) values (@Nume, @Prenume, @Data_Nasterii, @Telefon, @Email, @Adresa, @Cnp, @Status,@Pozitie, @Salariu, @Id_Departament)";
string queryStr = "select c.Numar_Camera , t.Descriere from Camera c,TipCamera t where c.Id_TipCamera=t.Id_TipCamera";
// string queryStr =
string queryStr2 = "select * from Serviciu";
int iddep = 0;
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
cb_camera.Items.Add(rdr["Numar_Camera"].ToString() + "-" + rdr["Descriere"].ToString());
}
}
}
using (var cmd = new SqlCommand(queryStr2, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
cbserviciu.Items.Add(rdr["Nume"].ToString());
}
}
}
conn.Close();
}
public static bool IsNumeric(string s)
{
try
{
float.Parse(s);
}
catch
{
return false;
}
return true;
}
public static bool CNPValid(string s)
{
bool valid = false;
if (s.StartsWith("1") || s.StartsWith("2"))
{
if (s.Length == 13)
{
try
{
float.Parse(s);
valid = true;
}
catch
{
valid = false;
}
}
}
return valid;
}
private void button1_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
// string insertQuery = "insert into Angajat (Nume, Prenume, Data_Nasterii, Telefon, Email, Adresa, Cnp, Status,Pozitie,Salariu,Id_Departament) values (@Nume, @Prenume, @Data_Nasterii, @Telefon, @Email, @Adresa, @Cnp, @Status,@Pozitie,@Salariu,@Id_Departament)";
string queryStr = "select * from Client where Cnp = " + "'" + tb_cnp.Text + "'";
string queryStr2 = "select * from Serviciu where Nume = " + "'" + cbserviciu.Text + "'";
int iddep = 0;
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
int id_client=0;
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
id_client = Int32.Parse(rdr["Id_Client"].ToString());
}
}
}
int id_serviciu=0;
using (var cmd = new SqlCommand(queryStr2, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
id_serviciu = Int32.Parse(rdr["Id_Serviciu"].ToString());
}
}
}
int poz = cb_camera.Text.IndexOf("-");
string numar = cb_camera.Text.Substring(0, poz);
string queryStr3 = "select * from Camera where Numar_Camera = " + + Int32.Parse(numar);
int id_camera = 0;
using (var cmd = new SqlCommand(queryStr3, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
id_camera = Int32.Parse(rdr["Id_Camera"].ToString());
}
}
}
string insertQuery = "insert into Rezervare (Id_Client, Id_Camera, Data_Sosire, Data_Plecare, Id_Serviciu, Pret_Total) values (@Id_Client, @Id_Camera, @Data_Sosire, @Data_Plecare, @Id_Serviciu, @Pret_Total)";
using (var cmd = new SqlCommand(insertQuery, conn))
{
cmd.Parameters.AddWithValue("@Id_Client", id_client);
cmd.Parameters.AddWithValue("@Id_Camera", id_camera);
cmd.Parameters.AddWithValue("@Data_Sosire", Convert.ToDateTime(dt_sosire.Text));
cmd.Parameters.AddWithValue("@Data_Plecare", Convert.ToDateTime(dt_plecare.Text));
cmd.Parameters.AddWithValue("@Id_Serviciu", id_serviciu);
cmd.Parameters.AddWithValue("@Pret_Total", float.Parse(tbpret.Text));
if (CNPValid(tb_cnp.Text))
{
cmd.ExecuteNonQuery();
MessageBox.Show("Rezervarea a fost inserata");
}
else
{
MessageBox.Show("Cnp-ul nu este valid");
}
} //end using
}
private void button2_Click(object sender, EventArgs e)
{
string luna="";
string datasosire = dt_sosire.Text;
if (datasosire.Contains("Janurary")) luna = "Ianuarie";
if (datasosire.Contains("February")) luna = "Februarie";
if (datasosire.Contains("March")) luna = "Martie";
if (datasosire.Contains("April")) luna = "Aprilie";
if (datasosire.Contains("May")) luna = "Mai";
if (datasosire.Contains("June")) luna = "Iunie";
if (datasosire.Contains("July")) luna = "Iulie";
if (datasosire.Contains("August")) luna = "August";
if (datasosire.Contains("September")) luna = "Septembrie";
if (datasosire.Contains("October")) luna = "Octombrie";
if (datasosire.Contains("November")) luna = "Noiembrie";
if (datasosire.Contains("December")) luna = "Decembrie";
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB; Integrated Security=True";
string queryStr = "select * from Pret where Luna = " + "'" + luna + "'";
string queryStr2 = "select * from Serviciu where Nume = " + "'" + cbserviciu.Text + "'";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
float suma = 0;
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
suma = float.Parse(rdr["Suma"].ToString());
}
}
}
float suma2 = 0;
using (var cmd = new SqlCommand(queryStr2, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
suma2 = float.Parse(rdr["Pret"].ToString());
}
}
}
double zile = (Convert.ToDateTime(dt_plecare.Text) – Convert.ToDateTime (dt_sosire.Text)).TotalDays;
float zile2=float.Parse(zile.ToString());
int multiplicator;
if (cb_camera.Text.Contains("Apartament")) multiplicator = 2;
else multiplicator = 1;
float pret1=zile2*(suma+suma2);
pret1=pret1*multiplicator;
float pret = float.Parse(pret1.ToString());
tbpret.Text = pret1.ToString();
}
private void button3_Click(object sender, EventArgs e)
{
AdaugaClient f2 = new AdaugaClient();
f2.Show();
}
private void dt_sosire_ValueChanged(object sender, EventArgs e)
{
cb_camera.Items.Clear();
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB; Integrated Security=True";
// string insertQuery = "insert into Angajat (Nume, Prenume,Data_Nasterii, Telefon, Email, Adresa, Cnp, Status,Pozitie,Salariu,Id_Departament) values (@Nume, @Prenume, @Data_Nasterii, @Telefon, @Email, @Adresa, @Cnp, @Status,@Pozitie, @Salariu, @Id_Departament)";
//string queryStr = "select c.Numar_Camera , t.Descriere ,r.Rezervare from Camera c,TipCamera t where c.Id_TipCamera=t.Id_TipCamera and c.Status = " + "'" + "Liber" + "'";
string queryStr = "select c.Numar_Camera , tc.Descriere from rezervare r right join camera c on r.Id_Camera=c.Id_Camera left join TipCamera tc on c.Id_TipCamera = tc.Id_TipCamera where r.Data_Sosire>" + "'" + Convert.ToDateTime (dt_sosire.Text) + "' or r.Data_Plecare<"+ "'" + Convert.ToDateTime(dt_sosire.Text) +"' or r.Data_Plecare is NULL";
// string queryStr2 = "select * from Serviciu";
int iddep = 0;
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
cb_camera.Items.Add(rdr["Numar_Camera"].ToString() + "-" + rdr["Descriere"].ToString());
}
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Licentaapp
{
public partial class ModificaRezervare : Form
{
public ModificaRezervare()
{
InitializeComponent();
}
private void ModificaRezervare_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'licentaDBDataSet2. AfisareRezervari' table. You can move, or remove it, as needed.
this.afisareRezervariTableAdapter1.Fill(this.licentaDBDataSet2.AfisareRezervari);
// TODO: This line of code loads data into the 'licentaDBDataSet1.AfisareRezervari' table. You can move, or remove it, as needed.
this.afisareRezervariTableAdapter.Fill(this.licentaDBDataSet1.AfisareRezervari);
// TODO: This line of code loads data into the 'licentaDBDataSet.Rezervare' table. You can move, or remove it, as needed.
this.rezervareTableAdapter.Fill(this.licentaDBDataSet.Rezervare);
}
private void button4_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string insertStr = "Delete from Rezervare where Id_Rezervare = '" + Int32.Parse(tb_id.Text) + "'";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
// using (var conn = new SqlConnection(connStr))
using (var cmd = new SqlCommand(insertStr, conn))
{
cmd.ExecuteNonQuery();
}
dataGridView1.Refresh();
MessageBox.Show("Rezervarea a fost stersa");
conn.Close();
}
private void button5_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
// string insertQuery = "insert into Angajat (Nume, Prenume,Data_Nasterii, Telefon, Email, Adresa, Cnp, Status,Pozitie,Salariu,Id_Departament) values (@Nume, @Prenume, @Data_Nasterii, @Telefon, @Email, @Adresa, @Cnp, @Status,@Pozitie, @Salariu, @Id_Departament)";
// string queryStr = "select * from Rezervare where Id_Rezervare = '" + Int32.Parse(tb_id.Text) + "'";
string queryStr = "SELECT r.Id_Rezervare, r.Data_Sosire, r.Data_Plecare, r.Pret_Total, c.Nume, c.Prenume, c.Cnp, cam.Numar_Camera, tc.Descriere, s.Nume as NumeServ " + "FROM dbo.Rezervare AS r INNER JOIN " + " dbo.Camera AS cam ON r.Id_Camera = cam.Id_Camera INNER JOIN " + " dbo.Client AS c ON r.Id_Client = c.Id_Client INNER JOIN " + " dbo.TipCamera AS tc ON cam.Id_TipCamera = tc.Id_TipCamera INNER JOIN " + " dbo.Serviciu AS s ON r.Id_Serviciu = s.Id_serviciu where Id_Rezervare = '" + Int32.Parse(tb_id.Text) + "'";
// string queryStr =
// string queryStr2 = "select * from Serviciu";
int iddep = 0;
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
tb_cnp.Text = rdr["Cnp"].ToString();
dt_sosire.Text = rdr["Data_Sosire"].ToString();
dt_plecare.Text = rdr["Data_Plecare"].ToString();
tbpret.Text = rdr["Pret_Total"].ToString();
cbserviciu.Text = rdr["NumeServ"].ToString();
cb_camera.Text = rdr["Numar_Camera"].ToString() + "-" + rdr["Descriere"].ToString();
}
}
}
string queryStr2 = "select * from Serviciu";
using (var cmd = new SqlCommand(queryStr2, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
cbserviciu.Items.Add(rdr["Nume"].ToString());
}
}
}
string queryStr3 = "select c.Numar_Camera , tc.Descriere from rezervare r right join camera c on r.Id_Camera=c.Id_Camera left join TipCamera tc on c.Id_TipCamera=tc.Id_TipCamera where r.Data_Sosire>" + "'" + Convert.ToDateTime(dt_sosire.Text) + "' or r.Data_Plecare<" + "'" + Convert.ToDateTime(dt_sosire.Text) + "' or r.Data_Plecare is NULL";
using (var cmd = new SqlCommand(queryStr3, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
cb_camera.Items.Add(rdr["Numar_Camera"].ToString() + "-" + rdr["Descriere"].ToString());
}
}
}
}
private void dt_sosire_ValueChanged(object sender, EventArgs e)
{
cb_camera.Items.Clear();
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
// string insertQuery = "insert into Angajat (Nume, Prenume, Data_Nasterii, Telefon, Email, Adresa, Cnp, Status,Pozitie,Salariu,Id_Departament) values (@Nume, @Prenume, @Data_Nasterii, @Telefon, @Email, @Adresa, @Cnp, @Status,@Pozitie,@Salariu,@Id_Departament)";
//string queryStr = "select c.Numar_Camera , t.Descriere ,r.Rezervare from Camera c,TipCamera t where c.Id_TipCamera=t.Id_TipCamera and c.Status = " + "'" + "Liber" + "'";
string queryStr = "select c.Numar_Camera , tc.Descriere from rezervare r right join camera c on r.Id_Camera=c.Id_Camera left join TipCamera tc on c.Id_TipCamera=tc.Id_TipCamera where r.Data_Sosire>" + "'" + Convert.ToDateTime(dt_sosire.Text) + "' or r.Data_Plecare<" + "'" + Convert.ToDateTime(dt_sosire.Text) + "' or r.Data_Plecare is NULL";
// string queryStr2 = "select * from Serviciu";
int iddep = 0;
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
cb_camera.Items.Add(rdr["Numar_Camera"].ToString() + "-" + rdr["Descriere"].ToString());
}
}
}
conn.Close();
}
private void button2_Click(object sender, EventArgs e)
{
string luna = "";
string datasosire = dt_sosire.Text;
if (datasosire.Contains("Janurary")) luna = "Ianuarie";
if (datasosire.Contains("February")) luna = "Februarie";
if (datasosire.Contains("March")) luna = "Martie";
if (datasosire.Contains("April")) luna = "Aprilie";
if (datasosire.Contains("May")) luna = "Mai";
if (datasosire.Contains("June")) luna = "Iunie";
if (datasosire.Contains("July")) luna = "Iulie";
if (datasosire.Contains("August")) luna = "August";
if (datasosire.Contains("September")) luna = "Septembrie";
if (datasosire.Contains("October")) luna = "Octombrie";
if (datasosire.Contains("November")) luna = "Noiembrie";
if (datasosire.Contains("December")) luna = "Decembrie";
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string queryStr = "select * from Pret where Luna = " + "'" + luna + "'";
string queryStr2 = "select * from Serviciu where Nume = " + "'" + cbserviciu.Text + "'";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
float suma = 0;
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
suma = float.Parse(rdr["Suma"].ToString());
}
}
}
float suma2 = 0;
using (var cmd = new SqlCommand(queryStr2, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
suma2 = float.Parse(rdr["Pret"].ToString());
}
}
}
double zile = (Convert.ToDateTime(dt_plecare.Text) – Convert.ToDateTime(dt_sosire.Text)).TotalDays;
float zile2 = float.Parse(zile.ToString());
int multiplicator;
if (cb_camera.Text.Contains("Apartament")) multiplicator = 2;
else multiplicator = 1;
float pret1 = zile2 * (suma + suma2);
pret1 = pret1 * multiplicator;
float pret = float.Parse(pret1.ToString());
tbpret.Text = pret1.ToString();
conn.Close();
}
private void button1_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string queryStr = "Update Rezervare Set Data_Sosire = @Data_Sosire, Data_Plecare=@Data_Plecare,Pret_Total=@Pret_Total,Id_Camera=@Id_Camera,Id_Serviciu=@Id_Serviciu where Id_Rezervare='" + Int32.Parse(tb_id.Text) + "'";
string queryStr2 = "select * from Serviciu where Nume = " + "'" + cbserviciu.Text + "'";
// SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["stringConfig"].ConnectionString);
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
int id_serviciu = 0;
using (var cmd = new SqlCommand(queryStr2, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
id_serviciu = Int32.Parse(rdr["Id_Serviciu"].ToString());
}
}
}
int poz = cb_camera.Text.IndexOf("-");
string numar = cb_camera.Text.Substring(0, poz);
string queryStr3 = "select * from Camera where Numar_Camera = " + +Int32.Parse(numar);
int id_camera = 0;
using (var cmd = new SqlCommand(queryStr3, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
id_camera = Int32.Parse(rdr["Id_Camera"].ToString());
}
}
}
using (var cmd = new SqlCommand(queryStr, conn))
{
//int n = Convert.ToInt32(tb_nm.Text);
// float x = float.Parse(tb_pret.Text);
cmd.Parameters.AddWithValue("@Data_Sosire", Convert.ToDateTime(dt_sosire.Text));
cmd.Parameters.AddWithValue("@Data_Plecare", Convert.ToDateTime(dt_plecare.Text));
cmd.Parameters.AddWithValue("@Pret_Total", tbpret.Text);
cmd.Parameters.AddWithValue("@Id_Camera", id_camera);
cmd.Parameters.AddWithValue("@Id_Serviciu", id_serviciu);
try
{
cmd.ExecuteNonQuery();
MessageBox.Show("Rezervarea a fost modificata cu succes!");
}
catch (Exception ex)
{
MessageBox.Show("A aparut o problema.Va rugam incercati mai tarziu");
}
}
conn.Close();
}
}
}
Serviciu:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Licentaapp
{
public partial class AdaugaServiciu : Form
{
public AdaugaServiciu()
{
InitializeComponent();
}
public static bool IsNumeric(string s)
{
try
{
float.Parse(s);
}
catch
{
return false;
}
return true;
}
private void button1_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string insertQuery = "insert into Serviciu (Nume, Descriere, Pret) values (@Nume, @Descriere, @Pret)";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
if (IsNumeric(tb_pret.Text))
{
using (var cmd = new SqlCommand(insertQuery, conn))
{
cmd.Parameters.AddWithValue("@Nume", tb_serviciu.Text);
cmd.Parameters.AddWithValue("@Descriere", rb_descriere.Text);
cmd.Parameters.AddWithValue("@Pret", tb_pret.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Serviciu a fost inserat!");
}
}
else MessageBox.Show("Introduceti un pret valid!");
}
private void AdaugaServiciu_Load(object sender, EventArgs e)
{
}
}
}
Scripturi baza de date:
USE [master]
GO
/****** Object: Database [LicentaDB] Script Date: 7/14/2014 4:03:04 PM ******/
CREATE DATABASE [LicentaDB]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'LicentaDB', FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\LicentaDB.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'LicentaDB_log', FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\LicentaDB_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [LicentaDB] SET COMPATIBILITY_LEVEL = 110
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [LicentaDB].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [LicentaDB] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [LicentaDB] SET ANSI_NULLS OFF
GO
ALTER DATABASE [LicentaDB] SET ANSI_PADDING OFF
GO
ALTER DATABASE [LicentaDB] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [LicentaDB] SET ARITHABORT OFF
GO
ALTER DATABASE [LicentaDB] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [LicentaDB] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [LicentaDB] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [LicentaDB] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [LicentaDB] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [LicentaDB] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [LicentaDB] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [LicentaDB] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [LicentaDB] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [LicentaDB] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [LicentaDB] SET DISABLE_BROKER
GO
ALTER DATABASE [LicentaDB] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [LicentaDB] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [LicentaDB] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [LicentaDB] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [LicentaDB] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [LicentaDB] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [LicentaDB] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [LicentaDB] SET RECOVERY SIMPLE
GO
ALTER DATABASE [LicentaDB] SET MULTI_USER
GO
ALTER DATABASE [LicentaDB] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [LicentaDB] SET DB_CHAINING OFF
GO
ALTER DATABASE [LicentaDB] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
GO
ALTER DATABASE [LicentaDB] SET TARGET_RECOVERY_TIME = 0 SECONDS
GO
USE [LicentaDB]
GO
/****** Object: Table [dbo].[aaa] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[aaa](
[a] [int] IDENTITY(1,1) NOT NULL,
[b] [int] NULL,
CONSTRAINT [PK_aaa] PRIMARY KEY CLUSTERED
(
[a] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Angajat] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Angajat](
[Id_Angajat] [int] IDENTITY(1,1) NOT NULL,
[Nume] [varchar](50) NOT NULL,
[Prenume] [varchar](50) NOT NULL,
[Data_nasterii] [date] NOT NULL,
[Telefon] [varchar](10) NOT NULL,
[Email] [varchar](50) NOT NULL,
[Adresa] [varchar](100) NOT NULL,
[CNP] [varchar](13) NOT NULL,
[Status] [varchar](25) NOT NULL,
[Pozitie] [varchar](20) NOT NULL,
[Salariu] [float] NOT NULL,
[Id_Departament] [int] NOT NULL,
CONSTRAINT [PK_Angajat] PRIMARY KEY CLUSTERED
(
[Id_Angajat] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Camera] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Camera](
[Id_Camera] [int] IDENTITY(1,1) NOT NULL,
[Numar_Camera] [int] NOT NULL,
[Etaj] [int] NOT NULL,
[Id_TipCamera] [int] NOT NULL,
[Status] [varchar](10) NOT NULL,
CONSTRAINT [PK_Camera] PRIMARY KEY CLUSTERED
(
[Id_Camera] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Client] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Client](
[Id_Client] [int] IDENTITY(1,1) NOT NULL,
[Nume] [varchar](50) NOT NULL,
[Prenume] [varchar](50) NOT NULL,
[Data_Nasterii] [date] NOT NULL,
[Telefon] [varchar](10) NOT NULL,
[Email] [varchar](50) NOT NULL,
[Adresa] [varchar](100) NOT NULL,
[Cnp] [varchar](13) NOT NULL,
CONSTRAINT [PK_Client] PRIMARY KEY CLUSTERED
(
[Id_Client] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Departament] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Departament](
[Id_Departament] [int] NOT NULL,
[Denumire] [varchar](50) NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Pret] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Pret](
[Id_Pret] [int] IDENTITY(1,1) NOT NULL,
[Luna] [varchar](50) NOT NULL,
[Suma] [float] NOT NULL,
CONSTRAINT [PK_Pret] PRIMARY KEY CLUSTERED
(
[Id_Pret] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Rezervare] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Rezervare](
[Id_Rezervare] [int] IDENTITY(1,1) NOT NULL,
[Id_Client] [int] NOT NULL,
[Id_Camera] [int] NOT NULL,
[Data_Sosire] [date] NOT NULL,
[Data_Plecare] [date] NOT NULL,
[Id_Serviciu] [int] NOT NULL,
[Pret_Total] [float] NOT NULL,
CONSTRAINT [PK_Rezervare] PRIMARY KEY CLUSTERED
(
[Id_Rezervare] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Serviciu] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Serviciu](
[Id_serviciu] [int] IDENTITY(1,1) NOT NULL,
[Nume] [varchar](50) NOT NULL,
[Descriere] [varchar](50) NOT NULL,
[Pret] [float] NOT NULL,
CONSTRAINT [PK_Serviciu] PRIMARY KEY CLUSTERED
(
[Id_serviciu] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[TipCamera] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[TipCamera](
[Id_TipCamera] [int] IDENTITY(1,1) NOT NULL,
[Numar_Camere] [int] NOT NULL,
[Descriere] [varchar](70) NOT NULL,
CONSTRAINT [PK_TipCamera] PRIMARY KEY CLUSTERED
(
[Id_TipCamera] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Utilizator] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Utilizator](
[UserName] [varchar](50) NOT NULL,
[Password] [varchar](50) NOT NULL,
[Role] [varchar](50) NOT NULL,
[Email] [varchar](50) NOT NULL,
CONSTRAINT [PK_Utilizator] PRIMARY KEY CLUSTERED
(
[UserName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[aaa] ON
INSERT [dbo].[aaa] ([a], [b]) VALUES (1, 12)
INSERT [dbo].[aaa] ([a], [b]) VALUES (2, 12)
SET IDENTITY_INSERT [dbo].[aaa] OFF
SET IDENTITY_INSERT [dbo].[Angajat] ON
INSERT [dbo].[Angajat] ([Id_Angajat], [Nume], [Prenume], [Data_nasterii], [Telefon], [Email], [Adresa], [CNP], [Status], [Pozitie], [Salariu], [Id_Departament]) VALUES (7, N'a', N'a', CAST(0x2F240B00 AS Date), N'0752108882', N'[anonimizat]', N'pitesti', N'[anonimizat]', N'Concediu', N'Intern2', 70000, 7)
SET IDENTITY_INSERT [dbo].[Angajat] OFF
SET IDENTITY_INSERT [dbo].[Camera] ON
INSERT [dbo].[Camera] ([Id_Camera], [Numar_Camera], [Etaj], [Id_TipCamera], [Status]) VALUES (1, 10, 1, 1, N'Liber')
INSERT [dbo].[Camera] ([Id_Camera], [Numar_Camera], [Etaj], [Id_TipCamera], [Status]) VALUES (2, 200, 2, 2, N'Liber')
INSERT [dbo].[Camera] ([Id_Camera], [Numar_Camera], [Etaj], [Id_TipCamera], [Status]) VALUES (3, 3, 1, 3, N'Liber')
INSERT [dbo].[Camera] ([Id_Camera], [Numar_Camera], [Etaj], [Id_TipCamera], [Status]) VALUES (4, 4, 1, 1, N'Ocupat')
SET IDENTITY_INSERT [dbo].[Camera] OFF
SET IDENTITY_INSERT [dbo].[Client] ON
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465465, N'mihai', N'poro', CAST(0x64380B00 AS Date), N'7521000', N'[anonimizat]', N'bucuresti', N'465')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465467, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465468, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465469, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465470, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465471, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465472, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465473, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465474, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465475, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465476, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465477, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465478, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465479, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465480, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465481, N'a', N'a', CAST(0xC1380B00 AS Date), N'1111111111', N'aaaaa', N'sss', N'1111111111111')
SET IDENTITY_INSERT [dbo].[Client] OFF
INSERT [dbo].[Departament] ([Id_Departament], [Denumire]) VALUES (1, N'Alimentatie')
INSERT [dbo].[Departament] ([Id_Departament], [Denumire]) VALUES (2, N'Vanzari si Marketing')
INSERT [dbo].[Departament] ([Id_Departament], [Denumire]) VALUES (3, N'Contabilitate')
INSERT [dbo].[Departament] ([Id_Departament], [Denumire]) VALUES (4, N'Intretinere')
INSERT [dbo].[Departament] ([Id_Departament], [Denumire]) VALUES (5, N'Securitate')
INSERT [dbo].[Departament] ([Id_Departament], [Denumire]) VALUES (6, N'Personal si Training')
INSERT [dbo].[Departament] ([Id_Departament], [Denumire]) VALUES (7, N'Cazare')
SET IDENTITY_INSERT [dbo].[Pret] ON
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (2, N'Ianuarie', 250)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (3, N'Februarie', 250)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (4, N'Martie', 170)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (5, N'Aprilie', 160)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (6, N'Mai', 270)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (7, N'Iunie', 300)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (8, N'Iulie', 300)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (9, N'August', 300)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (10, N'Septembrie', 230)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (11, N'Noiembrie', 230)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (12, N'Decembrie', 250)
SET IDENTITY_INSERT [dbo].[Pret] OFF
SET IDENTITY_INSERT [dbo].[Rezervare] ON
INSERT [dbo].[Rezervare] ([Id_Rezervare], [Id_Client], [Id_Camera], [Data_Sosire], [Data_Plecare], [Id_Serviciu], [Pret_Total]) VALUES (1, 56465465, 1, CAST(0xC6380B00 AS Date), CAST(0xD4380B00 AS Date), 1, 1592220)
SET IDENTITY_INSERT [dbo].[Rezervare] OFF
SET IDENTITY_INSERT [dbo].[Serviciu] ON
INSERT [dbo].[Serviciu] ([Id_serviciu], [Nume], [Descriere], [Pret]) VALUES (1, N'OfertaXXX', N'3 mese,piscina si 2 femei incluse', 56565)
SET IDENTITY_INSERT [dbo].[Serviciu] OFF
SET IDENTITY_INSERT [dbo].[TipCamera] ON
INSERT [dbo].[TipCamera] ([Id_TipCamera], [Numar_Camere], [Descriere]) VALUES (1, 2, N'Apartament')
INSERT [dbo].[TipCamera] ([Id_TipCamera], [Numar_Camere], [Descriere]) VALUES (2, 1, N'Single')
INSERT [dbo].[TipCamera] ([Id_TipCamera], [Numar_Camere], [Descriere]) VALUES (3, 1, N'Penthouse')
SET IDENTITY_INSERT [dbo].[TipCamera] OFF
INSERT [dbo].[Utilizator] ([UserName], [Password], [Role], [Email]) VALUES (N'a', N'a', N'Admin', N'a')
INSERT [dbo].[Utilizator] ([UserName], [Password], [Role], [Email]) VALUES (N'Administrator', N'Admin', N'Admin', N'[anonimizat]')
INSERT [dbo].[Utilizator] ([UserName], [Password], [Role], [Email]) VALUES (N'User', N'User', N'User', N'[anonimizat]')
USE [master]
GO
ALTER DATABASE [LicentaDB] SET READ_WRITE
GO
Bibliografie
Andronie M., Lungu I, Bâră A, Administrarea bazelor de date, Editura ASE, 2008.
Botezatu C., Mihălcescu C., Iacob I. Sisteme informatice cu baze de date în turism, Editura Universitară, București, 2005
Grimes Richard, Dezvoltarea aplicațiilor cu Visual Studio .NET, Editura Teora, Bucuresti, 2002.
Ionescu Felicia, Baze de Date Relationale si Aplicatii, Edit. Tehnica, Bucuresti, 2004.
Lungu Ion, Bâră Adela Sisteme informatice executive, Editura ASE, Bucuresti, 2007.
Măgureanu, G. Legislație hotelieră, Editura Universul juridic, București, 2010.
Microsoft Corp. Programarea Orientată pe Obiecte și Programarea Vizuală .NET Framework ,Bucuresti, Editia 2008.
Munteanu Alin, Sofran Cristina Ofelia Anale. Seria informatică. Vol II fasc. II . Sisteme informatice – o privire de ansamblu, Editura Augusta, Timisoara, 2004.
Munteanu Mihaela, Săbău Gh., Baze de date, Editura MatrixRom, București, 2008.
Onete Bogdan, Sisteme informaționale pentru afaceri, Editura ASE, București 2007.
Pisău Gh., Toma C., Mihăilescu I., Elaborarea și introducerea sistemelor informatice, Editura Tehnică, 1975.
Radu I., Ursăcescu M., Ioniță F., Informatică pentru managementul firmei, Editura Tribuna Economică, București, 2001.
Richter Jeffrey Microsoft .NET Framework, Editura Teora , Bucuresti, 2002.
Săbău Gh., Lungu I., Velicanu M., Munteanu M., Ionescu S., Posdarie E., Daniela S., Sisteme informatice – Analiza, proiectare si implementare, Editura Economică , 2003.
Stepan Aurel, Petrov, Gheorghe, Iordan, Victoria, Fundamentele proiectarii si realizarii sistemelor informatice, Editura Mirton, Timisoara, 1995.
Smeureanu I, Dârdala M. Visual C#. Net, Editura Cison, 2004
Stanciu Victoria, Gavrilă Alexandru, Mangiuc Dragoș, Bogdan,Gheorghe, Sahlean. Proiectarea sistemelor informatice., Editura Dual Tech, București.
Stepan, A., Petrov, G., Iordan, V. Fundamentele proiectarii si realizarii sistemelor informatice, Editura Mirton, Timisoara, 1995.
Ursărescu, M., Sisteme informatice – O abordare între clasic și modern, Editura Economică, București, 2002.
Velicanu M., Lungu I., Munteanu M., Ionescu S. Sisteme de baze de date. Teorie și practică, Editura Petrion București, 2003.
Alte surse
– www.wikipedia.com
– www.stackoverflow.com
– www.msdn.microsoft.com
– http://turism.gov.ro/
– http://www.infotravelromania.ro/
ANEXE
Pentru inserarea unui angajat:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Licentaapp
{
public partial class AdaugaAngajat : Form
{
public AdaugaAngajat()
{
InitializeComponent();
}
private void label7_Click(object sender, EventArgs e)
{
}
public static bool IsNumeric(string s)
{
try
{
float.Parse(s);
}
catch
{
return false;
}
return true;
}
public static bool CNPValid(string s)
{
bool valid = false;
if (s.StartsWith("1") || s.StartsWith("2"))
{
if (s.Length == 13) {
try
{
float.Parse(s);
valid = true;
}
catch
{
valid = false;
}
}
}
return valid;
}
public static bool TelefonValid(string s)
{
if (s.Length == 10)
return true;
else
return false;
}
private void button1_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string insertQuery = "insert into Angajat (Nume, Prenume, Data_Nasterii, Telefon, Email, Adresa, Cnp, Status,Pozitie,Salariu,Id_Departament) values (@Nume, @Prenume, @Data_Nasterii, @Telefon, @Email, @Adresa, @Cnp, @Status,@Pozitie,@Salariu,@Id_Departament)";
string queryStr = "select * from Departament where Denumire ='" + cb_departament.Text + "'";
int iddep = 0 ;
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
iddep = Int32.Parse(rdr["Id_Departament"].ToString());
}
}
}
if (IsNumeric(tb_salariu.Text) && CNPValid(tb_cnp.Text) && TelefonValid(tb_tel.Text))
{
using (var cmd = new SqlCommand(insertQuery, conn))
{
cmd.Parameters.AddWithValue("@Nume", tb_nume.Text);
cmd.Parameters.AddWithValue("@Prenume", tb_prenume.Text);
cmd.Parameters.AddWithValue("@Data_Nasterii", Convert.ToDateTime(dt_data.Text));
cmd.Parameters.AddWithValue("@Telefon", tb_tel.Text);
cmd.Parameters.AddWithValue("@Email", tb_email.Text);
cmd.Parameters.AddWithValue("@Adresa", rb_adreas.Text);
cmd.Parameters.AddWithValue("@Cnp", tb_cnp.Text);
cmd.Parameters.AddWithValue("@Status", cb_status.Text);
cmd.Parameters.AddWithValue("@Pozitie", tb_poz.Text);
cmd.Parameters.AddWithValue("@Salariu", tb_salariu.Text);
cmd.Parameters.AddWithValue("@Id_Departament", iddep);
try
{
cmd.ExecuteNonQuery();
MessageBox.Show("Angajatul a fost inserat!");
}
catch (Exception ex)
{
MessageBox.Show("Un angajat cu acelasi cnp deja exista!");
}
}
}
else if (!IsNumeric(tb_salariu.Text))
{
MessageBox.Show("Salariul nu este introdus corect!");
}
else if (!CNPValid(tb_cnp.Text)) {
MessageBox.Show("CNP-ul nu este valid!");
}
else { MessageBox.Show("Numarul de telefon nu este introdus corect!"); }
}
private void AdaugaAngajat_Load(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
private void label2_Click(object sender, EventArgs e)
{
}
private void label3_Click(object sender, EventArgs e)
{
}
private void label4_Click(object sender, EventArgs e)
{
}
private void label5_Click(object sender, EventArgs e)
{
}
private void label6_Click(object sender, EventArgs e)
{
}
private void label8_Click(object sender, EventArgs e)
{
}
private void label9_Click(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void tb_idangajat_TextChanged(object sender, EventArgs e)
{
}
}
}
Pentru stergere angajat :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Licentaapp
{
public partial class StergeAngajat : Form
{
public StergeAngajat()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string insertStr = "Delete from Angajat where Cnp ='" + tb_cnp.Text + "'";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
using (var cmd = new SqlCommand(insertStr, conn))
{
cmd.ExecuteNonQuery();
}
MessageBox.Show("Angajatul a fost sters");
}
}
}
Pentru modificare angajat:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Licentaapp
{
public partial class ModificaAngajat : Form
{
public ModificaAngajat()
{
InitializeComponent();
}
public static bool IsNumeric(string s)
{
try
{
float.Parse(s);
}
catch
{
return false;
}
return true;
}
public static bool CNPValid(string s)
{
bool valid = false;
if (s.StartsWith("1") || s.StartsWith("2"))
{
if (s.Length == 13)
{
try
{
float.Parse(s);
valid = true;
}
catch
{
valid = false;
}
}
}
return valid;
}
public static bool TelefonValid(string s)
{
if (s.Length == 10)
return true;
else
return false;
}
private void Modifica_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string queryStr = "Update Angajat Set Nume=@Nume,Prenume=@Prenume,Data_Nasterii=@Data_Nasterii,Telefon=@Telefon,Email=@Email,Adresa=@Adresa,Status=@Status,Pozitie=@Pozitie,Salariu=@Salariu,Id_Departament=@Id_Departament where Cnp='" + tb_cautacnp.Text + "'";
string queryStr2 = "select * from Departament b where Denumire ='" + cb_dep.Text + "'";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
int iddep = 0;
using (var cmd = new SqlCommand(queryStr2, conn))
{
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
iddep = Int32.Parse(rdr["Id_Departament"].ToString());
}
}
}
if (IsNumeric(tb_salariu.Text) && TelefonValid(tb_tel.Text))
{
using (var cmd = new SqlCommand(queryStr, conn))
{
cmd.Parameters.AddWithValue("@Nume", tb_nume.Text);
cmd.Parameters.AddWithValue("@Prenume", tb_prenume.Text);
cmd.Parameters.AddWithValue("@Data_Nasterii", Convert.ToDateTime(dt_data.Text));
cmd.Parameters.AddWithValue("@Telefon", tb_tel.Text);
cmd.Parameters.AddWithValue("@Email", tb_email.Text);
cmd.Parameters.AddWithValue("@Adresa", rb_adresa.Text);
cmd.Parameters.AddWithValue("@Status", cb_status.Text);
cmd.Parameters.AddWithValue("@Pozitie", tb_functie.Text);
cmd.Parameters.AddWithValue("@Salariu", tb_salariu.Text);
cmd.Parameters.AddWithValue("@Id_Departament", iddep);
try
{
cmd.ExecuteNonQuery();
MessageBox.Show("Angajatul a fost modificat cu succes!");
}
catch (Exception ex)
{
MessageBox.Show("A aparut o problema.Va rugam incercati mai tarziu : " + ex.ToString());
}
}
}
else if (!IsNumeric(tb_salariu.Text))
{
MessageBox.Show("Salariul nu este introdus corect!");
}
else { MessageBox.Show("Numarul de telefon nu este introdus corect!"); }
}
private void button1_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;InitialCatalog=LicentaDB; Integrated Security=True";
string queryStr = "select * from Angajat a,Departament b where a.Id_Departament = b.id_Departament and Cnp ='" + tb_cautacnp.Text + "'";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
using (var cmd = new SqlCommand(queryStr, conn))
{
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
tb_nume.Text = rdr["Nume"].ToString();
tb_prenume.Text = rdr["Prenume"].ToString();
dt_data.Text = rdr["Data_nasterii"].ToString();
tb_tel.Text = rdr["Telefon"].ToString();
tb_email.Text = rdr["Email"].ToString();
rb_adresa.Text = rdr["Adresa"].ToString();
cb_status.Text = rdr["Status"].ToString();
if (rdr["Status"].ToString() == "Activ")
{
cb_status.Items.Add("Concediu");
cb_status.Items.Add("Activ");
}
else {
cb_status.Items.Add("Activ");
cb_status.Items.Add("Concediu");
}
tb_functie.Text = rdr["Pozitie"].ToString();
tb_salariu.Text = rdr["Salariu"].ToString();
//tb_iddep.Text = rdr["Id_Departament"].ToString();
cb_dep.Text = rdr["Denumire"].ToString();
cb_dep.Items.Add("Alimentatie");
cb_dep.Items.Add("Vanzari si Marketing");
cb_dep.Items.Add("Contabilitate");
cb_dep.Items.Add("Intretinere");
cb_dep.Items.Add("Securitate");
cb_dep.Items.Add("Personal si Training");
cb_dep.Items.Add("Cazare");
}
}
}
conn.Close();
}
private void label9_Click(object sender, EventArgs e)
{
}
}
}
Rezervare:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Licentaapp
{
public partial class AdaugaRezervare : Form
{
public AdaugaRezervare()
{
InitializeComponent();
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
// string insertQuery = "insert into Angajat (Nume, Prenume,Data_Nasterii, Telefon, Email, Adresa, Cnp, Status,Pozitie,Salariu,Id_Departament) values (@Nume, @Prenume, @Data_Nasterii, @Telefon, @Email, @Adresa, @Cnp, @Status,@Pozitie, @Salariu, @Id_Departament)";
string queryStr = "select c.Numar_Camera , t.Descriere from Camera c,TipCamera t where c.Id_TipCamera=t.Id_TipCamera";
// string queryStr =
string queryStr2 = "select * from Serviciu";
int iddep = 0;
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
cb_camera.Items.Add(rdr["Numar_Camera"].ToString() + "-" + rdr["Descriere"].ToString());
}
}
}
using (var cmd = new SqlCommand(queryStr2, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
cbserviciu.Items.Add(rdr["Nume"].ToString());
}
}
}
conn.Close();
}
public static bool IsNumeric(string s)
{
try
{
float.Parse(s);
}
catch
{
return false;
}
return true;
}
public static bool CNPValid(string s)
{
bool valid = false;
if (s.StartsWith("1") || s.StartsWith("2"))
{
if (s.Length == 13)
{
try
{
float.Parse(s);
valid = true;
}
catch
{
valid = false;
}
}
}
return valid;
}
private void button1_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
// string insertQuery = "insert into Angajat (Nume, Prenume, Data_Nasterii, Telefon, Email, Adresa, Cnp, Status,Pozitie,Salariu,Id_Departament) values (@Nume, @Prenume, @Data_Nasterii, @Telefon, @Email, @Adresa, @Cnp, @Status,@Pozitie,@Salariu,@Id_Departament)";
string queryStr = "select * from Client where Cnp = " + "'" + tb_cnp.Text + "'";
string queryStr2 = "select * from Serviciu where Nume = " + "'" + cbserviciu.Text + "'";
int iddep = 0;
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
int id_client=0;
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
id_client = Int32.Parse(rdr["Id_Client"].ToString());
}
}
}
int id_serviciu=0;
using (var cmd = new SqlCommand(queryStr2, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
id_serviciu = Int32.Parse(rdr["Id_Serviciu"].ToString());
}
}
}
int poz = cb_camera.Text.IndexOf("-");
string numar = cb_camera.Text.Substring(0, poz);
string queryStr3 = "select * from Camera where Numar_Camera = " + + Int32.Parse(numar);
int id_camera = 0;
using (var cmd = new SqlCommand(queryStr3, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
id_camera = Int32.Parse(rdr["Id_Camera"].ToString());
}
}
}
string insertQuery = "insert into Rezervare (Id_Client, Id_Camera, Data_Sosire, Data_Plecare, Id_Serviciu, Pret_Total) values (@Id_Client, @Id_Camera, @Data_Sosire, @Data_Plecare, @Id_Serviciu, @Pret_Total)";
using (var cmd = new SqlCommand(insertQuery, conn))
{
cmd.Parameters.AddWithValue("@Id_Client", id_client);
cmd.Parameters.AddWithValue("@Id_Camera", id_camera);
cmd.Parameters.AddWithValue("@Data_Sosire", Convert.ToDateTime(dt_sosire.Text));
cmd.Parameters.AddWithValue("@Data_Plecare", Convert.ToDateTime(dt_plecare.Text));
cmd.Parameters.AddWithValue("@Id_Serviciu", id_serviciu);
cmd.Parameters.AddWithValue("@Pret_Total", float.Parse(tbpret.Text));
if (CNPValid(tb_cnp.Text))
{
cmd.ExecuteNonQuery();
MessageBox.Show("Rezervarea a fost inserata");
}
else
{
MessageBox.Show("Cnp-ul nu este valid");
}
} //end using
}
private void button2_Click(object sender, EventArgs e)
{
string luna="";
string datasosire = dt_sosire.Text;
if (datasosire.Contains("Janurary")) luna = "Ianuarie";
if (datasosire.Contains("February")) luna = "Februarie";
if (datasosire.Contains("March")) luna = "Martie";
if (datasosire.Contains("April")) luna = "Aprilie";
if (datasosire.Contains("May")) luna = "Mai";
if (datasosire.Contains("June")) luna = "Iunie";
if (datasosire.Contains("July")) luna = "Iulie";
if (datasosire.Contains("August")) luna = "August";
if (datasosire.Contains("September")) luna = "Septembrie";
if (datasosire.Contains("October")) luna = "Octombrie";
if (datasosire.Contains("November")) luna = "Noiembrie";
if (datasosire.Contains("December")) luna = "Decembrie";
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB; Integrated Security=True";
string queryStr = "select * from Pret where Luna = " + "'" + luna + "'";
string queryStr2 = "select * from Serviciu where Nume = " + "'" + cbserviciu.Text + "'";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
float suma = 0;
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
suma = float.Parse(rdr["Suma"].ToString());
}
}
}
float suma2 = 0;
using (var cmd = new SqlCommand(queryStr2, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
suma2 = float.Parse(rdr["Pret"].ToString());
}
}
}
double zile = (Convert.ToDateTime(dt_plecare.Text) – Convert.ToDateTime (dt_sosire.Text)).TotalDays;
float zile2=float.Parse(zile.ToString());
int multiplicator;
if (cb_camera.Text.Contains("Apartament")) multiplicator = 2;
else multiplicator = 1;
float pret1=zile2*(suma+suma2);
pret1=pret1*multiplicator;
float pret = float.Parse(pret1.ToString());
tbpret.Text = pret1.ToString();
}
private void button3_Click(object sender, EventArgs e)
{
AdaugaClient f2 = new AdaugaClient();
f2.Show();
}
private void dt_sosire_ValueChanged(object sender, EventArgs e)
{
cb_camera.Items.Clear();
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB; Integrated Security=True";
// string insertQuery = "insert into Angajat (Nume, Prenume,Data_Nasterii, Telefon, Email, Adresa, Cnp, Status,Pozitie,Salariu,Id_Departament) values (@Nume, @Prenume, @Data_Nasterii, @Telefon, @Email, @Adresa, @Cnp, @Status,@Pozitie, @Salariu, @Id_Departament)";
//string queryStr = "select c.Numar_Camera , t.Descriere ,r.Rezervare from Camera c,TipCamera t where c.Id_TipCamera=t.Id_TipCamera and c.Status = " + "'" + "Liber" + "'";
string queryStr = "select c.Numar_Camera , tc.Descriere from rezervare r right join camera c on r.Id_Camera=c.Id_Camera left join TipCamera tc on c.Id_TipCamera = tc.Id_TipCamera where r.Data_Sosire>" + "'" + Convert.ToDateTime (dt_sosire.Text) + "' or r.Data_Plecare<"+ "'" + Convert.ToDateTime(dt_sosire.Text) +"' or r.Data_Plecare is NULL";
// string queryStr2 = "select * from Serviciu";
int iddep = 0;
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
cb_camera.Items.Add(rdr["Numar_Camera"].ToString() + "-" + rdr["Descriere"].ToString());
}
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Licentaapp
{
public partial class ModificaRezervare : Form
{
public ModificaRezervare()
{
InitializeComponent();
}
private void ModificaRezervare_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'licentaDBDataSet2. AfisareRezervari' table. You can move, or remove it, as needed.
this.afisareRezervariTableAdapter1.Fill(this.licentaDBDataSet2.AfisareRezervari);
// TODO: This line of code loads data into the 'licentaDBDataSet1.AfisareRezervari' table. You can move, or remove it, as needed.
this.afisareRezervariTableAdapter.Fill(this.licentaDBDataSet1.AfisareRezervari);
// TODO: This line of code loads data into the 'licentaDBDataSet.Rezervare' table. You can move, or remove it, as needed.
this.rezervareTableAdapter.Fill(this.licentaDBDataSet.Rezervare);
}
private void button4_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string insertStr = "Delete from Rezervare where Id_Rezervare = '" + Int32.Parse(tb_id.Text) + "'";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
// using (var conn = new SqlConnection(connStr))
using (var cmd = new SqlCommand(insertStr, conn))
{
cmd.ExecuteNonQuery();
}
dataGridView1.Refresh();
MessageBox.Show("Rezervarea a fost stersa");
conn.Close();
}
private void button5_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
// string insertQuery = "insert into Angajat (Nume, Prenume,Data_Nasterii, Telefon, Email, Adresa, Cnp, Status,Pozitie,Salariu,Id_Departament) values (@Nume, @Prenume, @Data_Nasterii, @Telefon, @Email, @Adresa, @Cnp, @Status,@Pozitie, @Salariu, @Id_Departament)";
// string queryStr = "select * from Rezervare where Id_Rezervare = '" + Int32.Parse(tb_id.Text) + "'";
string queryStr = "SELECT r.Id_Rezervare, r.Data_Sosire, r.Data_Plecare, r.Pret_Total, c.Nume, c.Prenume, c.Cnp, cam.Numar_Camera, tc.Descriere, s.Nume as NumeServ " + "FROM dbo.Rezervare AS r INNER JOIN " + " dbo.Camera AS cam ON r.Id_Camera = cam.Id_Camera INNER JOIN " + " dbo.Client AS c ON r.Id_Client = c.Id_Client INNER JOIN " + " dbo.TipCamera AS tc ON cam.Id_TipCamera = tc.Id_TipCamera INNER JOIN " + " dbo.Serviciu AS s ON r.Id_Serviciu = s.Id_serviciu where Id_Rezervare = '" + Int32.Parse(tb_id.Text) + "'";
// string queryStr =
// string queryStr2 = "select * from Serviciu";
int iddep = 0;
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
tb_cnp.Text = rdr["Cnp"].ToString();
dt_sosire.Text = rdr["Data_Sosire"].ToString();
dt_plecare.Text = rdr["Data_Plecare"].ToString();
tbpret.Text = rdr["Pret_Total"].ToString();
cbserviciu.Text = rdr["NumeServ"].ToString();
cb_camera.Text = rdr["Numar_Camera"].ToString() + "-" + rdr["Descriere"].ToString();
}
}
}
string queryStr2 = "select * from Serviciu";
using (var cmd = new SqlCommand(queryStr2, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
cbserviciu.Items.Add(rdr["Nume"].ToString());
}
}
}
string queryStr3 = "select c.Numar_Camera , tc.Descriere from rezervare r right join camera c on r.Id_Camera=c.Id_Camera left join TipCamera tc on c.Id_TipCamera=tc.Id_TipCamera where r.Data_Sosire>" + "'" + Convert.ToDateTime(dt_sosire.Text) + "' or r.Data_Plecare<" + "'" + Convert.ToDateTime(dt_sosire.Text) + "' or r.Data_Plecare is NULL";
using (var cmd = new SqlCommand(queryStr3, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
cb_camera.Items.Add(rdr["Numar_Camera"].ToString() + "-" + rdr["Descriere"].ToString());
}
}
}
}
private void dt_sosire_ValueChanged(object sender, EventArgs e)
{
cb_camera.Items.Clear();
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
// string insertQuery = "insert into Angajat (Nume, Prenume, Data_Nasterii, Telefon, Email, Adresa, Cnp, Status,Pozitie,Salariu,Id_Departament) values (@Nume, @Prenume, @Data_Nasterii, @Telefon, @Email, @Adresa, @Cnp, @Status,@Pozitie,@Salariu,@Id_Departament)";
//string queryStr = "select c.Numar_Camera , t.Descriere ,r.Rezervare from Camera c,TipCamera t where c.Id_TipCamera=t.Id_TipCamera and c.Status = " + "'" + "Liber" + "'";
string queryStr = "select c.Numar_Camera , tc.Descriere from rezervare r right join camera c on r.Id_Camera=c.Id_Camera left join TipCamera tc on c.Id_TipCamera=tc.Id_TipCamera where r.Data_Sosire>" + "'" + Convert.ToDateTime(dt_sosire.Text) + "' or r.Data_Plecare<" + "'" + Convert.ToDateTime(dt_sosire.Text) + "' or r.Data_Plecare is NULL";
// string queryStr2 = "select * from Serviciu";
int iddep = 0;
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
cb_camera.Items.Add(rdr["Numar_Camera"].ToString() + "-" + rdr["Descriere"].ToString());
}
}
}
conn.Close();
}
private void button2_Click(object sender, EventArgs e)
{
string luna = "";
string datasosire = dt_sosire.Text;
if (datasosire.Contains("Janurary")) luna = "Ianuarie";
if (datasosire.Contains("February")) luna = "Februarie";
if (datasosire.Contains("March")) luna = "Martie";
if (datasosire.Contains("April")) luna = "Aprilie";
if (datasosire.Contains("May")) luna = "Mai";
if (datasosire.Contains("June")) luna = "Iunie";
if (datasosire.Contains("July")) luna = "Iulie";
if (datasosire.Contains("August")) luna = "August";
if (datasosire.Contains("September")) luna = "Septembrie";
if (datasosire.Contains("October")) luna = "Octombrie";
if (datasosire.Contains("November")) luna = "Noiembrie";
if (datasosire.Contains("December")) luna = "Decembrie";
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string queryStr = "select * from Pret where Luna = " + "'" + luna + "'";
string queryStr2 = "select * from Serviciu where Nume = " + "'" + cbserviciu.Text + "'";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
float suma = 0;
using (var cmd = new SqlCommand(queryStr, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
suma = float.Parse(rdr["Suma"].ToString());
}
}
}
float suma2 = 0;
using (var cmd = new SqlCommand(queryStr2, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
suma2 = float.Parse(rdr["Pret"].ToString());
}
}
}
double zile = (Convert.ToDateTime(dt_plecare.Text) – Convert.ToDateTime(dt_sosire.Text)).TotalDays;
float zile2 = float.Parse(zile.ToString());
int multiplicator;
if (cb_camera.Text.Contains("Apartament")) multiplicator = 2;
else multiplicator = 1;
float pret1 = zile2 * (suma + suma2);
pret1 = pret1 * multiplicator;
float pret = float.Parse(pret1.ToString());
tbpret.Text = pret1.ToString();
conn.Close();
}
private void button1_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string queryStr = "Update Rezervare Set Data_Sosire = @Data_Sosire, Data_Plecare=@Data_Plecare,Pret_Total=@Pret_Total,Id_Camera=@Id_Camera,Id_Serviciu=@Id_Serviciu where Id_Rezervare='" + Int32.Parse(tb_id.Text) + "'";
string queryStr2 = "select * from Serviciu where Nume = " + "'" + cbserviciu.Text + "'";
// SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["stringConfig"].ConnectionString);
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
int id_serviciu = 0;
using (var cmd = new SqlCommand(queryStr2, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
id_serviciu = Int32.Parse(rdr["Id_Serviciu"].ToString());
}
}
}
int poz = cb_camera.Text.IndexOf("-");
string numar = cb_camera.Text.Substring(0, poz);
string queryStr3 = "select * from Camera where Numar_Camera = " + +Int32.Parse(numar);
int id_camera = 0;
using (var cmd = new SqlCommand(queryStr3, conn))
{
//conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
id_camera = Int32.Parse(rdr["Id_Camera"].ToString());
}
}
}
using (var cmd = new SqlCommand(queryStr, conn))
{
//int n = Convert.ToInt32(tb_nm.Text);
// float x = float.Parse(tb_pret.Text);
cmd.Parameters.AddWithValue("@Data_Sosire", Convert.ToDateTime(dt_sosire.Text));
cmd.Parameters.AddWithValue("@Data_Plecare", Convert.ToDateTime(dt_plecare.Text));
cmd.Parameters.AddWithValue("@Pret_Total", tbpret.Text);
cmd.Parameters.AddWithValue("@Id_Camera", id_camera);
cmd.Parameters.AddWithValue("@Id_Serviciu", id_serviciu);
try
{
cmd.ExecuteNonQuery();
MessageBox.Show("Rezervarea a fost modificata cu succes!");
}
catch (Exception ex)
{
MessageBox.Show("A aparut o problema.Va rugam incercati mai tarziu");
}
}
conn.Close();
}
}
}
Serviciu:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Licentaapp
{
public partial class AdaugaServiciu : Form
{
public AdaugaServiciu()
{
InitializeComponent();
}
public static bool IsNumeric(string s)
{
try
{
float.Parse(s);
}
catch
{
return false;
}
return true;
}
private void button1_Click(object sender, EventArgs e)
{
string connStr = "Data Source=tl-PC\\SQLEXPRESS;Initial Catalog=LicentaDB;Integrated Security=True";
string insertQuery = "insert into Serviciu (Nume, Descriere, Pret) values (@Nume, @Descriere, @Pret)";
SqlConnection conn = new SqlConnection(connStr);
try
{
conn.Open();
}
catch (SqlException ex)
{
MessageBox.Show("Eroare");
}
if (IsNumeric(tb_pret.Text))
{
using (var cmd = new SqlCommand(insertQuery, conn))
{
cmd.Parameters.AddWithValue("@Nume", tb_serviciu.Text);
cmd.Parameters.AddWithValue("@Descriere", rb_descriere.Text);
cmd.Parameters.AddWithValue("@Pret", tb_pret.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Serviciu a fost inserat!");
}
}
else MessageBox.Show("Introduceti un pret valid!");
}
private void AdaugaServiciu_Load(object sender, EventArgs e)
{
}
}
}
Scripturi baza de date:
USE [master]
GO
/****** Object: Database [LicentaDB] Script Date: 7/14/2014 4:03:04 PM ******/
CREATE DATABASE [LicentaDB]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'LicentaDB', FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\LicentaDB.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'LicentaDB_log', FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\LicentaDB_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [LicentaDB] SET COMPATIBILITY_LEVEL = 110
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [LicentaDB].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [LicentaDB] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [LicentaDB] SET ANSI_NULLS OFF
GO
ALTER DATABASE [LicentaDB] SET ANSI_PADDING OFF
GO
ALTER DATABASE [LicentaDB] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [LicentaDB] SET ARITHABORT OFF
GO
ALTER DATABASE [LicentaDB] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [LicentaDB] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [LicentaDB] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [LicentaDB] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [LicentaDB] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [LicentaDB] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [LicentaDB] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [LicentaDB] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [LicentaDB] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [LicentaDB] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [LicentaDB] SET DISABLE_BROKER
GO
ALTER DATABASE [LicentaDB] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [LicentaDB] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [LicentaDB] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [LicentaDB] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [LicentaDB] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [LicentaDB] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [LicentaDB] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [LicentaDB] SET RECOVERY SIMPLE
GO
ALTER DATABASE [LicentaDB] SET MULTI_USER
GO
ALTER DATABASE [LicentaDB] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [LicentaDB] SET DB_CHAINING OFF
GO
ALTER DATABASE [LicentaDB] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
GO
ALTER DATABASE [LicentaDB] SET TARGET_RECOVERY_TIME = 0 SECONDS
GO
USE [LicentaDB]
GO
/****** Object: Table [dbo].[aaa] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[aaa](
[a] [int] IDENTITY(1,1) NOT NULL,
[b] [int] NULL,
CONSTRAINT [PK_aaa] PRIMARY KEY CLUSTERED
(
[a] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Angajat] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Angajat](
[Id_Angajat] [int] IDENTITY(1,1) NOT NULL,
[Nume] [varchar](50) NOT NULL,
[Prenume] [varchar](50) NOT NULL,
[Data_nasterii] [date] NOT NULL,
[Telefon] [varchar](10) NOT NULL,
[Email] [varchar](50) NOT NULL,
[Adresa] [varchar](100) NOT NULL,
[CNP] [varchar](13) NOT NULL,
[Status] [varchar](25) NOT NULL,
[Pozitie] [varchar](20) NOT NULL,
[Salariu] [float] NOT NULL,
[Id_Departament] [int] NOT NULL,
CONSTRAINT [PK_Angajat] PRIMARY KEY CLUSTERED
(
[Id_Angajat] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Camera] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Camera](
[Id_Camera] [int] IDENTITY(1,1) NOT NULL,
[Numar_Camera] [int] NOT NULL,
[Etaj] [int] NOT NULL,
[Id_TipCamera] [int] NOT NULL,
[Status] [varchar](10) NOT NULL,
CONSTRAINT [PK_Camera] PRIMARY KEY CLUSTERED
(
[Id_Camera] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Client] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Client](
[Id_Client] [int] IDENTITY(1,1) NOT NULL,
[Nume] [varchar](50) NOT NULL,
[Prenume] [varchar](50) NOT NULL,
[Data_Nasterii] [date] NOT NULL,
[Telefon] [varchar](10) NOT NULL,
[Email] [varchar](50) NOT NULL,
[Adresa] [varchar](100) NOT NULL,
[Cnp] [varchar](13) NOT NULL,
CONSTRAINT [PK_Client] PRIMARY KEY CLUSTERED
(
[Id_Client] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Departament] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Departament](
[Id_Departament] [int] NOT NULL,
[Denumire] [varchar](50) NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Pret] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Pret](
[Id_Pret] [int] IDENTITY(1,1) NOT NULL,
[Luna] [varchar](50) NOT NULL,
[Suma] [float] NOT NULL,
CONSTRAINT [PK_Pret] PRIMARY KEY CLUSTERED
(
[Id_Pret] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Rezervare] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Rezervare](
[Id_Rezervare] [int] IDENTITY(1,1) NOT NULL,
[Id_Client] [int] NOT NULL,
[Id_Camera] [int] NOT NULL,
[Data_Sosire] [date] NOT NULL,
[Data_Plecare] [date] NOT NULL,
[Id_Serviciu] [int] NOT NULL,
[Pret_Total] [float] NOT NULL,
CONSTRAINT [PK_Rezervare] PRIMARY KEY CLUSTERED
(
[Id_Rezervare] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Serviciu] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Serviciu](
[Id_serviciu] [int] IDENTITY(1,1) NOT NULL,
[Nume] [varchar](50) NOT NULL,
[Descriere] [varchar](50) NOT NULL,
[Pret] [float] NOT NULL,
CONSTRAINT [PK_Serviciu] PRIMARY KEY CLUSTERED
(
[Id_serviciu] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[TipCamera] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[TipCamera](
[Id_TipCamera] [int] IDENTITY(1,1) NOT NULL,
[Numar_Camere] [int] NOT NULL,
[Descriere] [varchar](70) NOT NULL,
CONSTRAINT [PK_TipCamera] PRIMARY KEY CLUSTERED
(
[Id_TipCamera] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Utilizator] Script Date: 7/14/2014 4:03:05 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Utilizator](
[UserName] [varchar](50) NOT NULL,
[Password] [varchar](50) NOT NULL,
[Role] [varchar](50) NOT NULL,
[Email] [varchar](50) NOT NULL,
CONSTRAINT [PK_Utilizator] PRIMARY KEY CLUSTERED
(
[UserName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[aaa] ON
INSERT [dbo].[aaa] ([a], [b]) VALUES (1, 12)
INSERT [dbo].[aaa] ([a], [b]) VALUES (2, 12)
SET IDENTITY_INSERT [dbo].[aaa] OFF
SET IDENTITY_INSERT [dbo].[Angajat] ON
INSERT [dbo].[Angajat] ([Id_Angajat], [Nume], [Prenume], [Data_nasterii], [Telefon], [Email], [Adresa], [CNP], [Status], [Pozitie], [Salariu], [Id_Departament]) VALUES (7, N'a', N'a', CAST(0x2F240B00 AS Date), N'0752108882', N'[anonimizat]', N'pitesti', N'[anonimizat]', N'Concediu', N'Intern2', 70000, 7)
SET IDENTITY_INSERT [dbo].[Angajat] OFF
SET IDENTITY_INSERT [dbo].[Camera] ON
INSERT [dbo].[Camera] ([Id_Camera], [Numar_Camera], [Etaj], [Id_TipCamera], [Status]) VALUES (1, 10, 1, 1, N'Liber')
INSERT [dbo].[Camera] ([Id_Camera], [Numar_Camera], [Etaj], [Id_TipCamera], [Status]) VALUES (2, 200, 2, 2, N'Liber')
INSERT [dbo].[Camera] ([Id_Camera], [Numar_Camera], [Etaj], [Id_TipCamera], [Status]) VALUES (3, 3, 1, 3, N'Liber')
INSERT [dbo].[Camera] ([Id_Camera], [Numar_Camera], [Etaj], [Id_TipCamera], [Status]) VALUES (4, 4, 1, 1, N'Ocupat')
SET IDENTITY_INSERT [dbo].[Camera] OFF
SET IDENTITY_INSERT [dbo].[Client] ON
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465465, N'mihai', N'poro', CAST(0x64380B00 AS Date), N'7521000', N'[anonimizat]', N'bucuresti', N'465')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465467, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465468, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465469, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465470, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465471, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465472, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465473, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465474, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465475, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465476, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465477, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465478, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465479, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465480, N'a', N'a', CAST(0xC1380B00 AS Date), N'9999999999', N'zxzx', N'zxxz', N'1111111111111')
INSERT [dbo].[Client] ([Id_Client], [Nume], [Prenume], [Data_Nasterii], [Telefon], [Email], [Adresa], [Cnp]) VALUES (56465481, N'a', N'a', CAST(0xC1380B00 AS Date), N'1111111111', N'aaaaa', N'sss', N'1111111111111')
SET IDENTITY_INSERT [dbo].[Client] OFF
INSERT [dbo].[Departament] ([Id_Departament], [Denumire]) VALUES (1, N'Alimentatie')
INSERT [dbo].[Departament] ([Id_Departament], [Denumire]) VALUES (2, N'Vanzari si Marketing')
INSERT [dbo].[Departament] ([Id_Departament], [Denumire]) VALUES (3, N'Contabilitate')
INSERT [dbo].[Departament] ([Id_Departament], [Denumire]) VALUES (4, N'Intretinere')
INSERT [dbo].[Departament] ([Id_Departament], [Denumire]) VALUES (5, N'Securitate')
INSERT [dbo].[Departament] ([Id_Departament], [Denumire]) VALUES (6, N'Personal si Training')
INSERT [dbo].[Departament] ([Id_Departament], [Denumire]) VALUES (7, N'Cazare')
SET IDENTITY_INSERT [dbo].[Pret] ON
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (2, N'Ianuarie', 250)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (3, N'Februarie', 250)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (4, N'Martie', 170)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (5, N'Aprilie', 160)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (6, N'Mai', 270)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (7, N'Iunie', 300)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (8, N'Iulie', 300)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (9, N'August', 300)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (10, N'Septembrie', 230)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (11, N'Noiembrie', 230)
INSERT [dbo].[Pret] ([Id_Pret], [Luna], [Suma]) VALUES (12, N'Decembrie', 250)
SET IDENTITY_INSERT [dbo].[Pret] OFF
SET IDENTITY_INSERT [dbo].[Rezervare] ON
INSERT [dbo].[Rezervare] ([Id_Rezervare], [Id_Client], [Id_Camera], [Data_Sosire], [Data_Plecare], [Id_Serviciu], [Pret_Total]) VALUES (1, 56465465, 1, CAST(0xC6380B00 AS Date), CAST(0xD4380B00 AS Date), 1, 1592220)
SET IDENTITY_INSERT [dbo].[Rezervare] OFF
SET IDENTITY_INSERT [dbo].[Serviciu] ON
INSERT [dbo].[Serviciu] ([Id_serviciu], [Nume], [Descriere], [Pret]) VALUES (1, N'OfertaXXX', N'3 mese,piscina si 2 femei incluse', 56565)
SET IDENTITY_INSERT [dbo].[Serviciu] OFF
SET IDENTITY_INSERT [dbo].[TipCamera] ON
INSERT [dbo].[TipCamera] ([Id_TipCamera], [Numar_Camere], [Descriere]) VALUES (1, 2, N'Apartament')
INSERT [dbo].[TipCamera] ([Id_TipCamera], [Numar_Camere], [Descriere]) VALUES (2, 1, N'Single')
INSERT [dbo].[TipCamera] ([Id_TipCamera], [Numar_Camere], [Descriere]) VALUES (3, 1, N'Penthouse')
SET IDENTITY_INSERT [dbo].[TipCamera] OFF
INSERT [dbo].[Utilizator] ([UserName], [Password], [Role], [Email]) VALUES (N'a', N'a', N'Admin', N'a')
INSERT [dbo].[Utilizator] ([UserName], [Password], [Role], [Email]) VALUES (N'Administrator', N'Admin', N'Admin', N'[anonimizat]')
INSERT [dbo].[Utilizator] ([UserName], [Password], [Role], [Email]) VALUES (N'User', N'User', N'User', N'[anonimizat]')
USE [master]
GO
ALTER DATABASE [LicentaDB] SET READ_WRITE
GO
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Sistem Informatic Pentru Managementul Hotelului (ID: 150513)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
