public async Task Sacuvaj()
        {
            GledaociSearchRequest request1 = new GledaociSearchRequest()
            {
                Username = APIService.Username
            };
            var gledaoci = await _gledaoci.Get <List <Model.Gledaoci> >(request1);

            GledaociUpsertRequest request2 = new GledaociUpsertRequest()
            {
                Ime           = Ime,
                Prezime       = Prezime,
                DatumRodjenja = DatumRodjenja,
                Email         = Email,
                KorisnickoIme = KorisnickoIme,
                Telefon       = Telefon,
                StaraSifra    = StaraSifra,
                Sifra         = Sifra,
                SifraPotvrda  = SifraPotvrda,
                Status        = true,
                Mobilna       = true
            };

            try {
                var result = await _gledaoci.Update <Model.Gledaoci>(gledaoci[0].GledalacId, request2);

                APIService.Username = request2.KorisnickoIme;
                APIService.Password = request2.Sifra;
                await Application.Current.MainPage.DisplayAlert("Uređivanje podataka", "Uspješno promijenjeno.", "OK");
            }
            catch (Exception ex)
            {
                await Application.Current.MainPage.DisplayAlert("Uređivanje podataka", "Niste unijeli ispravne podatke.", "OK");
            }
        }
        public async Task UcitajProcitane()
        {
            GledaociSearchRequest requestGledaoci = new GledaociSearchRequest()
            {
                Username = APIService.Username
            };
            var listaGledaoci = await _gledaoci.Get <List <Model.Gledaoci> >(requestGledaoci);

            var gledalac = listaGledaoci[0].GledalacId;

            NotifikacijeSearchRequest request = new NotifikacijeSearchRequest()
            {
                Procitana = true, GledalacId = gledalac
            };
            var procitane = await _notifikacije.Get <List <Model.Notifikacije> >(request);

            ProcitaneNotifikacijeList.Clear();
            foreach (var item in procitane)
            {
                ProcitaneNotifikacijeList.Add(item);
            }
            if (ProcitaneNotifikacijeList.Count > 0)
            {
                ProcitaneNotifikacijeList.OrderByDescending(a => a.DatumSlanja);
            }
        }
Example #3
0
        public async Task UcitajPretplate()
        {
            GledaociSearchRequest request = new GledaociSearchRequest()
            {
                Username = APIService.Username
            };
            var listaGledaoci = await _gledaoci.Get <List <Model.Gledaoci> >(request);

            var gledalac  = listaGledaoci[0].GledalacId;
            var pretplate = await _pretplate.Get <List <Model.Pretplate> >(null);

            var lista = new List <Model.Pretplate>();

            foreach (var item in pretplate)
            {
                if (item.GledalacId == gledalac && !item.Otkazana)
                {
                    lista.Add(item);
                }
            }

            PretplateList.Clear();
            foreach (var item in lista)
            {
                PretplateList.Add(item);
            }
        }
        public async Task UcitajPreporuceneProjekcije()
        {
            PreporuceneProjekcijeList.Clear();
            GledaociSearchRequest requestGledalac = new GledaociSearchRequest()
            {
                Username = APIService.Username
            };
            var listaGledaoci = await _gledaoci.Get <List <Model.Gledaoci> >(requestGledalac);

            var gledalac  = listaGledaoci[0].GledalacId;
            var preporuke = await _preporuke.Get <List <Model.Projekcije> >(gledalac);

            var rezervacije = await _rezervacije.Get <List <Model.Rezervacije> >(gledalac);

            foreach (var item in preporuke)
            {
                bool ima = false;
                foreach (var item2 in rezervacije)
                {
                    if (item.ProjekcijaId == item2.ProjekcijaId)
                    {
                        ima = true;
                    }
                }
                if (!ima)
                {
                    PreporuceneProjekcijeList.Add(item);
                }
            }
        }
Example #5
0
        public List <Model.Gledaoci> Get(GledaociSearchRequest search)
        {
            var query = _context.Gledaoci.AsQueryable();

            if (search.Username != null)
            {
                query = query.Where(a => a.KorisnickoIme == search.Username);
            }
            return(_mapper.Map <List <Model.Gledaoci> >(query));
        }
Example #6
0
        public async Task OcijeniFilm(string ocjena)
        {
            if (rezervacija.Projekcija.DatumVrijemeOdrzavanja > DateTime.Now)
            {
                await Application.Current.MainPage.DisplayAlert("Upozorenje", "Vrijeme prikazivanja projekcije nije isteklo.", "OK");

                return;
            }
            int Ocjena = int.Parse(ocjena);
            GledaociSearchRequest request1 = new GledaociSearchRequest()
            {
                Username = APIService.Username
            };
            var listaGledaoci = await _gledaoci.Get <List <Model.Gledaoci> >(request1);

            var gledalac = listaGledaoci[0].GledalacId;

            var ocjene = await _ocjene.Get <List <Model.Ocjene> >(null);

            bool ima = false;

            foreach (var item in ocjene)
            {
                if (item.GledalacId == gledalac && rezervacija.Projekcija.FilmId == item.FilmId)
                {
                    ima = true;
                    break;
                }
            }
            if (!ima)
            {
                OcjeneUpsertRequest request = new OcjeneUpsertRequest()
                {
                    DatumOcjenjivanja = DateTime.Now,
                    FilmId            = rezervacija.Projekcija.FilmId,
                    Ocjena            = Ocjena,
                    GledalacId        = gledalac
                };
                if (Ocjena == 1 || Ocjena == 2 || Ocjena == 3 || Ocjena == 4 || Ocjena == 5)
                {
                    await _ocjene.Insert <Model.Ocjene>(request);

                    await Application.Current.MainPage.DisplayAlert("Ocjena filma", "Uspješno ste ocijenili film.", "OK");
                }
                else
                {
                    await Application.Current.MainPage.DisplayAlert("Upozorenje", "Niste unijeli odgovarajuću ocjenu.", "OK");
                }
            }
            else
            {
                await Application.Current.MainPage.DisplayAlert("Upozorenje", "Već ste ocijenili odabrani film.", "OK");
            }
        }
Example #7
0
        private async void btnPrikazi_Click(object sender, EventArgs e)
        {
            GledaociSearchRequest search = new GledaociSearchRequest()
            {
                Ime     = txtImePretraga.Text,
                Prezime = txtPrezimePretraga.Text
            };
            var result = await _gledaoci.Get <List <Model.Gledaoci> >(search);

            foreach (var item in result)
            {
                item.StatusString = item.Status == true ? "DA" : "NE";
            }
            dgvGledaoci.DataSource = result;
        }
Example #8
0
        public async Task UcitajZanrove()
        {
            GledaociSearchRequest request = new GledaociSearchRequest()
            {
                Username = APIService.Username
            };
            var listaGledaoci = await _gledalac.Get <List <Model.Gledaoci> >(request);

            var gledalac = listaGledaoci[0].GledalacId;

            var pretplate = await _pretplate.Get <List <Model.Pretplate> >(null);

            var zanrovi = await _zanrovi.Get <List <Model.Zanrovi> >(null);

            var novaLista  = new List <Model.Zanrovi>();
            var novaLista2 = new List <Model.Zanrovi>();

            foreach (var item in zanrovi)
            {
                bool ima = false;
                foreach (var item2 in pretplate)
                {
                    if (item.ZanrId == item2.ZanrId && gledalac == item2.GledalacId && !item2.Otkazana)
                    {
                        ima = true;
                    }
                }
                if (ima)
                {
                    novaLista.Add(item);
                }
            }

            foreach (var item in zanrovi)
            {
                if (!novaLista.Contains(item))
                {
                    novaLista2.Add(item);
                }
            }

            ZanroviList.Clear();
            foreach (var item in novaLista2)
            {
                ZanroviList.Add(item);
            }
        }
        public async Task Ucitaj()
        {
            var gledaoci2 = await _gledaoci.Get <List <Model.Gledaoci> >(null); //da zadrži nit učitavanja stranice

            var gledaoci3 = await _gledaoci.Get <List <Model.Gledaoci> >(null); //da zadrži nit učitavanja stranice

            GledaociSearchRequest request = new GledaociSearchRequest()
            {
                Username = APIService.Username
            };
            var gledaoci = await _gledaoci.Get <List <Model.Gledaoci> >(request);

            Ime           = gledaoci[0].Ime;
            Prezime       = gledaoci[0].Prezime;
            Telefon       = gledaoci[0].Telefon;
            Email         = gledaoci[0].Email;
            KorisnickoIme = gledaoci[0].KorisnickoIme;
            DatumRodjenja = gledaoci[0].DatumRodjenja;
        }
Example #10
0
        public async Task PretplatiSe(int?ZanrId)
        {
            int z = int.Parse(ZanrId.ToString());
            GledaociSearchRequest request = new GledaociSearchRequest()
            {
                Username = APIService.Username
            };
            var listaGledaoci = await _gledalac.Get <List <Model.Gledaoci> >(request);

            PretplateUpsertRequest request2 = new PretplateUpsertRequest()
            {
                ZanrId         = z,
                DatumPretplate = DateTime.Now,
                GledalacId     = listaGledaoci[0].GledalacId,
                Otkazana       = false
            };
            await _pretplate.Insert <Model.Pretplate>(request2);

            await Application.Current.MainPage.DisplayAlert("Pretplata na žanr", "Uspješno ste se pretplatili na željeni žanr.", "OK");

            await UcitajZanrove();
        }
Example #11
0
        public async Task UcitajUlaznice()
        {
            GledaociSearchRequest request = new GledaociSearchRequest()
            {
                Username = APIService.Username
            };
            var gledaoci = await _gledaoci.Get <List <Model.Gledaoci> >(request);

            var gledalac = gledaoci[0].GledalacId;

            UlazniceSearchRequest request1 = new UlazniceSearchRequest()
            {
                GledalacId = gledalac
            };
            var ulaznice = await _ulaznice.Get <List <Model.Ulaznice> >(request1);

            UlazniceList.Clear();
            foreach (var item in ulaznice)
            {
                UlazniceList.Add(item);
            }
        }
 public List <Model.Gledaoci> Get([FromQuery] GledaociSearchRequest request)
 {
     return(_service.Get(request));
 }
Example #13
0
        public async void NapraviRezervaciju(string redKolona, int projekcijaId)
        {
            var projekcija = await _projekcije.GetById <Model.Projekcije>(projekcijaId);

            SjedistaSearchRequest search = new SjedistaSearchRequest
            {
                SalaId = projekcija.SalaId
            };
            var sjedista = await _sjedista.Get <List <Model.Sjedista> >(search);

            int sjedisteId = 0;

            foreach (var item in sjedista)
            {
                if (item.Red + item.Kolona == redKolona)
                {
                    sjedisteId = item.SjedisteId;
                    break;
                }
            }


            //provjera da li je sjedište zauzeto
            var ulaznice = await _ulaznice.Get <List <Model.Ulaznice> >(null);

            bool zauzeto = false;

            foreach (var item in ulaznice)
            {
                if (item.ProjekcijaId == projekcija.ProjekcijaId && item.SjedisteId == sjedisteId && item.Status)
                {
                    zauzeto = true;
                    break;
                }
            }
            if (zauzeto)
            {
                await Application.Current.MainPage.DisplayAlert("Rezervacija", "Sjedište je zauzeto. Molimo pokušajte ponovo.", "OK");
            }
            else
            {
                GledaociSearchRequest request = new GledaociSearchRequest()
                {
                    Username = APIService.Username
                };
                var listaGledaoci = await _gledaoci.Get <List <Model.Gledaoci> >(request);

                var gledalac = listaGledaoci[0].GledalacId;



                //provjera da li je gledalac već rezervsao, ako jeste samo će se uvećati broj karata i dodati nova ulaznica
                var rezervacije = await _rezervacije.Get <List <Model.Rezervacije> >(null);

                bool rezervisao           = false;
                int  rezervacijaPostojeca = 0;
                int  brojKarataPostojeca  = 0;
                foreach (var item in rezervacije)
                {
                    if (item.GledalacId == gledalac && item.ProjekcijaId == projekcija.ProjekcijaId && item.Status == true)
                    {
                        rezervisao           = true;
                        rezervacijaPostojeca = item.RezervacijaId;
                        brojKarataPostojeca  = item.BrojKarata;
                    }
                }
                /////////////////////////////////////////////////////////////////////////////////////



                if (!rezervisao)
                {
                    RezervacijeUpsertRequest request2 = new RezervacijeUpsertRequest()
                    {
                        BrojKarata       = 1,
                        Cijena           = projekcija.Cijena,
                        DatumRezervacije = DateTime.Now,
                        GledalacId       = gledalac,
                        ProjekcijaId     = projekcija.ProjekcijaId,
                        Status           = true,
                        mobilna          = true
                    };

                    var r = await _rezervacije.Insert <Model.Rezervacije>(request2);

                    UlazniceUpsertRequest request3 = new UlazniceUpsertRequest()
                    {
                        GledalacId    = gledalac,
                        Cijena        = projekcija.Cijena,
                        ProjekcijaId  = projekcija.ProjekcijaId,
                        RezervacijaId = r.RezervacijaId,
                        Status        = true,
                        SjedisteId    = sjedisteId,
                        QRtekst       =
                            $"{listaGledaoci[0].Ime + " " + listaGledaoci[0].Prezime + "\n" + "Film: " + projekcija.Film.Naziv + "\n" + "Sala: " + projekcija.Sala.Naziv + "\n" + "Vrijeme prikazivanja projekcije: " + projekcija.DatumVrijemeOdrzavanja}"
                    };
                    await _ulaznice.Insert <Model.Ulaznice>(request3);

                    await Application.Current.MainPage.DisplayAlert("Rezervacija", "Uspješno ste rezervisali ulaznicu. Ulaznicu/e možete pogledati u sekciji 'Ulaznice'", "OK");
                }
                else
                {
                    RezervacijeUpsertRequest requestUrediRezervaciju = new RezervacijeUpsertRequest()
                    {
                        Cijena           = projekcija.Cijena * (brojKarataPostojeca + 1),
                        DatumRezervacije = DateTime.Now,
                        GledalacId       = gledalac,
                        ProjekcijaId     = projekcija.ProjekcijaId,
                        Status           = true,
                        BrojKarata       = brojKarataPostojeca + 1,
                        mobilna          = true
                    };
                    var r = await _rezervacije.Update <Model.Rezervacije>(rezervacijaPostojeca, requestUrediRezervaciju);

                    UlazniceUpsertRequest request3 = new UlazniceUpsertRequest()
                    {
                        GledalacId    = gledalac,
                        Cijena        = projekcija.Cijena,
                        ProjekcijaId  = projekcija.ProjekcijaId,
                        RezervacijaId = r.RezervacijaId,
                        Status        = true,
                        SjedisteId    = sjedisteId,
                        QRtekst       = $"{listaGledaoci[0].Ime + " " + listaGledaoci[0].Prezime + "\n" + "Film: " + projekcija.Film.Naziv + "\n" + "Sala: " + projekcija.Sala.Naziv + "\n" + "Vrijeme prikazivanja projekcije: " + projekcija.DatumVrijemeOdrzavanja}"
                    };
                    await _ulaznice.Insert <Model.Ulaznice>(request3);

                    await Application.Current.MainPage.DisplayAlert("Rezervacija", "Uspješno ste rezervisali ulaznicu. Ulaznicu/e možete pogledati u sekciji 'Ulaznice'", "OK");
                }
            }
        }