public IHttpActionResult IzmeniManifestaciju(IzmenaManifestacijeDTO imdto) { 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.listaManifestacija = (Dictionary <string, Manifestacija>)HttpContext.Current.Application["Manifestacije"]; if (bp.listaManifestacija.ContainsKey(imdto.Id)) { bp.listaManifestacija[imdto.Id].Naziv = imdto.Naziv; bp.listaManifestacija[imdto.Id].BrojMesta = imdto.BrojMesta; bp.listaManifestacija[imdto.Id].BrojRegularKarata = imdto.BrojRegularKarata; bp.listaManifestacija[imdto.Id].BrojVipKarata = imdto.BrojVipKarata; bp.listaManifestacija[imdto.Id].BrojFanpitKarata = imdto.BrojFanpitpKarata; bp.listaManifestacija[imdto.Id].DatumVremeOdrzavanja = imdto.DatumVremeOdrzavanja; bp.listaManifestacija[imdto.Id].CenaRegularKarte = imdto.CenaRegularKarte; bp.AzurirajManifestacije(); return(Ok()); } return(BadRequest()); }
public IHttpActionResult ObrisiKorisnika(string id) { bp.listaManifestacija = (Dictionary <string, Manifestacija>)HttpContext.Current.Application["Manifestacije"]; bp.listaKorisnika = (Dictionary <string, Korisnik>)HttpContext.Current.Application["Korisnici"]; bp.listaKarata = (Dictionary <string, Karta>)HttpContext.Current.Application["Karte"]; Korisnik korisnikSesija = (Korisnik)HttpContext.Current.Session["Korisnik"]; if (korisnikSesija == null) { korisnikSesija = new Korisnik(); HttpContext.Current.Session["Korisnik"] = korisnikSesija; } if (korisnikSesija.Uloga == Enums.Uloga.ADMINISTRATOR) { bp.listaKorisnika[id].IsDeleted = bool.Parse("True"); if (bp.listaKorisnika[id].Uloga == Enums.Uloga.KUPAC) { Kupac k = (Kupac)bp.listaKorisnika[id]; foreach (var item in k.SveMojeKarteBezObziraNaStatus) { bp.listaKarata[item].IsDeleted = bool.Parse("True"); } bp.AzurirajKarte(); } else if (bp.listaKorisnika[id].Uloga == Enums.Uloga.PRODAVAC) { Prodavac p = (Prodavac)bp.listaKorisnika[id]; foreach (var item in p.SveMojeManifestacije) { bp.listaManifestacija[item].IsDeleted = bool.Parse("True"); } bp.AzurirajManifestacije(); } 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()); }