Ejemplo n.º 1
0
        /// <summary>
        /// Initializes the singleton application object.  This is the first line of authored code
        /// executed, and as such is the logical equivalent of main() or WinMain().
        /// </summary>
        public App()
        {
            this.InitializeComponent();
            this.Suspending += OnSuspending;

            using (var db = new GoFlyDbContext())
            {
                db.Database.ApplyMigrations();
            }
        }
        public async void obrisiKorisnika(object parameter)
        {
            if (KorisnickiEmail == null)
            {
                MessageDialog msg = new MessageDialog("Unesite e-mail", "Greska");
                await msg.ShowAsync();

                return;
            }

            if (!(new EmailAddressAttribute().IsValid(KorisnickiEmail)))
            {
                MessageDialog msg = new MessageDialog("Neispravan E-mail", "Greska");
                await msg.ShowAsync();

                return;
            }


            using (var db = new GoFlyDbContext()) {
                bool nema = true;

                foreach (Korisnik user in db.Korisnici)
                {
                    if (user.Email == KorisnickiEmail)
                    {
                        nema = false;

                        db.Korisnici.Remove(user);
                        db.SaveChanges();


                        MessageDialog msg = new MessageDialog("Uspješno ste obrisali korisnika", "Čestitamo!");
                        await msg.ShowAsync();

                        return;
                    }
                }

                if (nema)
                {
                    MessageDialog msg = new MessageDialog("Korisnik nije pronaden", "Greska");
                    await msg.ShowAsync();

                    return;
                }
            }
        }
        public async void pretraga(object parameter)
        {
            if (KorisnickiEmail == null)
            {
                MessageDialog msg = new MessageDialog("Unesite e-mail", "Greska");
                await msg.ShowAsync();

                return;
            }

            if (!(new EmailAddressAttribute().IsValid(KorisnickiEmail)))
            {
                MessageDialog msg = new MessageDialog("Neispravan E-mail", "Greska");
                await msg.ShowAsync();

                return;
            }

            using (var db = new GoFlyDbContext()) {
                bool nema = true;

                foreach (Korisnik user in db.Korisnici)
                {
                    if (user.Email == KorisnickiEmail)
                    {
                        nema = false;

                        Ime            = user.Ime;
                        Prezime        = user.Prezime;
                        Sifra          = user.Sifra;
                        Email          = user.Email;
                        KontaktTelefon = user.BrojTelefona;
                        Status         = "Korisnik";
                    }
                }

                if (nema)
                {
                    MessageDialog msg = new MessageDialog("Korisnik nije pronaden", "Greska");
                    await msg.ShowAsync();

                    return;
                }
            }
        }
Ejemplo n.º 4
0
        public StatistickiPodaciViewModel()
        {
            NavigationService = new NavigationService();
            Back = new RelayCommand <object>(back);
            KontrolaKorisnika = new RelayCommand <object>(kontrolaKorisnika);
            UnosLetova        = new RelayCommand <object>(unosLetova);

            using (var db = new GoFlyDbContext()) {
                brojBrojKorisnika = db.Korisnici.Count();

                foreach (Let let in db.Letovi)
                {
                    brojUkupnoDostupnihKarti += let.MaxBrojPutnika;
                }

                brojAktivniLetovi     = db.Letovi.Count();
                brojRezervisaniLetovi = 0;
            }
        }
        public async void pridruziAdminPrava(object parameter)
        {
            if (KorisnickiEmail == null)
            {
                MessageDialog msg = new MessageDialog("Unesite e-mail", "Greska");
                await msg.ShowAsync();

                return;
            }

            if (!(new EmailAddressAttribute().IsValid(KorisnickiEmail)))
            {
                MessageDialog msg = new MessageDialog("Neispravan E-mail", "Greska");
                await msg.ShowAsync();

                return;
            }

            Administrator NoviAdmin = new Administrator();

            using (var db = new GoFlyDbContext()) {
                foreach (Administrator tempAdmin in db.Administratori)
                {
                    if (tempAdmin.Email == KorisnickiEmail)
                    {
                        MessageDialog msg = new MessageDialog("Ovaj korisnik vec ima admin prava", "Greska");
                        await msg.ShowAsync();

                        return;
                    }
                }

                bool nema = true;

                foreach (Korisnik user in db.Korisnici)
                {
                    if (user.Email == KorisnickiEmail)
                    {
                        nema = false;

                        NoviAdmin.AdministratorId = db.Administratori.Count() + 1;
                        NoviAdmin.BrojTelefona    = user.BrojTelefona;
                        NoviAdmin.Email           = user.Email;
                        NoviAdmin.Ime             = user.Ime;
                        NoviAdmin.Prezime         = user.Prezime;
                        NoviAdmin.KorisnikId      = user.KorisnikId + 2;
                        NoviAdmin.MojeRezervacije = user.MojeRezervacije;
                        NoviAdmin.Sifra           = "admin" + user.Sifra;


                        db.Administratori.Add(NoviAdmin);
                        db.SaveChanges();

                        string messege = "E-mail novog admina je: " + NoviAdmin.Email + " sifra novog admina je: " + NoviAdmin.Sifra;

                        MessageDialog msg = new MessageDialog(messege, "Dodali ste admin prava");
                        await msg.ShowAsync();

                        return;
                    }
                }

                if (nema)
                {
                    MessageDialog msg = new MessageDialog("Korisnik nije pronaden", "Greska");
                    await msg.ShowAsync();

                    return;
                }
            }
        }
        //Prijava korisnika
        public async void prijava(object parameter)
        {
            using (var db = new GoFlyDbContext())
            {
                bool nema  = true;
                bool admin = false;

                if (Email == null || Sifra == null)
                {
                    MessageDialog msg = new MessageDialog("Unesite podatke", "Greska");
                    await msg.ShowAsync();

                    return;
                }


                if (db.Administratori.Count() == 0)
                {
                    Administrator temp = new Administrator();
                    temp.AdministratorId = 1;
                    temp.BrojTelefona    = "";
                    temp.Email           = "Admin";
                    temp.Ime             = "Admin";
                    temp.KorisnikId      = 1;
                    temp.MojeRezervacije = new List <Rezervacija>();
                    temp.Prezime         = "Admin";
                    temp.Sifra           = "admin1";

                    db.Administratori.Add(temp);
                    db.SaveChanges(); // OVO FALI NA GIT
                }

                foreach (Administrator Admin in db.Administratori)
                {
                    if (Admin.Email == Email && Admin.Sifra == Sifra)
                    {
                        admin = true;
                        nema  = false;
                        NavigationService.Navigate(typeof(View.StatistickiPodaci), null);
                    }
                }

                if (!admin)
                {
                    foreach (Korisnik user in db.Korisnici)
                    {
                        if (user.Email == Email && user.Sifra == Sifra)
                        {
                            nema = false;
                            NavigationService.Navigate(typeof(View.UredivanjeProfila), null);

                            break;
                        }
                    }
                }
                // Ako u bazi nema osobe sa unesenim podacima
                if (nema)
                {
                    MessageDialog msg = new MessageDialog("Neispravan E-mail ili sifra.");
                    await msg.ShowAsync();
                }
            }
        }
        // Kod unosa letova, kad se omoguci brisanje letova iz baze
        //podataka, imat cemo problema sa ID-em leta. ID mora bit unique a sad se odreduje prema velicini liste letova iz baze
        public async void unesiLet(object parameter)
        {
            if (DatumPolaska == null || DatumDolaska == null || Polaziste == null || Odrediste == null || CijenaKarte == null || MaxBrojPutnika == null)
            {
                MessageDialog msg = new MessageDialog("Unesite sve podatke", "Greska");
                await msg.ShowAsync();

                return;
            }

            for (int i = 0; i < CijenaKarte.Length; i++)
            {
                if (CijenaKarte[i] < '0' || CijenaKarte[i] > '9')
                {
                    MessageDialog msg = new MessageDialog("Cijena karte mora biti broj", "Greska");
                    await msg.ShowAsync();

                    return;
                }
            }

            for (int i = 0; i < MaxBrojPutnika.Length; i++)
            {
                if (MaxBrojPutnika[i] < '0' || MaxBrojPutnika[i] > '9')
                {
                    MessageDialog msg = new MessageDialog("Maksimalan broj putnika mora biti broj", "Greska");
                    await msg.ShowAsync();

                    return;
                }
            }

            int cijena = 0;
            int brojP  = 0;

            if (!Int32.TryParse(CijenaKarte, out cijena) || !Int32.TryParse(MaxBrojPutnika, out brojP))
            {
                MessageDialog msg = new MessageDialog("Unesite brojeve", "Greska");
                await msg.ShowAsync();

                return;
            }

            if (cijena <= 0 || brojP <= 0)
            {
                MessageDialog msg = new MessageDialog("Cijena ili broj putnika su manji ili jednaki nuli", "Greska");
                await msg.ShowAsync();

                return;
            }

            DateTime datump = DateTime.Now;
            DateTime datumd = DateTime.Now;

            if (!DateTime.TryParse(DatumPolaska, out datump) || !DateTime.TryParse(DatumDolaska, out datumd))
            {
                MessageDialog msg = new MessageDialog("Neispravan datum", "Greska");
                await msg.ShowAsync();

                return;
            }

            using (var db = new GoFlyDbContext()) {
                Let NoviLet = new Let();

                NoviLet.LetId          = db.Letovi.Count() + 1;
                NoviLet.DatumDolaska   = datumd;
                NoviLet.DatumPolaska   = datump;
                NoviLet.CijenaLeta     = cijena;
                NoviLet.MaxBrojPutnika = brojP;
                NoviLet.Polaziste      = Polaziste;
                NoviLet.Odrediste      = Odrediste;
                NoviLet.KlasaLeta      = Klasa;

                db.Letovi.Add(NoviLet);
                db.SaveChanges();

                MessageDialog msg = new MessageDialog("Uspjesno ste unijeli let", "Cestitamo");
                await msg.ShowAsync();
            }
        }
        public async void registracija(object parameter)
        {
            if (Ime == null || Prezime == null || Sifra == null || PonoviSifru == null || E_mail == null || KontaktTelefon == null)
            {
                MessageDialog msg = new MessageDialog("Unesite sve podatke", "Greska");
                await msg.ShowAsync();

                return;
            }

            if (Sifra.Length < 8)
            {
                MessageDialog msg = new MessageDialog("Sifra mora imati vise od 8 znakova", "Greska");
                await msg.ShowAsync();

                return;
            }

            if (Sifra != PonoviSifru)
            {
                MessageDialog msg = new MessageDialog("Sifre nisu iste", "Greska");
                await msg.ShowAsync();

                return;
            }

            if (!(new EmailAddressAttribute().IsValid(E_mail)))
            {
                MessageDialog msg = new MessageDialog("Pogresan E-mail", "Greska");
                await msg.ShowAsync();

                return;
            }

            using (var db = new GoFlyDbContext()) {
                foreach (Korisnik user in db.Korisnici)
                {
                    if (user.Email == E_mail)
                    {
                        MessageDialog msg = new MessageDialog("Vec je prijavljen korisnik sa ovim E-mailom", "Greska");
                        await msg.ShowAsync();

                        return;
                    }
                }
            }

            for (int i = 0; i < KontaktTelefon.Length; i++)
            {
                if (KontaktTelefon[i] < '0' || KontaktTelefon[i] > '9' || KontaktTelefon.Length == 0)
                {
                    MessageDialog msg = new MessageDialog("Unesite ispravan Kontakt telefon", "Greska");
                    await msg.ShowAsync();

                    return;
                }
            }

            //Spasavanje korisnika u lokalnu bazu podataka
            using (var db = new GoFlyDbContext()) {
                Korisnik noviKorisnik = new Korisnik();
                noviKorisnik.Ime             = ime;
                noviKorisnik.Prezime         = prezime;
                noviKorisnik.Sifra           = sifra;
                noviKorisnik.Email           = e_mail;
                noviKorisnik.BrojTelefona    = kontakt_telefon;
                noviKorisnik.MojeRezervacije = new List <Rezervacija>();

                db.Korisnici.Add(noviKorisnik);
                db.SaveChanges();

                MessageDialog msg = new MessageDialog("Uspještno ste se registrovali!", "Čestitamo!");
                await msg.ShowAsync();
            }

            NavigationService.Navigate(typeof(View.Prijava), null);
        }