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 PrikazManifestacije(string id) { bp.listaManifestacija = (Dictionary <string, Manifestacija>)HttpContext.Current.Application["Manifestacije"]; bp.listaLokacija = (Dictionary <string, Lokacija>)HttpContext.Current.Application["Lokacije"]; bp.listaKomentara = (Dictionary <string, Komentar>)HttpContext.Current.Application["Komentari"]; ManifestacijaDTO mdto = new ManifestacijaDTO(); int prosecnaOcena = 0; int brojac = 0; int ocena; foreach (var komentar in bp.listaKomentara.Values) { if (komentar.ManifestacijaID == id) { brojac++; if (komentar.Ocena == Enums.Ocena.JEDAN) { ocena = 1; } else if (komentar.Ocena == Enums.Ocena.DVA) { ocena = 2; } else if (komentar.Ocena == Enums.Ocena.TRI) { ocena = 3; } else if (komentar.Ocena == Enums.Ocena.CETIRI) { ocena = 4; } else { ocena = 5; } prosecnaOcena += ocena; } } if (bp.listaManifestacija.ContainsKey(id)) { mdto.Naziv = bp.listaManifestacija[id].Naziv; mdto.Tip = bp.listaManifestacija[id].Tip; mdto.BrojMesta = bp.listaManifestacija[id].BrojMesta; mdto.BrojRegularKarata = bp.listaManifestacija[id].BrojRegularKarata; mdto.BrojVipKarata = bp.listaManifestacija[id].BrojVipKarata; mdto.BrojFanpitKarata = bp.listaManifestacija[id].BrojFanpitKarata; mdto.DatumVremeOdrzavanja = bp.listaManifestacija[id].DatumVremeOdrzavanja; mdto.CenaRegularKarte = bp.listaManifestacija[id].CenaRegularKarte; mdto.Status = bp.listaManifestacija[id].Status; mdto.GeografskaSirina = bp.listaLokacija[bp.listaManifestacija[id].LokacijaId].GeografskaSirina.ToString(); mdto.GeografskaDuzina = bp.listaLokacija[bp.listaManifestacija[id].LokacijaId].GeografskaDuzina.ToString(); mdto.Ulica = bp.listaLokacija[bp.listaManifestacija[id].LokacijaId].MestoOdrzavanja.Ulica.ToString(); mdto.Grad = bp.listaLokacija[bp.listaManifestacija[id].LokacijaId].MestoOdrzavanja.Grad.ToString(); mdto.Drzava = bp.listaLokacija[bp.listaManifestacija[id].LokacijaId].MestoOdrzavanja.Drzava.ToString(); mdto.PostanskiBroj = bp.listaLokacija[bp.listaManifestacija[id].LokacijaId].MestoOdrzavanja.PostanskiBroj.ToString(); mdto.PosterManifestacije = bp.listaManifestacija[id].PosterManifestacije; if (prosecnaOcena != 0) { mdto.OcenaManifestacije = prosecnaOcena / brojac; } else { mdto.OcenaManifestacije = prosecnaOcena; } mdto.IsDeleted = bp.listaManifestacija[id].IsDeleted; return(Ok(mdto)); } return(BadRequest()); }