Proiect - Proiectarea Sistemelor Informatice
Post on 16-Jul-2015
1267 Views
Preview:
DESCRIPTION
Transcript
Diagrama cazurilor de utilizare Pentru aceasta diagrama am folosit urmatoarele interactiuni intre actorii cititor si bibliotecar: 1. Un cititor se autentifica in sistem. Daca acesta nu este inregistrat, atunci se va trece la inregistrarea sa. 2. Dupa ce a fost inregistrat acesta va analiza abonamentele prezentate de bibliotecar. Cititorul poate refuza sau accepta o oferta. Daca accepta oferta, atunci va intocmi un nou abonament. 3. Bibliotecarului i se repartizeaza abonamente pe care sa le supervizeze. 4. Cititorul cauta carti, autori sau genuri. 5. In urma cautarii efectuate, acesta cere imprumutul, iar bibliotecarul ii va primi cererea, dupa care va verifica starea cartii si daca poate sa o imprumute, atunci o va imprumuta, iar cititorul o va primi. 6. Cand cititorul inapoiaza cartea, bibliotecarul o primeste si verifica daca imprumutul a durat mai mult de 15 zile ii va da amenda pe fiecare zi in care a depasit termenul, iar cititorul va plati. De asemenea, bibliotecarul verifica si starea cartii, iar daca o constata lipsa va amenda cititorul pentru pierderea cartii, acesta din urma fiind nevoit sa plateasca, si va scoate cartea din gestiune. 7. Bibliotecarul poate adauga carti in gestiune.
extend {cititor inexistent} Se Autentifica include include Analizeaza Abonamentele include extend Refuza Abonamentul extend include Accepta Abonamentul Intocmeste Abonament Nou include extend Cauta extend Cauta Gen extend Adauga Carte Supervizeaza Abonamentul Inregistreaza Cititor Nou
Prezinta Abonamente
Cauta Carte
Cauta Autor
Primeste Cererea
Cititor
include include include Cere Imprumutul Revizuieste Cererea de Imprumut include extend {Carte Indisponibila}
extend {Cartea Se Poate Imprumuta}
Verifica Starea Cartii
include Bibliotecar Inmaneaza Cartea
Primeste Cartea
Returneaza Cartea
include
Primeste Cartea Imprumutata
extend
include Verifica Starea Imprumutului
Plateste Amenda Pentru Depasirea Termenului
include
extend {DataReturnare>15} Amendeaza Pentru Termen Depasit
include
Plateste Amenda Pentru Lipsa Cartii include
extend
Verifica Starea Cartii
Amendeaza Pentru Lipsa Cartii
extend {Carte Lipsa}
extend {Carte Lipsa} Scoate Cartea din Gestiune
Diagrama claselor Pentru aceasta diagrama am avut in vedere urmatoarele reguli de gestiune: 1. Un cititor are unul sau mai multe abonamente. 2. Un abonament este dat unui singur cititor. 3. Un abonament apartine unui singur tip de abonamente. 4. Un tip de abonament este folosit de mai multe abonamente. 5. Un cititor scrie o mai multe fise de imprumut de-a lungul perioadei cat este inscris. 6. Pe o fisa de imprumut se pot imprumuta mai multe carti. 7. O carte se imprumuta pe mai multe fise de imprumut (deoarece este returnatade obicei). 8. O carte apartine unui gen. 9. O sala are mai multe carti. 10. Un gen apartine doar unei sali. 11. O sala are mai multe genuri. 12. O carte are mai multi autori si este scrisa de toti. 13. Un autor are mai multe carti. 14. O amenda este data pentru o fisa de imprumut. 15. O fisa de imprumut poate primi o amenda sau niciuna. 16. O amenda poate fi de intarziere sau de pierdere. 17. O plata se face de un cititor. 18. O plata se face pentru o amenda. 19. O amenda i se da unui cititor. 20. Un bibliotecar supervizeaza mai multe abonamente. 21. Un abonament este supervizat de un bibliotecar. Restrictii: 1.Data returnarii care apare pe o fisa de imprumut trebuie sa fie mai mare sau egala cu cea a imprumutului. 2. Data de sfarsit a abonamentului trebuie sa fie mai mare sau egala cu cea de inceput. 3. Ora de inchidere a unei sali trebuie sa fie dupa ora deschiderii.
Autor A Scris 1..* + + + Adauga() : void Salveaza() : void Sterge() : void Apartine 0..* + + 1 + + Gen IdGen: Integer NumeGen: String VarstaMinima: Integer Adauga() : void Salveaza() : void Sterge() : void NrCarti() : Integer 1..* 1 Sala 1 CartiImprumutate + + + + + IdCarte: Carte NrFisa: FisaImprumut Adauga() : void Salveaza() : void Sterge() : void NrCartiImprumutate() : Integer ItemCarte() : Integer + + + + + + + NrSala: Integer DenumireSala: String EtajSala: Integer OraDeschidereSala: Integer OraInchidereSala: Integer Adauga() : void Salveaza() : void Sterge() : void TotalCartiInSala() : Integer NrCartiDisponibileInSala() : Integer DurataProgram() : Integer NumarGenuriInSala() : Integer IdAutor: Integer NumeAutor: String DataNastere: Date OraInchidere > OraDeschidere
/Este Specializata In
0..* Carte + + + + IdCarte: Integer DenumireCarte: String Disponibilitate: Boolean Valoare: Integer ISBN: String DataAparitie: Date Editura: String Adauga() : void Salveaza() : void Sterge() : void NrAutori() : Integer
Se Afla 1..*
Imprumuta DataReturnare >= DataIntocmire
1..*
0..* FisaImprumut + + + + NrFisa: Integer DataIntocmire: Date DataReturnare: Date = Nothing Adauga() : void Salveaza() : void Sterge() : void Returnare() : void 0..* + + + Cititor CNP: String NumeCititor: String PrenumeCititor: String DataNasterii: Date AdresaCititor: String TelefonCititor: String eMailCititor: String Adauga() : void Salveaza() : void Sterge() : void 1 Se Da Efectueaza 0..1 Amenda + + + + + IdAmenda: Integer Adauga() : void Salveaza() : void Sterge() : void ValoareAmenda() : void TotalPlati() : Double Se Plateste 1 0..* + + + IdPlata: Integer SumaPlatita: Integer Supervizeaza Adauga() : void Salveaza() : void Sterge() : void 0..* Plata /I Se Dau 0..* 1 DataSfarsit >= DataInceput
Scrie 1
Abonament Detine + + + + NrAbonament: Integer DataInceput: Date DataSfarsit: Date Adauga() : void Salveaza() : void Sterge() : void Valabilitate() : Integer 0..* 0..* + + + Apartine -
TipAbonament IdTip: Integer NumeTip: String Descriere: String Adauga() : void Salveaza() : void Sterge() : void
1
1
0..*
Bibliotecar + + + + IdBibliotecar: UShort NumeBibliotecar: String PrenumeBibliotecar: String Adauga() : void Salveaza() : void Sterge() : void RepartizeazaAbonament() : void
AmendaIntarziere + + + + + SumaAmenda: Integer Adauga() : void Salveaza() : void Sterge() : void NrZileIntarziere() : Integer TotalAmenda() : Integer + + + + +
AmendaPierdere ProcentAdaugat: Integer Adauga() : void Salveaza() : void Sterge() : void TotalAmenda() : Integer NrCartiPierdute() : Integer
1
Diagramele de activitati Diagrama 1 Aceasta diagrama prezinta imprumutul de carti. Mai intai utilizatorul incarca lista intr-o colectie temporara. Din aceasta colectie se va parcurge fiecare carte, i se va afla pozitia corespunzatoare din colectia de carti, iar daca aceasta este disponibila, i se va modifica disponibilitatea si va fi adaugata pe lista. Daca la sfarsitul acestei bucle nu se afla nicio carte disponibila, atunci fisa de imprumut generata va fi stearsa. Diagrama 2 In prima parte se va proceda la autentificarea utlizatorului, iar in cazul in care acesta nu exista va fi introdus ca utilizator nou. Dupa aceea va fi intrebat daca doreste un tip de abonament si cat timp va dori un abonament, va introduce datele si i se va intocmi. De asemenea, daca se razgandeste dupa ce a introdus datele, poate renunta. Nota: Prima parte a fost implementata in VB.Net.
Declarare variabile
tmp : ColCartiImprumutate ConfirmareDate: Boolean ItemCarte: Integer NumarCartiImprumutate: Integer =0
Generare Fisa de Imprumut Noua
Introducere Date Carti
[ConfirmareDate=False] [ConfirmareDate=True] Sterge Fisa De Imprumut
k=1
[ktmp.Count()] [Carte.Item(ItemCarte)=FALSE]
[NumarCartiImprumutate != 0] [Carte.Item(ItemCarte)=TRUE]
Carte.Item(ItemCarte).Disponibila=FALSE Cancel
pCartiImprumutate.Adauga(tmp.k)
NumarCartiImprumutate = NumarCartiImprumutate + 1
tmp = Nothing ; ConfirmareDate=False
Declarare variabile
pCititor : Cititor ConfirmareDate : Boolean ConfirmareAbonamentNou : Boolean pAbonament : Abonament
Introducere Date Cititor
[ConfirmareDate = False] ExistaCititor(Cod) [ConfirmareDate = True]
pCititor = New Cititor [True] Cancel pCititor.Salveaza(CNP,NumeCititor,PrenumeCititor,DataNasterii,AdresaCititor,TelefonCititor,eMailCititor) [False]
ColCititori.Add(pCititor)
[ConfirmareAbonamentNou = False]
[ConfirmareAbonamentNou = True]
Introducere Date Abonament
pAbonament = New Abonament
pAbonament.Salveaza(NrAbonament,DataInceput,DataSfarsit)
Cancel [ConfirmareDate = False] [ConfirmareDate = True]
ColAbonament.Add(pAbonament)
Diagramele de secvente Diagrama 1 Aceasta diagrama descrie imprumutul unei carti de un cititor. Acesta se autentifica in sistem, dupa care introduce o noua cerere de imprumut. Pe cerere va introduce mai multe carti ce vor fi adaugate intr-o colectie temporara. Dupa aceea, fiecare carte va fi verificata si, daca este disponibila, atunci va fi imprumutata. Daca nicio carte nu este disponibila, atunci fisa de imprumut generata va fi stearsa. Dupa finalizarea operatiunilor utilizatorul va inchide formularul de imprumut. Diagrama 2 Aceasta diagrama descrie alegerea unui nou abonament de catre un cititor. Dupa ce se autentifica va introduce datele pentru noul abonament, le va confirma, i se va crea un obiect temporar pentru a reconfirma datele din abonament, dupa care aceste date vor fi incarcate in colectia de abonamente. Acest lucru se va intampla cat timp cititorul va dori abonamente noi. La sfarsit el va iesi din formularul de abonare.
+ Carte : CarteImprumutata :FrmAcces Cititor par [Autentificare()] :FisaImprumut :ColFisaImprumut :FrmImprumuta :ColTmp :ColCarteImprumutata
1: Fisa = New FisaImprumut()
2: ColFisaImprumut.Add(Fisa)
loop [ConfirmareCarteNoua = True] 3: IntroducereDate()
4: ConfirmareDate() :Carte
5: Carte = New CarteImprumutata()
6: ColTmp.Add(Carte)
NrCartiImprumutate 7: Initializeaza(NrCartiImprumutate)
loop [Nu au fost trecute toate cartile] alt [Cartea este disponibila]
8: Adauga(ColTmp.item(i))
9: IncrementeazaNrCI()
alt [NrCartiImprumutate = 0]
10: StergeFisaDeImprumut()
11: Close()
:FrmAcces Cititor par [Autentificare()]
:FrmAbonare
:ColAbonamente
+ AbonamentNou : Abonament
loop [ConfirmareAbonamentNou = True] 1: IntroduceDate()
2: ConfirmaDate() 3: AbonamentNou() :tmpAbonament
4: ConfirmareDate() 5: AdaugaAbNou()
6: Close()
Diagrama de stare Am prezentat diagrama de stare a platii. Se efectueaza o plata noua. Se calculeaza suma totala platita pana atunci la care se adauga plata noua si daca aceasta va fi mai mare decat valoarea totala a amenzii, atunci plata va fi stearsa.
DatePlata
CrearePlata Entry/IdPlata Do/AdaugaSuma Do/AdaugaAmenda
Amenda
Entry/IdAmenda Do/TotalPlata()
[TotalPlata() + SumaPlatita > ValoareAmenda()]
[TotalPlata() + SumaPlatita = DataI Then DataSfarsit = value End Set End Property Property Bibliotecar() Get Return oBibliotecar End Get Set(ByVal value) oBibliotecar = value End Set End Property Public Sub Adauga() End Sub Public Sub Salveaza(ByVal pNrAbonament As Integer, ByVal pDataInceput As Date, ByVal pDataSfarsit As Date) NrAb = pNrAbonament
DataI = pDataInceput DataSf = pDataSfarsit End Sub Public Sub Sterge() End Sub Public Function Valabilitate() As Integer Return (DataSf - DataI) End Function End Class
Tip AbonamentPublic Class TipAbonament Private IdTip As Integer Private NumeTip As String Private Descriere As String Private cAbonament As New Collection Property IdTipAb() Get Return IdTip End Get Set(ByVal value) IdTip = value End Set End Property Property Nume() Get Return NumeTip End Get Set(ByVal value) NumeTip = value End Set End Property Property DescriereAb() Get Return Descriere End Get Set(ByVal value) Descriere = value End Set End Property Property Abonament() Get Return cAbonament End Get Set(ByVal value) cAbonament = value End Set End Property Public Sub Adauga() End Sub Public Sub Salveaza(ByVal pIdTip As Integer, ByVal pNume As String, ByVal pDescriereAb As String)
IdTipAb = pIdTip Nume = pNume DescriereAb = pDescriereAb End Sub Public Sub Sterge() End Sub End Class
AmendaPublic Class Amenda Private IdAmenda As Integer Private oFisaImprumut As FisaImprumut Private cPlata As New Collection Property IdAm() Get Return IdAmenda End Get Set(ByVal value) IdAmenda = value End Set End Property Property FisaImprumut() Get Return ColFisaImprumut End Get Set(ByVal value) ColFisaImprumut = value End Set End Property Property Plata() Get Return ColPlata End Get Set(ByVal value) ColPlata = value End Set End Property Public Sub Adauga() End Sub Public Overloads Sub Salveaza(ByVal pIdAmenda As Integer, ByVal pFisaImprumut As FisaImprumut) IdAm = pIdAmenda FisaImprumut = pFisaImprumut End Sub Public Sub Sterge() End Sub Public Sub ValoareAmenda() Dim Total As Double Total = ColAmendaIntarziere.Item(cautaAI(IdAm)).TotalAmenda() + ColAmendaPierdere.Item(cautaAP(IdAm))
Return Total End Sub Public Function TotalPlati() As Double Dim Total As Double Dim k As Integer Total = 0 For k = 0 To Plata.count Total += Plata.Item(k).SumaPlatita Next k Return Total End Function End Class
Amenda IntarzierePublic Class AmendaIntarziere Inherits Amenda Private SumaAmenda As Integer Property Suma() Get Return SumaAmenda End Get Set(ByVal value) SumaAmenda = value End Set End Property
Public Overloads Sub Salveaza(ByVal pIdAmenda As Integer, ByVal pSumaAmenda As Integer, ByVal pFisaImprumut As FisaImprumut) IdAm = pIdAmenda Suma = pSumaAmenda FisaImprumut = pFisaImprumut End Sub
Public Function NrZileIntarziere() As Integer Return DateDiff(DateInterval.Day, Today, FisaImprumut.DataIn) End Function Public Function TotalAmenda() As Integer Return (DateDiff(DateInterval.Day, Today, FisaImprumut.DataIn) - 15) * SumaAmenda End Function End Class
Amenda PierderePublic Class AmendaPierdere Inherits Amenda Private ProcentAdaugat As Integer Property PrAd() Get Return ProcentAdaugat End Get Set(ByVal value) ProcentAdaugat = value End Set End Property
Public Overloads Sub Salveaza(ByVal pIdAmenda As Integer, ByVal pProcentAdaugat As Integer, ByVal pFisaImprumut As FisaImprumut) IdAm = pIdAmenda PrAd = pProcentAdaugat FisaImprumut = pFisaImprumut End Sub
Public Function TotalAmenda() As Integer Dim k As Integer Dim Total As Integer Total = 0 For k = 0 To FisaImprumut.Count Total += Carte.Item(cautaC(FisaImprumut.ColCarte(k).IdCarte)).ValoareCarte Next k Return Total End Function Public Function NrCartiPierdute() As Integer Dim k As Integer Dim Nr As Integer Nr = 0 For k = 0 To FisaImprumut.Count Nr += 1 Next k Return Nr End Function End Class
Fisa ImprumutPublic Class FisaImprumut Private NrFisa As Integer Private DataIntocmire As Date Private DataReturnare As Date = Nothing Private oCititor As Cititor Private cCartiImprumutate As New Collection Property NrF() Get Return NrFisa End Get Set(ByVal value) NrFisa = value End Set End Property Property DataIn() Get Return DataIntocmire End Get Set(ByVal value) DataIntocmire = value End Set End Property Property DataR() Get Return DataReturnare End Get
Set(ByVal value) If value >= DataIn Then DataReturnare = value End Set End Property Property Cititor() Get Return oCititor End Get Set(ByVal value) oCititor = value End Set End Property Property CartiImprumutate() Get Return cCartiImprumutate End Get Set(ByVal value) cCartiImprumutate = value End Set End Property Public Sub Adauga() End Sub Public Sub Salveaza(ByVal pNrFisa As Integer, ByVal pDataIntocmire As Date, ByVal pDataReturnare As Date, ByVal pCititor As Cititor) NrF = pNrFisa DataIn = pDataIntocmire DataR = pDataReturnare Cititor = pCititor End Sub Public Sub Sterge() End Sub Public Sub Returnare() End Sub End Class
Carti ImprumutatePublic Class CartiImprumutate Private IdCarte As Carte Private NrFisa As FisaImprumut Property IdC() As Integer Get Return IdCarte End Get Set(ByVal value As Integer) IdCarte = value End Set End Property Property NrF() Get Return NrFisa End Get
Set(ByVal value) NrFisa = value End Set End Property Public Sub Adauga() End Sub Public Sub Salveaza(ByVal pIdCarte As Carte, ByVal pNrFisa As FisaImprumut) NrF = pNrFisa IdC = pIdCarte End Sub Public Sub Sterge() End Sub Public Function NrCartiImprumutate() As Integer Dim k As Integer Dim Nr As Integer Nr = 0 For k = 0 To ColCartiImprumutate.Count If ColCartiImprumutate.Item(k).NrFisa = NrF Then Nr += 1 Next k Return Nr End Function Public Function ItemCarte() As Integer Dim k As Integer Dim Item As Integer For k = 0 To ColCarti.Count If ColCarti.Item(k).IdC = IdCarte.IdCarte Then Item = k : Exit For Next Return Item End Function End Class
CartePublic Class Carte Private IdCarte As Integer Private DenumireCarte As String Private Disponibilitate As Boolean Private Valoare As Integer Private ISBN As String Private DataAparitie As Date Private Editura As String Private cAutor As New Collection Private cCartiImprumutate As New Collection Property IdC() Get Return IdCarte End Get Set(ByVal value) IdCarte = value
End Set End Property Property Denumire() Get Return DenumireCarte End Get Set(ByVal value) DenumireCarte = value End Set End Property Property Val() Get Return Valoare End Get Set(ByVal value) Valoare = value End Set End Property Property ISBNcarte() Get Return ISBN End Get Set(ByVal value) If Len(value) = 13 Then ISBN = value End Set End Property Property DataAp() Get Return DataAparitie End Get Set(ByVal value) DataAparitie = value End Set End Property Property EdituraCarte() Get Return Editura End Get Set(ByVal value) Editura = value End Set End Property Property Autor() Get Return cAutor End Get Set(ByVal value) cAutor = value End Set End Property Property CartiImprumutate() Get Return cCartiImprumutate End Get Set(ByVal value) cCartiImprumutate = value End Set
End Property Public Sub Adauga() End Sub Public Sub Salveaza(ByVal pId As Integer, ByVal pDen As String, ByVal pDisponibilitate As Boolean, ByVal pValoare As Integer, ByVal pISBN As String, ByVal pDataAparitie As Date, ByVal pEditura As String) IdC = pId Denumire = pDen Disponibilitate = pDisponibilitate Val = pValoare ISBNcarte = pISBN DataAp = pDataAparitie EdituraCarte = pEditura End Sub Public Sub Sterge() End Sub Public Function NrAutori() As Integer Return cAutor.Count End Function End Class
AutorPublic Class Autor Private IdAutor As Integer Private NumeAutor As String Private DataNastere As Date Property IdAut() Get Return IdAutor End Get Set(ByVal value) IdAutor = value End Set End Property Property Nume() Get Return NumeAutor End Get Set(ByVal value) NumeAutor = value End Set End Property Property DataNastereAutor() Get Return DataNastere End Get Set(ByVal value) DataNastere = value End Set End Property Public Sub Adauga() End Sub
Public Sub Salveaza(ByVal pIdAutor As Integer, ByVal pNumeAutor As String, ByVal pDataNastere As Date) IdAut = pIdAutor Nume = pNumeAutor DataNastereAutor = pDataNastere End Sub Public Sub Sterge() End Sub End Class
GenPublic Class Gen Private IdGen As Integer Private NumeGen As String Private VarstaMinima As Integer Private cCarte As New Collection Property IdG() Get Return IdGen End Get Set(ByVal value) IdGen = value End Set End Property Property Nume() Get Return NumeGen End Get Set(ByVal value) NumeGen = value End Set End Property Property VarstaMin() Get Return VarstaMinima End Get Set(ByVal value) VarstaMinima = value End Set End Property Property Carte() Get Return cCarte End Get Set(ByVal value) cCarte = value End Set End Property Public Sub Adauga() End Sub Public Sub Salveaza(ByVal pIdGen As Integer, ByVal pVarstaMin As Integer) IdG = pIdGen VarstaMin = pVarstaMin End Sub
Public Sub Sterge() End Sub Public Function NrCarti() Return Carte.Count End Function End Class
SalaPublic Class Sala Private NrSala As Integer Private DenumireSala As String Private EtajSala As Integer Private OraDeschidereSala As Integer Private OraInchidereSala As Integer Private cCarte As New Collection Private cGen As New Collection Property Nr() Get Return NrSala End Get Set(ByVal value) NrSala = value End Set End Property Property Denumire() Get Return DenumireSala End Get Set(ByVal value) DenumireSala = value End Set End Property Property Etaj() Get Return EtajSala End Get Set(ByVal value) EtajSala = value End Set End Property Property OraDeschidere() Get Return OraDeschidereSala End Get Set(ByVal value) OraDeschidereSala = value End Set End Property Property OraInchidere() Get Return OraInchidereSala End Get Set(ByVal value) If value > OraDeschidere Then OraInchidereSala = value End Set
End Property Property Carte() Get Return cCarte End Get Set(ByVal value) cCarte = value End Set End Property Property Gen() Get Return cGen End Get Set(ByVal value) cGen = value End Set End Property Public Sub Adauga() End Sub Public Sub Salveaza(ByVal pNr As Integer, ByVal pDenumire As String, ByVal pEtaj As Integer, ByVal pOraDeschidere As Integer, ByVal pOraInchidere As Integer) Nr = pNr Denumire = pDenumire Etaj = pEtaj OraDeschidere = pOraDeschidere OraInchidere = pOraInchidere End Sub Public Sub Sterge() End Sub Public Function TotalCartiInSala() As Integer Return Carte.count End Function Public Function NrCartiDisponibileInSala() As Integer Dim k As Integer Dim Nr As Integer Nr = 0 For k = 0 To Carte.count If Carte.Item(k).Disponibila = True Then Nr += 1 Next k Return Nr End Function Public Function DurataProgram() As Integer Return (OraInchidere - OraDeschidere) End Function Public Function NumarGenuriInSala() As Integer Return Gen.count End Function End Class
BibliotecarPublic Class Bibliotecar Private IdBibliotecar As UShort Private NumeBibliotecar As String Private PrenumeBibliotecar As String Public cAbonament As New Collection Property Id() Get Return IdBibliotecar End Get Set(ByVal value) IdBibliotecar = value End Set End Property Property Nume() Get Return NumeBibliotecar End Get Set(ByVal value) NumeBibliotecar = value End Set End Property Property Prenume() Get Return PrenumeBibliotecar End Get Set(ByVal value) PrenumeBibliotecar = value End Set End Property Property Abonament() Get Return cAbonament End Get Set(ByVal value) cAbonament = value End Set End Property Public Sub Adauga() End Sub Public Sub Salveaza(ByVal pId As Integer, ByVal pNume As String, ByVal pPrenume As String) Id = pId Nume = pNume Prenume = pPrenume End Sub Public Sub Sterge() End Sub Public Sub RepartizeazaAbonament() Dim k As Integer For k = 0 To ColAbonament.Count
If IsDBNull(ColAbonament.Item(k).Bibliotecar) Then ColAbonament.Item(k).Bibliotecar.Salveaza(Id, Nume, Prenume) Exit For End If Next k End Sub End Class
PlataPublic Class Plata Private IdPlata As Integer Private SumaPlatita As Integer Private oAmenda As Amenda Property Id() Get Return IdPlata End Get Set(ByVal value) IdPlata = value End Set End Property Property Suma() Get Return SumaPlatita End Get Set(ByVal value) SumaPlatita = value End Set End Property Property Amenda() Get Return oAmenda End Get Set(ByVal value) oAmenda = value End Set End Property Public Sub Adauga() End Sub Public Sub Salveaza(ByVal pId As Integer, ByVal pSuma As Integer, ByVal pAmenda As Amenda) Id = pId Suma = pSuma Amenda = pAmenda End Sub Public Sub Sterge() End Sub End Class
Interfata Cititor.Salveaza() (adaugarea datelor unui cititor nou) Modulul pentru colectia de cititoriModule moduleColCititor Public ColCititor As New Collection End Module
Modulul pentru functia de cautare CNP in colectia de cititoriModule moduleFuncCautaCNP Public Function CautaCNP(ByVal pCNP As String) As Boolean Dim k As Integer For k = 1 To ColCititor.Count If ColCititor.Item(k).CNPCititor = pCNP Then Return True End If Next k Return False End Function End Module
Codul pentru formularul de accesPublic Class frmAcces Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click Dim buton As DialogResult buton = MsgBox("Sunteti sigur ca ati introdus datele corect?", MsgBoxStyle.YesNo, "Confirmare Date") If buton = Windows.Forms.DialogResult.Yes Then If CautaCNP(txtCNP.Text.ToString) Then frmAbonare.ShowDialog() Else frmInregistrare.ShowDialog() End If End If End Sub End Class
Codul pentru fomrularul de inregristrarePublic Class frmInregistrare Dim obCititor As Cititor Private Sub frmInregistrare_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.txtCNP.Text = frmAcces.txtCNP.Text.ToString txtDataNasterii.Text = CDate(Format(dtpDataNastere.Value, "D")) End Sub Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dtpDataNastere.ValueChanged txtDataNasterii.Text = CDate(Format(dtpDataNastere.Value, "D")) End Sub Private Sub btnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click
obCititor = New Cititor obCititor.Salveaza(txtCNP.Text.ToString, txtNume.Text.ToString, txtPrenume.Text.ToString, Convert.ToDateTime(txtDataNasterii.Text), txtAdresa.Text.ToString, txtTelefon.Text.ToString, txteMail.Text.ToString) ColCititor.Add(obCititor) MsgBox("Cititorul a fost adaugat") Me.Close() End Sub End Class
Capturi de ecran din timpul executiei programului
top related