public FindAndReplacePage(eContext context) { InitializeComponent(); mContext = context; SetFoundItemsGridView(); Init(); }
public async Task OnActionExecutionAsync(ActionExecutingContext filterContext, ActionExecutionDelegate next) { LoginInfo k = filterContext.HttpContext.Session.GetObjectFromJson <LoginInfo>("LoggedUser"); if (_Svi == true) { await next(); //ok - ima pravo pristupa return; } if (k == null && _Svi != true) { if (filterContext.Controller is Controller controller) { controller.TempData["error_poruka"] = "Niste logirani"; } filterContext.Result = new RedirectToActionResult("Login", "Autentifikacija", new { @area = "" }); return; } //Preuzimamo DbContext preko app services eContext db = new eContext(); //kupci if (_Kupac == true && db.Kupac.Where(s => s.OsobaID == k.OsobaID).FirstOrDefault() != null) { await next(); //ok - ima pravo pristupa return; } //developeri if (_Developer && db.Developer.Where(s => s.OsobaID == k.OsobaID).FirstOrDefault() != null) { await next();//ok - ima pravo pristupa return; } if (_Administrator && db.Administrator.Where(s => s.OsobaID == k.OsobaID).FirstOrDefault() != null) { await next();//ok - ima pravo pristupa return; } if (filterContext.Controller is Controller c1) { c1.ViewData["error_poruka"] = "Nemate pravo pristupa"; } filterContext.Result = new RedirectToActionResult("Index", "Kupac", new { @area = "" }); }
public int IgraAktivanPopust(int igraID, eContext db) { Igra igra = db.Igra.Where(i => i.IgraID == igraID).FirstOrDefault(); Popust popust = db.Popust.Where(p => p.PocetakPopusta <= DateTime.Now && p.KrajPopusta >= DateTime.Now && p.IgraID == igraID).FirstOrDefault(); if (igra == null || popust == null) { return(0); } return(popust.PopustProcent); }
public List <Igra> PretragaZanrKategorija(List <Igra> igre, int zanr = 0, int kategorija = 0, eContext db = null) { if (db == null) { db = new eContext(); } if (zanr != 0 && kategorija != 0) { var query = from igra in igre where igra.GameGenreID == zanr && igra.RatingCategorieID == kategorija select igra; igre = query.ToList(); } else { if (zanr != 0 && kategorija == 0) { var query = from igra in igre where igra.GameGenreID == zanr select igra; igre = query.ToList(); } else { if (zanr == 0 && kategorija != 0) { var query = from igra in igre where igra.RatingCategorieID == kategorija select igra; igre = query.ToList(); } } } return(igre); }
public double cijenaSaPopustom(int igraID, eContext db) { Igra igra = db.Igra.Where(i => i.IgraID == igraID).FirstOrDefault(); Popust popust = db.Popust.Where(p => p.PocetakPopusta <= DateTime.Now && p.KrajPopusta >= DateTime.Now && p.IgraID == igraID).FirstOrDefault(); if (igra == null) { return(0); } if (popust != null) { float procent = 1 - (float)popust.PopustProcent / 100; return(Math.Round((igra.Cijena * procent), 2)); } return(igra.Cijena); }
//Uradjeno samo za osobu treba doradit za kupca public bool DodajSliku(int IgraID = 0, int OsobaID = 0, IFormFile Image = null, eContext db = null) { if (db == null) { db = new eContext(); } if (Image != null) { if (Image.Length > 0) { using (var fs1 = Image.OpenReadStream()) if (OsobaID != 0 && IgraID == 0) { byte[] p1 = null; using (var ms1 = new MemoryStream()) { Osoba Osoba = db.Osoba.Where(o => o.OsobaID == OsobaID).FirstOrDefault(); fs1.CopyTo(ms1); p1 = ms1.ToArray(); if (!ProvjeriPostojanje(0, OsobaID, Image, db)) { OsobaImage OsobaImage = new OsobaImage { OsobaID = OsobaID, Image = p1 }; db.OsobaImage.Add(OsobaImage); Osoba.OsobaImage = OsobaImage; } else { Osoba.OsobaImage.Image = p1; } db.SaveChanges(); return(true); } } else { if (OsobaID == 0 && IgraID != 0) { byte[] p1 = null; using (var ms1 = new MemoryStream()) { Igra Igra = db.Igra.Where(i => i.IgraID == IgraID).FirstOrDefault(); fs1.CopyTo(ms1); p1 = ms1.ToArray(); if (!ProvjeriPostojanje(IgraID, 0, Image, db)) { IgricaImage i1 = new IgricaImage { IgraID = IgraID, Image = p1 }; Igra.IgricaImage = i1; db.IgricaImage.Add(i1); } else { Igra.IgricaImage.Image = p1; } db.SaveChanges(); db.Dispose(); return(true); } } } } } return(false); }
public bool ProvjeriPostojanje(int IgraID = 0, int OsobaID = 0, IFormFile Image = null, eContext db = null) { if (Image != null) { if (OsobaID != 0 && IgraID == 0) { if (db.OsobaImage.Where(oi => oi.OsobaID == OsobaID).FirstOrDefault() != null) { return(true); } return(false); } if (OsobaID == 0 && IgraID != 0) { if (db.IgricaImage.Where(ii => ii.IgraID == IgraID).FirstOrDefault() != null) { return(true); } return(false); } } return(false); }
private Task <KupacIndexVM> GetItemsAsync(string pretraga, int sortirajPo, int zanr, int kategorija, int from, int to, eContext db) { PretragaIgra p = new PretragaIgra(); return(Task.Run(() => p.GetKupacIndexVM(pretraga, sortirajPo, zanr, kategorija, from, to, db))); }
public List <Igra> PretragaIgrica(string pretraga, eContext db) { if (pretraga == null || pretraga == "") { return(db.Igra .Include(i => i.IgricaImage) .ToList()); } List <Igra> igre = db.Igra .Include(i => i.IgricaImage) .ToList(); List <int> PretragaPogodatak = new List <int>(); List <Igra> PretragaIgra = new List <Igra>(); int brojac = 0, PP; Igra PI; if (pretraga != null && igre.Count != 0) { List <Regex> r = new List <Regex>(); pretraga = pretraga.ToLower(); string[] k = Regex.Split(pretraga, "\\s+"); foreach (string x in k) { r.Add(new Regex("\\b" + x + "\\b")); } //Prebrojavamo koliko naziv svake igre ima istih rjeci kao pretraga string for (int i = 0; i < igre.Count; i++) { brojac = 0; foreach (Regex reg in r) { if (reg.Match(igre[i].Naziv.ToLower()).Success) { if (brojac == 0) { PretragaIgra.Add(igre[i]); } brojac++; } } if (brojac != 0) { PretragaPogodatak.Add(brojac); } } for (int i = 0; i < PretragaIgra.Count; i++) { for (int j = i + 1; j < PretragaIgra.Count; j++) { if (PretragaPogodatak[j] > PretragaPogodatak[i]) { PP = PretragaPogodatak[i]; PretragaPogodatak[i] = PretragaPogodatak[j]; PretragaPogodatak[j] = PP; //------------------------------------- PI = PretragaIgra[i]; PretragaIgra[i] = PretragaIgra[j]; PretragaIgra[j] = PI; } } } return(PretragaIgra); } return(new List <Igra>()); }
public KupacIndexVM GetKupacIndexVM(string pretraga = null, int sortirajPo = 1, int zanr = 0, int kategorija = 0, int from = 0, int to = 20, eContext db = null) { KupacIndexVM kupacIndexVM = new KupacIndexVM() { pretraga = pretraga, sortirajPo = sortirajPo, zanr = zanr, kategorija = kategorija, from = from, to = to }; PretragaIgra p = new PretragaIgra(); //pretrazivanje List <Igra> igre = p.PretragaIgrica(kupacIndexVM.pretraga, db); //filtiranje igre = p.PretragaZanrKategorija(igre, kupacIndexVM.zanr, kupacIndexVM.kategorija, db); //sortiranje igre = p.Sortiranje(igre, kupacIndexVM.sortirajPo, db); //to -= from; to = 20; if (from + to < igre.Count) { igre = igre.GetRange(from, to); } else { to = igre.Count() - from; if (to > 0) { igre = igre.GetRange(from, to); } else { igre = new List <Igra>(); } } kupacIndexVM.Igre = igre; foreach (Igra x in igre) { kupacIndexVM.PopustProcent.Add(p.IgraAktivanPopust(x.IgraID, db)); kupacIndexVM.novaCijena.Add(p.cijenaSaPopustom(x.IgraID, db)); } return(kupacIndexVM); }
public List <Igra> Sortiranje(List <Igra> igre, int sortirajPo = 1, eContext db = null) { if (db == null) { db = new eContext(); } switch (sortirajPo) { case 2: { var queryIgra = from igra in igre where igra.Odobrena == true orderby igra.DatumObjave descending select igra; igre = queryIgra.ToList(); } break; case 1: { var queryIgra = from igra in igre join kupacKupuje in db.KupacKupuje on igra.IgraID equals kupacKupuje.IgraID into pk from kupacKupuje in pk.DefaultIfEmpty() where igra.Odobrena == true group igra by igra into g orderby g.Count() descending select g.Key; igre = queryIgra.ToList(); } break; case 3: { var queryIgra = from igra in igre where igra.Odobrena == true orderby cijenaSaPopustom(igra.IgraID, db) ascending select igra; igre = queryIgra.ToList(); } break; case 4: { var queryIgra = from igra in igre where igra.Odobrena == true orderby cijenaSaPopustom(igra.IgraID, db) descending select igra; igre = queryIgra.ToList(); } break; case 5: { var queryIgra = from igra in igre where igra.Odobrena == true orderby IgraAktivanPopust(igra.IgraID, db) descending select igra; igre = queryIgra.ToList(); } break; default: break; } return(igre); }
public MyUserService() { db = new eContext(); }