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); } }
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); } }
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); } }
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(); }
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(); } } }