示例#1
0
 public ManifestacijePocetnaDTO(string id, string naziv, Enums.TipManifestacije tip, int brojMesta, int brojRegularKarata, int brojVipKarata, int brojFanpitKarata, DateTime datumVremeOdrzavanja, decimal cenaRegularKarte, Enums.StatusManifestacije status, string lokacijaId, string posterManifestacije, MestoOdrzavanja mestoOdrzavanjaManif, int prosecnaOcenaManif, bool isDeleted)
 {
     Id                   = id;
     Naziv                = naziv;
     Tip                  = tip;
     BrojMesta            = brojMesta;
     BrojRegularKarata    = brojRegularKarata;
     BrojVipKarata        = brojVipKarata;
     BrojFanpitKarata     = brojFanpitKarata;
     DatumVremeOdrzavanja = datumVremeOdrzavanja;
     CenaRegularKarte     = cenaRegularKarte;
     Status               = status;
     LokacijaId           = lokacijaId;
     PosterManifestacije  = posterManifestacije;
     MestoOdrzavanjaManif = mestoOdrzavanjaManif;
     ProsecnaOcenaManif   = prosecnaOcenaManif;
     IsDeleted            = isDeleted;
 }
        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());
        }
示例#3
0
        public ActionResult DodajManifestaciju(string naziv, Enumeracija.TipManifestacije tipManifestacije, int brojmesta, DateTime datumodrzavanja, double cenakarte, string grad, string ulicaibroj, int postanskibroj, string slika, string id)
        {
            if (Provera(naziv, tipManifestacije, brojmesta, datumodrzavanja, cenakarte, grad, ulicaibroj, postanskibroj, slika, id) == false)
            {
                ViewBag.IzmenjenaManif = new Manifestacija();
                Prodavac k = (Prodavac)Session["prodavac"];
                ViewBag.ProdManif = k.Manifestacije;

                Dictionary <string, Korisnik> koriscnici = Baza.UcitajKorisnike();
                List <Karta> karte = new List <Karta>();
                foreach (var item in koriscnici)
                {
                    if (item.Value.Uloga == Enumeracija.Uloga.KUPAC)
                    {
                        Kupac kupac = (Kupac)item.Value;
                        foreach (var karta in kupac.RezervisaneKarte)
                        {
                            foreach (var manif in k.Manifestacije)
                            {
                                if (manif.Id == karta.Manifestacija.Id && karta.StatusRezervacije == Enumeracija.StatusKarte.REZERVISANA)
                                {
                                    karte.Add(karta);
                                }
                            }
                        }
                    }
                }
                ViewBag.KarteProdavca = karte;

                return(View("Index"));
            }

            MestoOdrzavanja mesto         = new MestoOdrzavanja(ulicaibroj, grad, postanskibroj);
            Manifestacija   manifestacija = new Manifestacija(naziv, tipManifestacije, brojmesta, datumodrzavanja, cenakarte, mesto, slika);

            Dictionary <string, Korisnik> korisnici = Baza.UcitajKorisnike();
            Prodavac pro = (Prodavac)Session["prodavac"];

            if (id != "")
            {
                foreach (var item in pro.Manifestacije)
                {
                    if (item.Id == id)
                    {
                        manifestacija.Id            = id;
                        manifestacija.Komentari     = item.Komentari;
                        manifestacija.BrojOcena     = item.BrojOcena;
                        manifestacija.ProsecnaOcena = item.ProsecnaOcena;
                        manifestacija.ZbirOcena     = item.ZbirOcena;
                        pro.Manifestacije.Remove(item);
                        break;
                    }
                }
            }
            pro.Manifestacije.Add(manifestacija);

            korisnici[pro.KorisnickoIme] = pro;

            Baza.SacuvajKorisnike(korisnici);
            Baza.AzurirajManifestaciju(manifestacija);
            return(RedirectToAction("Index", "Home"));
        }