예제 #1
0
        private void GenerisiQRCode(Database.Karta karta, int eventId, int korisnikId)
        {
            Database.Korisnik korisnik = _ctx.Korisnik.Find(korisnikId);

            Database.Event Event = _ctx.Event.Find(eventId);

            if (korisnik == null || Event == null || karta == null)
            {
                return;
            }

            QRCodeGenerator qr     = new QRCodeGenerator();
            string          text   = Event.Id.ToString() + " - " + Event.Naziv + " - Broj karte: " + karta.Id + " - KorsnikId: " + korisnik.Id;
            QRCodeData      data   = qr.CreateQrCode(text, QRCodeGenerator.ECCLevel.Q);
            QRCode          qRCode = new QRCode(data);

            Bitmap qrCodeImage = qRCode.GetGraphic(20);

            MemoryStream ms = new MemoryStream();

            qrCodeImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

            byte[] imageBytes = ms.ToArray();
            karta.QrCode = imageBytes;
        }
        public void SaveChanges()
        {
            using (var db = new Database.NPGuildEntities())
            {
                var allEventIds  = db.Events.Select(f => f.EventId);
                var recsToRemove = new List <int>();

                foreach (var id in allEventIds)
                {
                    if (!Events.Any(f => f.EventId == id))
                    {
                        recsToRemove.Add(id);
                    }
                }

                foreach (var id in recsToRemove)
                {
                    var rec = db.Events.Find(id);
                    rec.Removed = true;
                    db.SaveChanges();
                }

                db.SaveChanges();

                foreach (var item in Events)
                {
                    if (item.EventId > 0)
                    {
                        var rec = db.Events.Find(item.EventId);

                        rec.Start       = item.StartDate.Value;
                        rec.End         = item.EndDate.Value;
                        rec.Description = item.Description;
                        rec.Leader      = item.Leader;

                        db.SaveChanges();
                    }
                    else
                    {
                        var rec = new Database.Event()
                        {
                            Start       = item.StartDate.Value,
                            End         = item.EndDate.Value,
                            Description = item.Description,
                            Leader      = item.Leader,
                            Removed     = false
                        };

                        db.Events.Add(rec);
                        db.SaveChanges();

                        item.EventId = rec.EventId;
                    }
                }
            }
        }
        private void btnInviteToEvent_Click(object sender, RoutedEventArgs e)
        {
            ClearOutput();
            int index = dgInviteEvent.SelectedIndex;

            if (index > -1)
            {
                Database.Event ev = eventkalenderViewModel.Events.ElementAt(index);
                eventkalenderViewModel.InviteToEvent(dgInvitePersons.SelectedItems, ev);
            }
        }
        private void btnDeleteEvent_Click(object sender, RoutedEventArgs e)
        {
            ClearOutput();
            int index = dgEvents.SelectedIndex;

            if (index > -1)
            {
                Database.Event ev = eventkalenderViewModel.Events.ElementAt(index);
                eventkalenderViewModel.DeleteEvent(ev.Id);
            }
        }
예제 #5
0
 public static WebApi.Event ToWeb(this Database.Event evt)
 {
     if (evt == null)
     {
         return(null);
     }
     return(new WebApi.Event
     {
         Id = evt.Id,
         Type = evt.Type,
         Year = evt.Year
     });
 }
        public void DeleteEvent(int id)
        {
            try
            {
                Database.Event temp = new Database.Event();
                temp.Id = id;

                Events.Remove(Events.FirstOrDefault(e => e.Id == temp.Id));
                eventkalenderDAL.DeleteEvent(temp);

                Persons = new ObservableCollection <Database.Person>(eventkalenderDAL.GetPersons());
                //NotifyPropertyChanged("Events");
            }
            catch (Exception ex)
            {
                Status = ExceptionHandler.GetErrorMessage(ex);
            }
        }
        public void AddEvent(string name, string summary, DateTime startTime, DateTime endTime, int nationId)
        {
            try
            {
                Database.Event e = new Database.Event(name, summary, startTime, endTime, nationId);

                Events.Add(e);
                Database.Nation n1 = Nations.First(temp => temp.Id == nationId);
                n1.Events.Add(e);

                eventkalenderDAL.AddEvent(e);

                NotifyPropertyChanged("Nations");
            }
            catch (Exception ex)
            {
                Status = ExceptionHandler.GetErrorMessage(ex);
            }
        }
 public void InviteToEvent(IList list, Database.Event ev)
 {
     try
     {
         foreach (Database.Person p in list)
         {
             if (!p.Events.Contains(ev))
             {
                 p.Events.Add(ev);
                 eventkalenderDAL.UpdatePerson(p);
             }
         }
         Events  = new ObservableCollection <Database.Event>(eventkalenderDAL.GetEvents());
         Persons = new ObservableCollection <Database.Person>(eventkalenderDAL.GetPersons());
     }
     catch (Exception ex)
     {
         Status = ExceptionHandler.GetErrorMessage(ex);
     }
 }
예제 #9
0
        public void PosaljiMail(int korisnikId, float cijena, int eventId)
        {
            Database.Korisnik korisnik = _ctx.Korisnik.Find(korisnikId);

            Database.Event Event = _ctx.Event.Find(eventId);

            if (korisnik == null || Event == null)
            {
                return;
            }

            var message = new MimeMessage();

            message.From.Add(new MailboxAddress("Event Atteder", "*****@*****.**"));

            message.To.Add(new MailboxAddress(korisnik.Ime, korisnik.Email));


            message.Subject = "Uspješna kupovina karte";

            message.Body = new TextPart("plain")
            {
                Text = "Poštovani/a " + korisnik.Ime + " " + korisnik.Prezime + " uspješno ste obavili kupovinu " +
                       "karte/karata za event " + Event.Naziv + ", " + "u iznosu od " + cijena + " KM. Hvala na povjerenju! "
            };

            using (var client = new SmtpClient())
            {
                client.Connect("smtp.gmail.com", 587, false);

                client.Authenticate("*****@*****.**", "");

                client.Send(message);
                client.Disconnect(true);
            }
        }
예제 #10
0
        public static void DopunaSlike(MojContext _ctx)
        {
            List <Event> eventi = _ctx.Event.Include(e => e.Kategorija).ToList();

            if (eventi != null && eventi.Count > 0)
            {
                foreach (var e in eventi)
                {
                    if (e.Slika == null)
                    {
                        if (e.Kategorija.Naziv == "Muzika")
                        {
                            e.Slika      = Helper.ImageHelper.ReadFile("./Images/koncert.jpg");
                            e.SlikaThumb = Helper.ImageHelper.ReadFile("./Images/koncert.jpg");

                            /*  var niz = e.VrijemeOdrzavanja.Split(":");
                             * int sati = int.Parse(niz[0]);
                             * int minute = int.Parse(niz[1]);
                             *
                             * DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, sati, minute, 0);
                             * e.DatumOdrzavanja = dt;*/
                            DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 20, 00, 0);
                            e.DatumOdrzavanja   = dt;
                            e.VrijemeOdrzavanja = "20:00";
                        }
                        else if (e.Kategorija.Naziv == "Kultura")
                        {
                            e.Slika      = Helper.ImageHelper.ReadFile("./Images/opera.jpg");
                            e.SlikaThumb = Helper.ImageHelper.ReadFile("./Images/opera.jpg");

                            /* var niz = e.VrijemeOdrzavanja.Split(":");
                             * int sati = int.Parse(niz[0]);
                             * int minute = int.Parse(niz[1]);
                             *
                             * DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, sati, minute, 0);
                             * e.DatumOdrzavanja = dt;*/

                            DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 20, 00, 0);
                            e.DatumOdrzavanja   = dt;
                            e.VrijemeOdrzavanja = "20:00";
                        }
                        else
                        {
                            e.Slika      = Helper.ImageHelper.ReadFile("./Images/fudbal.jpg");
                            e.SlikaThumb = Helper.ImageHelper.ReadFile("./Images/fudbal.jpg");

                            DateTime datum = e.DatumOdrzavanja.AddDays(30);
                            DateTime dt    = new DateTime(datum.Year, datum.Month, datum.Day, 20, 00, 0);
                            e.DatumOdrzavanja   = dt;
                            e.VrijemeOdrzavanja = "20:00";
                        }

                        _ctx.SaveChanges();
                    }
                }
            }

            var karte = _ctx.Karta.Include(k => k.KupovinaTip).Include(k => k.KupovinaTip.Kupovina).ToList();

            if (karte != null && karte.Count > 0)
            {
                foreach (var k in karte)
                {
                    Database.Korisnik korisnik = _ctx.Korisnik.Find(k.KupovinaTip.Kupovina.KorisnikId);

                    Database.Event Event = _ctx.Event.Find(k.KupovinaTip.Kupovina.EventId);

                    if (korisnik == null || Event == null)
                    {
                        return;
                    }

                    QRCodeGenerator qr     = new QRCodeGenerator();
                    string          text   = Event.Id.ToString() + " - " + Event.Naziv + " - Broj karte: " + k.Id + " - KorsnikId: " + korisnik.Id;
                    QRCodeData      data   = qr.CreateQrCode(text, QRCodeGenerator.ECCLevel.Q);
                    QRCode          qRCode = new QRCode(data);

                    Bitmap qrCodeImage = qRCode.GetGraphic(20);

                    MemoryStream ms = new MemoryStream();

                    qrCodeImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

                    byte[] imageBytes = ms.ToArray();
                    k.QrCode = imageBytes;

                    _ctx.SaveChanges();
                }
            }
        }
        private void DatabaseIncijalizacija()
        {
            if (_ctx.Korisnik.Count() > 0 || _ctx.Administrator.Count() > 0)
            {
                return;
            }

            string salt1 = Helper.HashHelper.GenerateSalt();
            string salt2 = Helper.HashHelper.GenerateSalt();
            string salt3 = Helper.HashHelper.GenerateSalt();


            Drzava drzava = new Drzava {
                Naziv = "BiH"
            };

            _ctx.Drzava.Add(drzava);
            _ctx.SaveChanges();


            Grad grad = new Grad {
                Naziv = "Sarajevo", Drzava = drzava
            };

            _ctx.Grad.Add(grad);
            _ctx.SaveChanges();


            var korisnik1 = new Database.Korisnik
            {
                Ime           = "Korisnik1",
                Adresa        = "Adresa1",
                Email         = "*****@*****.**",
                Grad          = grad,
                IsAktivan     = true,
                PasswordSalt  = salt1,
                PasswordHash  = Helper.HashHelper.GenerateHash(salt1, "test"),
                PostanskiBroj = "71000",
                Prezime       = "Prezime1",
                Telefon       = "061000111",
                Uloga         = "Korisnik",
                Username      = "******"
            };

            _ctx.Korisnik.Add(korisnik1);
            _ctx.SaveChanges();

            var korisnik2 = new Database.Korisnik
            {
                Ime           = "Korisnik2",
                Adresa        = "Adresa2",
                Email         = "*****@*****.**",
                Grad          = grad,
                IsAktivan     = true,
                PasswordSalt  = salt2,
                PasswordHash  = Helper.HashHelper.GenerateHash(salt2, "password2"),
                PostanskiBroj = "71000",
                Prezime       = "Prezime2",
                Telefon       = "061000222",
                Uloga         = "Korisnik",
                Username      = "******"
            };



            _ctx.Korisnik.Add(korisnik2);
            _ctx.SaveChanges();



            Administrator administrator = new Administrator
            {
                Email        = "*****@*****.**",
                Grad         = grad,
                Ime          = "Admin1",
                Prezime      = "Prezime1",
                PasswordSalt = salt3,
                PasswordHash = Helper.HashHelper.GenerateHash(salt3, "test"),
                Username     = "******",
                Telefon      = "061000333",
                Uloga        = "Administrator"
            };

            _ctx.Administrator.Add(administrator);

            var org1 = new Organizator {
                Naziv   = "Org1",
                Email   = "*****@*****.**",
                Grad    = grad,
                Telefon = "062222222",
                Uloga   = "..."
            };
            var org2 = new Organizator {
                Naziv   = "Org2",
                Email   = "*****@*****.**",
                Grad    = grad,
                Telefon = "062555555",
                Uloga   = "..."
            };
            var org3 = new Organizator {
                Naziv   = "Org3",
                Email   = "*****@*****.**",
                Grad    = grad,
                Telefon = "062333333",
                Uloga   = "..."
            };

            _ctx.Organizator.Add(org1);
            _ctx.Organizator.Add(org2);
            _ctx.Organizator.Add(org3);
            _ctx.SaveChanges();



            var tip1 = new TipProstoraOdrzavanja {
                Naziv = "Sala"
            };
            var tip2 = new TipProstoraOdrzavanja {
                Naziv = "Dvorana"
            };
            var tip3 = new TipProstoraOdrzavanja {
                Naziv = "Stadion"
            };


            _ctx.TipProstoraOdrzavanja.Add(tip1);
            _ctx.TipProstoraOdrzavanja.Add(tip2);
            _ctx.TipProstoraOdrzavanja.Add(tip3);
            _ctx.SaveChanges();

            var prostor1 = new ProstorOdrzavanja
            {
                Adresa = "Obala Kulina bana 9, Sarajevo",
                Grad   = grad,
                Naziv  = "Narodno pozorište Sarajevo",
                TipProstoraOdrzavanja = tip1
            };


            var prostor2 = new ProstorOdrzavanja
            {
                Adresa = "Alipašina bb, Sarajevo 71000",
                Grad   = grad,
                Naziv  = "Zetra",
                TipProstoraOdrzavanja = tip2
            };



            var prostor3 = new ProstorOdrzavanja
            {
                Adresa = "Zvornička 27 Sarajevo 71000",
                Grad   = grad,
                Naziv  = "Stadion Grbavica",
                TipProstoraOdrzavanja = tip3
            };

            _ctx.ProstorOdrzavanja.Add(prostor3);
            _ctx.ProstorOdrzavanja.Add(prostor2);
            _ctx.ProstorOdrzavanja.Add(prostor1);
            _ctx.SaveChanges();


            var kategorija1 = new Kategorija {
                Naziv = "Muzika"
            };
            var kategorija2 = new Kategorija {
                Naziv = "Kultura"
            };
            var kategorija3 = new Kategorija {
                Naziv = "Sport"
            };

            _ctx.Kategorija.Add(kategorija2);
            _ctx.Kategorija.Add(kategorija3);
            _ctx.Kategorija.Add(kategorija1);
            _ctx.SaveChanges();



            var event1 = new Database.Event
            {
                DatumOdrzavanja   = DateTime.Now.AddDays(30),
                IsOdobren         = true,
                IsOtkazan         = false,
                Kategorija        = kategorija2,
                Naziv             = "Event1",
                Opis              = "...",
                Organizator       = org1,
                ProstorOdrzavanja = prostor1,
                VrijemeOdrzavanja = "20:00",
                Administrator     = administrator,
                Slika             = Helper.ImageHelper.ReadFile("Images/opera.jpg"),
                SlikaThumb        = Helper.ImageHelper.ReadFile("Images/opera.jpg"),
            };

            _ctx.Event.Add(event1);
            _ctx.SaveChanges();


            var event2 = new Database.Event
            {
                DatumOdrzavanja   = DateTime.Now.AddDays(30),
                IsOdobren         = true,
                IsOtkazan         = false,
                Kategorija        = kategorija1,
                Naziv             = "Event2",
                Opis              = "...",
                Organizator       = org2,
                ProstorOdrzavanja = prostor2,
                VrijemeOdrzavanja = "20:00",
                Administrator     = administrator,
                Slika             = Helper.ImageHelper.ReadFile("Images/koncert.jpg"),
                SlikaThumb        = Helper.ImageHelper.ReadFile("Images/koncert.jpg")
            };

            _ctx.Event.Add(event2);
            _ctx.SaveChanges();

            var event3 = new Database.Event
            {
                DatumOdrzavanja   = DateTime.Now.AddDays(30),
                IsOdobren         = true,
                IsOtkazan         = false,
                Kategorija        = kategorija3,
                Naziv             = "Event3",
                Opis              = "...",
                Organizator       = org3,
                ProstorOdrzavanja = prostor3,
                VrijemeOdrzavanja = "20:00",
                Administrator     = administrator,
                Slika             = Helper.ImageHelper.ReadFile("Images/fudbal.jpg"),
                SlikaThumb        = Helper.ImageHelper.ReadFile("Images/fudbal.jpg")
            };

            _ctx.Event.Add(event3);
            _ctx.SaveChanges();



            var tipKarte1 = new TipKarte {
                Naziv = "VIP"
            };
            var tipKarte2 = new TipKarte {
                Naziv = "Parter"
            };
            var tipKarte3 = new TipKarte {
                Naziv = "Tribina"
            };
            var tipKarte4 = new TipKarte {
                Naziv = "Obicna"
            };


            _ctx.TipKarte.Add(tipKarte4);
            _ctx.TipKarte.Add(tipKarte3);
            _ctx.TipKarte.Add(tipKarte2);
            _ctx.TipKarte.Add(tipKarte1);

            _ctx.SaveChanges();

            var prodajaTip1 = new ProdajaTip
            {
                Event    = event1,
                TipKarte = tipKarte1,
                BrojProdatihKarataTip = 0,
                CijenaTip             = 15,
                PostojeSjedista       = true,
                UkupnoKarataTip       = 100
            };
            var prodajaTip2 = new ProdajaTip
            {
                Event    = event2,
                TipKarte = tipKarte2,
                BrojProdatihKarataTip = 0,
                CijenaTip             = 10,
                PostojeSjedista       = false,
                UkupnoKarataTip       = 1000
            };

            _ctx.ProdajaTip.Add(prodajaTip1);
            _ctx.ProdajaTip.Add(prodajaTip2);


            _ctx.SaveChanges();
        }
예제 #12
0
        public static void DopunaSlike(MojContext _ctx)
        {
            List <Event> eventi = _ctx.Event.Include(e => e.Kategorija).ToList();

            if (eventi != null && eventi.Count > 0)
            {
                foreach (var e in eventi)
                {
                    if (e.Slika == null)
                    {
                        if (e.Kategorija.Naziv == "Muzika")
                        {
                            e.Slika      = Helper.ImageHelper.ReadFile("./Images/koncert.jpg");
                            e.SlikaThumb = Helper.ImageHelper.ReadFile("./Images/koncert.jpg");
                        }
                        else if (e.Kategorija.Naziv == "Kultura")
                        {
                            e.Slika      = Helper.ImageHelper.ReadFile("./Images/opera.jpg");
                            e.SlikaThumb = Helper.ImageHelper.ReadFile("./Images/opera.jpg");
                        }
                        else
                        {
                            e.Slika      = Helper.ImageHelper.ReadFile("./Images/fudbal.jpg");
                            e.SlikaThumb = Helper.ImageHelper.ReadFile("./Images/fudbal.jpg");
                        }

                        _ctx.SaveChanges();
                    }
                }
            }

            var karte = _ctx.Karta.Include(k => k.KupovinaTip).Include(k => k.KupovinaTip.Kupovina).ToList();

            if (karte != null && karte.Count > 0)
            {
                foreach (var k in karte)
                {
                    Database.Korisnik korisnik = _ctx.Korisnik.Find(k.KupovinaTip.Kupovina.KorisnikId);

                    Database.Event Event = _ctx.Event.Find(k.KupovinaTip.Kupovina.EventId);

                    if (korisnik == null || Event == null)
                    {
                        return;
                    }

                    QRCodeGenerator qr     = new QRCodeGenerator();
                    string          text   = Event.Id.ToString() + " - " + Event.Naziv + " - Broj karte: " + k.Id + " - KorsnikId: " + korisnik.Id;
                    QRCodeData      data   = qr.CreateQrCode(text, QRCodeGenerator.ECCLevel.Q);
                    QRCode          qRCode = new QRCode(data);

                    Bitmap qrCodeImage = qRCode.GetGraphic(20);

                    MemoryStream ms = new MemoryStream();

                    qrCodeImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

                    byte[] imageBytes = ms.ToArray();
                    k.QrCode = imageBytes;

                    _ctx.SaveChanges();
                }
            }
        }