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; }
private void SetujKarte(int ZeljeniBrKarata, Database.KupovinaTip kupovinaTip, Database.ProdajaTip prodaja, int eventId, int korinsikId) { for (int i = 0; i < ZeljeniBrKarata; i++) { Database.Karta karta = new Database.Karta { KupovinaTip = kupovinaTip, Cijena = prodaja.CijenaTip, DatumKupovine = DateTime.Now, TipKarteId = prodaja.TipKarteId }; CijenaTrenutneKupovine += karta.Cijena; _ctx.Karta.Add(karta); prodaja.BrojProdatihKarataTip++; if (prodaja.PostojeSjedista == true) { Sjediste s = new Sjediste { Karta = karta, BrojSjedista = prodaja.BrojProdatihKarataTip }; _ctx.Sjediste.Add(s); } _ctx.SaveChanges(); GenerisiQRCode(karta, eventId, korinsikId); } }