public IHttpActionResult IzmeniProfil(KorisnikProfilDTO kpdto) { Korisnik korisnikSesija = (Korisnik)HttpContext.Current.Session["Korisnik"]; if (korisnikSesija == null) { korisnikSesija = new Korisnik(); HttpContext.Current.Session["Korisnik"] = korisnikSesija; } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } bp.listaKorisnika = (Dictionary <string, Korisnik>)HttpContext.Current.Application["Korisnici"]; if (bp.listaKorisnika.ContainsKey(kpdto.Id)) { bp.listaKorisnika[kpdto.Id].Ime = kpdto.Ime; bp.listaKorisnika[kpdto.Id].Prezime = kpdto.Prezime; bp.listaKorisnika[kpdto.Id].Pol = kpdto.Pol; bp.listaKorisnika[kpdto.Id].DatumRodjenja = kpdto.DatumRodjenja; bp.AzurirajKorisnike(); return(Ok()); } return(BadRequest()); }
public IHttpActionResult KreirajManifestaciju(ManifestacijaDTO mdto) { Korisnik korisnikSesija = (Korisnik)HttpContext.Current.Session["Korisnik"]; if (korisnikSesija == null) { korisnikSesija = new Korisnik(); HttpContext.Current.Session["Korisnik"] = korisnikSesija; } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //BazaPodataka bp = new BazaPodataka(); bp.listaManifestacija = (Dictionary <string, Manifestacija>)HttpContext.Current.Application["Manifestacije"]; bp.listaLokacija = (Dictionary <string, Lokacija>)HttpContext.Current.Application["Lokacije"]; foreach (var item in bp.listaManifestacija.Values) { if (item.DatumVremeOdrzavanja == mdto.DatumVremeOdrzavanja) { foreach (var lokac in bp.listaLokacija.Values) { if (lokac.GeografskaDuzina == double.Parse(mdto.GeografskaDuzina) && lokac.GeografskaSirina == double.Parse(mdto.GeografskaSirina) && !item.IsDeleted) { return(BadRequest()); } } } } Guid guid = Guid.NewGuid(); string strId = guid.ToString(); DateTime dt = DateTime.ParseExact(mdto.DatumVremeOdrzavanja.ToString(), "M/d/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); var date = dt.Date; string datumString = dt.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture); MestoOdrzavanja mestoOdrz = new MestoOdrzavanja(mdto.Ulica, mdto.Grad, mdto.Drzava, int.Parse(mdto.PostanskiBroj)); Lokacija lok = new Lokacija(Guid.NewGuid().ToString(), mdto.GeografskaDuzina, mdto.GeografskaSirina, mestoOdrz.Ulica, mestoOdrz.Grad, mestoOdrz.Drzava, mestoOdrz.PostanskiBroj.ToString()); bp.listaLokacija = (Dictionary <string, Lokacija>)HttpContext.Current.Application["Lokacije"]; bp.listaLokacija.Add(lok.Id, lok); lok.SacuvajLokaciju(); Manifestacija m = new Manifestacija(strId, mdto.Naziv, mdto.Tip.ToString(), mdto.BrojMesta.ToString(), mdto.BrojRegularKarata.ToString(), mdto.BrojVipKarata.ToString(), mdto.BrojFanpitKarata.ToString(), datumString, mdto.CenaRegularKarte.ToString(), mdto.Status.ToString(), lok.Id, mdto.PosterManifestacije, mdto.IsDeleted.ToString()); bp.listaManifestacija.Add(m.Id, m); m.SacuvajManifestaciju(); bp.listaKorisnika = (Dictionary <string, Korisnik>)HttpContext.Current.Application["Korisnici"]; Prodavac p = null; p = (Prodavac)bp.listaKorisnika[korisnikSesija.Id]; if (p.SveMojeManifestacije.Contains("")) { p.SveMojeManifestacije.Remove(""); } p.SveMojeManifestacije.Add(m.Id); korisnikSesija = p; bp.AzurirajKorisnike(); return(Ok()); }
public IHttpActionResult RezervisiKarte(GenerisanjeKarataDTO gdto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //BazaPodataka bp = new BazaPodataka(); bp.listaKarata = (Dictionary <string, Karta>)HttpContext.Current.Application["Karte"]; bp.listaManifestacija = (Dictionary <string, Manifestacija>)HttpContext.Current.Application["Manifestacije"]; Guid guid = Guid.NewGuid(); string idKarte; DateTime dt = DateTime.ParseExact(gdto.DatumVremeManifestacije.ToString(), "M/d/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture); var date = dt.Date; string datumString = dt.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture); bp.listaKorisnika = (Dictionary <string, Korisnik>)HttpContext.Current.Application["Korisnici"]; Kupac kup = (Kupac)bp.listaKorisnika[gdto.KupacID]; if (kup.SveMojeKarteBezObziraNaStatus.Contains("")) { kup.SveMojeKarteBezObziraNaStatus.Remove(""); } for (int i = 0; i < gdto.BrojRezervisanihKarata; i++) { guid = Guid.NewGuid(); idKarte = guid.ToString(); Karta k = new Karta(idKarte, gdto.ManifestacijaID, datumString, gdto.Cena.ToString(), gdto.KupacID, Enums.StatusKarte.REZERVISANA.ToString(), gdto.Tip.ToString(), "01/01/2001", "False"); bp.listaKarata.Add(k.Id, k); k.SacuvajKartu(); if (gdto.Tip == Enums.TipKarte.REGULAR) { bp.listaManifestacija[gdto.ManifestacijaID].BrojRegularKarata--; bp.AzurirajManifestacije(); } else if (gdto.Tip == Enums.TipKarte.VIP) { bp.listaManifestacija[gdto.ManifestacijaID].BrojVipKarata--; bp.AzurirajManifestacije(); } else if (gdto.Tip == Enums.TipKarte.FANPIT) { bp.listaManifestacija[gdto.ManifestacijaID].BrojFanpitKarata--; bp.AzurirajManifestacije(); } kup.SveMojeKarteBezObziraNaStatus.Add(idKarte); kup.BrojSakupljenihBodova += gdto.BrojDodatnihBodova; if (kup.BrojSakupljenihBodova >= kup.TipKorisn.PotrebanBrojBodovaZlato) { kup.TipKorisn.ImeTipa = Enums.TipKorisnika.ZLATNI; kup.TipKorisn.Popust = 20; } else if (kup.BrojSakupljenihBodova >= kup.TipKorisn.PotrebanBrojBodovaSrebro) { kup.TipKorisn.ImeTipa = Enums.TipKorisnika.SREBRNI; kup.TipKorisn.Popust = 10; } else { kup.TipKorisn.ImeTipa = Enums.TipKorisnika.BRONZANI; kup.TipKorisn.Popust = 5; } bp.AzurirajKorisnike(); } return(Ok()); }