/// <summary> /// Upisuje obicnog korisnika u bazu podataka zajedno sa podacima o korisnickom racunu i podacima o korisniku. /// </summary> public void UpisiObicnogKorisnika(ObicniKorisnik korisnik) { using (var db = new eat32Entities()) { dbKorisnickiRacun noviRacun = new dbKorisnickiRacun { korisnicko_ime = korisnik.KorisnickoIme, lozinka = korisnik.Lozinka, email = korisnik.Email, adresa = korisnik.Adresa, broj_telefona = korisnik.BrojTelefona, }; db.dbKorisnickiRacun.Add(noviRacun); db.SaveChanges(); int idRacuna = DohvatiIDRacuna(korisnik.KorisnickoIme); dbObicniKorisnik noviKorisnik = new dbObicniKorisnik { id_obicnog_korisnika = idRacuna, ime = korisnik.Ime, prezime = korisnik.Prezime }; db.dbObicniKorisnik.Add(noviKorisnik); db.SaveChanges(); } }
/// <summary> /// Upisuje ugostiteljski objekt u bazu podataka zajedno sa podacima o korisnickom racunu i podacima o objektu. /// </summary> public void UpisiUgostiteljskiObjekt(UgostiteljskiObjekt objekt) { using (var db = new eat32Entities()) { dbKorisnickiRacun noviRacun = new dbKorisnickiRacun { korisnicko_ime = objekt.KorisnickoIme, lozinka = objekt.Lozinka, email = objekt.Email, adresa = objekt.Adresa, broj_telefona = objekt.BrojTelefona, }; db.dbKorisnickiRacun.Add(noviRacun); db.SaveChanges(); int idRacuna = DohvatiIDRacuna(objekt.KorisnickoIme); dbUgostiteljskiObjekt noviObjekt = new dbUgostiteljskiObjekt { id_ugostiteljskog_obrta = idRacuna, naziv = objekt.Naziv, radno_vrijeme_pocetak = objekt.RadnoVrijemePocetak, radno_vrijeme_kraj = objekt.RadnoVrijemeKraj }; db.dbUgostiteljskiObjekt.Add(noviObjekt); db.SaveChanges(); } }
/// <summary> /// Funkcija prvo provjerava da li je korisnik već pretplaćen na ugostiteljski objekt, i ukoliko nije upisuje pretplatu u bazu i vraća false, a u suprotnom samo vraća true. /// </summary> public bool PretplatiKorisnika(int idKorisnika, int idObjekta) { using (var db = new eat32Entities()) { var pretraziPretplatu = db.dbPretplata.FirstOrDefault(r => r.korisnik_id == idKorisnika && r.ugostiteljski_obrt_id == idObjekta); if (pretraziPretplatu == null) { dbPretplata novaPretplata = new dbPretplata { korisnik_id = idKorisnika, ugostiteljski_obrt_id = idObjekta }; db.dbPretplata.Add(novaPretplata); db.SaveChanges(); return(false); } else { return(true); } } }
/// <summary> /// Briše odabranu poruku iz korisnikove poste, odnosno iz baze podataka. /// </summary> public void IzbrisiPoruku(int idPoruke) { using (var db = new eat32Entities()) { dbPoruka poruka = db.dbPoruka.FirstOrDefault(r => r.id_poruke == idPoruke); db.dbPoruka.Attach(poruka); db.dbPoruka.Remove(poruka); db.SaveChanges(); } }
/// <summary> /// Ažurira korisnika u bazi podataka /// </summary> public void AzurirajObicnogKorisnika(int idRacuna, string naziv, string email, string lozinka, string brojTelefona, string adresa) { using (var db = new eat32Entities()) { dbObicniKorisnik odabraniKorisnik = db.dbObicniKorisnik.FirstOrDefault(r => r.id_obicnog_korisnika == idRacuna); dbKorisnickiRacun odabraniRacun = db.dbKorisnickiRacun.FirstOrDefault(r => r.id_korisnika == idRacuna); if (odabraniRacun != null) { db.dbKorisnickiRacun.Attach(odabraniRacun); odabraniRacun.korisnicko_ime = naziv; odabraniRacun.email = email; odabraniRacun.lozinka = lozinka; odabraniRacun.broj_telefona = brojTelefona; odabraniRacun.adresa = adresa; db.SaveChanges(); db.dbObicniKorisnik.Attach(odabraniKorisnik); db.SaveChanges(); } } }
/// <summary> /// Upisuje ponudu ugostiteljskog objekta u bazu podataka. Potrebno je proslijediti ID objekta kojem se pridruzuje ponuda, te opis ponude. /// </summary> public void UpisiPonudu(int idObjekta, string opisVal) { using (var db = new eat32Entities()) { dbPonuda novaPonuda = new dbPonuda { ugostiteljski_obrt_id = idObjekta, opis = opisVal }; db.dbPonuda.Add(novaPonuda); db.SaveChanges(); } }
/// <summary> /// Ažurira korisnicki racun ugostiteljskog objekta i pojedine podatke o objektu. /// </summary> public void AzurirajUgostiteljskiObjekt(int idRacuna, string naziv, string email, string lozinka, string adresa, string brojTelefona, TimeSpan radnoVrijemePocetak, TimeSpan radnoVrijemeKraj) { using (var db = new eat32Entities()) { dbUgostiteljskiObjekt odabraniObjekt = db.dbUgostiteljskiObjekt.FirstOrDefault(r => r.id_ugostiteljskog_obrta == idRacuna); dbKorisnickiRacun odabraniRacun = db.dbKorisnickiRacun.FirstOrDefault(r => r.id_korisnika == idRacuna); if (odabraniRacun != null) { db.dbKorisnickiRacun.Attach(odabraniRacun); odabraniRacun.email = email; odabraniRacun.lozinka = lozinka; odabraniRacun.adresa = adresa; odabraniRacun.broj_telefona = brojTelefona; db.SaveChanges(); db.dbUgostiteljskiObjekt.Attach(odabraniObjekt); odabraniObjekt.naziv = naziv; odabraniObjekt.radno_vrijeme_pocetak = radnoVrijemePocetak; odabraniObjekt.radno_vrijeme_kraj = radnoVrijemeKraj; db.SaveChanges(); } } }
/// <summary> /// Upisuje artikl u bazu podataka. Potrebno je proslijediti ID ponude u koju se upisuje artikl, te njegov naziv i cijenu. /// </summary> public void UpisiArtikl(int idPonude, string nazivVal, int cijenaVal) { using (var db = new eat32Entities()) { dbArtikl noviArtikl = new dbArtikl { ponuda_id = idPonude, naziv = nazivVal, cijena = cijenaVal.ToString() }; db.dbArtikl.Add(noviArtikl); db.SaveChanges(); } }
/// <summary> /// Kreira stavku narudzbe i automatski ju dodaje u narudzbu. /// </summary> public void KreirajStavkuNarudzbe(int idArtikla, int idNarudzbe, int kolicinaValue) { using (var db = new eat32Entities()) { dbStavkaNarudzbe novaStavka = new dbStavkaNarudzbe { artikl_id = idArtikla, narudzba_id = idNarudzbe, kolicina = kolicinaValue, popust = 0 }; db.dbStavkaNarudzbe.Add(novaStavka); db.SaveChanges(); } }
/// <summary> /// Salje poruku drugom korisniku, odnosno unosi novu poruku u bazu podataka. /// </summary> public void PosaljiPoruku(int idPosiljatelja, int idPrimatelja, string header, string text) { using (var db = new eat32Entities()) { dbPoruka novaPoruka = new dbPoruka { posiljatelj_id = idPosiljatelja, primatelj_id = idPrimatelja, naslov = header, tekst = text }; db.dbPoruka.Add(novaPoruka); db.SaveChanges(); } }
// <summary> /// Kreira recenziju korisnika za zeljenu narudžbu. /// </summary> /// public dbRecenzija KreirajRecenziju(int idNarudzbe, int ocjenaNarudzbe, string komentarNarudzbe) { using (var db = new eat32Entities()) { dbRecenzija novaRecenzija = new dbRecenzija { narudzba_id = idNarudzbe, komentar = komentarNarudzbe, ocjena = ocjenaNarudzbe }; db.dbRecenzija.Add(novaRecenzija); db.SaveChanges(); return(novaRecenzija); } }
/// <summary> /// Kreira narudžbu korisnika za zeljeni ugostiteljski objekt. /// </summary> public dbNarudžba KreirajNarudzbu(int idUgostiteljskogObjekta, int idKorisnika, DateTime datumVrijeme) { using (var db = new eat32Entities()) { dbNarudžba novaNarudzba = new dbNarudžba { korisnik_id = idKorisnika, ugostiteljski_obrt_id = idUgostiteljskogObjekta, datum = datumVrijeme }; db.dbNarudžba.Add(novaNarudzba); db.SaveChanges(); return(novaNarudzba); } }
/// <summary> /// Brise artikl iz baze podataka. /// </summary> public bool IzbrisiArtikl(int idArtikla) { dbArtikl trazeniArtikl = null; using (var db = new eat32Entities()) { trazeniArtikl = db.dbArtikl.FirstOrDefault(a => a.id_artikla == idArtikla); db.dbArtikl.Attach(trazeniArtikl); db.dbArtikl.Remove(trazeniArtikl); try { db.SaveChanges(); return(false); } catch (System.Data.Entity.Infrastructure.DbUpdateException ex) { Notifikacija novaNotifikacija = new Notifikacija("Greska", "Nemoguce je obrisati artikl!", "upozorenje"); novaNotifikacija.ShowDialog(); return(true); } } }