public IActionResult Dodaj(Sistem_Takmicenja st) { if (User.Identity.Name != "*****@*****.**" && User.Identity.Name != "*****@*****.**") { return(VratiNijeAutorizovan()); } if (DaLiPostoji(st.Opis)) { return(View("Greska")); } if (ModelState.IsValid) { db.SistemiTakmicenja.Add(st); db.SaveChanges(); return(Redirect("/SistemTakmicenja")); } return(View()); }
public IActionResult PrikazProfila(int id) { Igrac objIgrac = db.Igraci.Include(d => d.Grad).SingleOrDefault(x => x.ID == id); if (objIgrac == null) { return(View("Greska")); } IgracVM igrac = new IgracVM(objIgrac); igrac.statistika = db.Statistike.Where(s => s.IgracID == id && s.AkademskaGodina == DateTime.Now.Year).SingleOrDefault(); igrac.BrojPostovanja = db.Postovanja.Count(p => p.PostovaniID == id); igrac.listaPrijava = (from pi in db.PrijaveIgraci join pr in db.Prijave on pi.PrijavaID equals pr.ID where pi.IgracID == id select new Prijava { ID = pr.ID, Naziv = pr.Naziv, Takmicenje = pr.Takmicenje }).ToList(); ViewBag.userId = db.Users.Where(d => d.Email == User.Identity.Name).FirstOrDefault().Id; var userId = db.Users.Where(d => d.Email == User.Identity.Name).FirstOrDefault().Id; if (userId != id) { Igrac i = db.Igraci.Find(id); i.BrojPosjetaNaProfil++; db.Update(i); db.SaveChanges(); } return(View(igrac)); }
public async Task <ActionResult> UkljuciAutentifikaciju(AutentifikacijaVM model) { if (User.Identity.Name != null) { var korisnik = await UserM.FindByEmailAsync(User.Identity.Name); TwoFactorAuthenticator tfa = new TwoFactorAuthenticator(); string userUniqueKey = GetUserUniqueKey(korisnik); if (LockoutCheck(korisnik)) { TimeSpan t = (korisnik.LockoutEnd - DateTime.Now) ?? default(TimeSpan); ModelState.AddModelError("Lockout", "Vaš profil je zaključan još " + t.Minutes + " minuta i " + t.Seconds + " sekundi."); return(View()); } else { if (tfa.ValidateTwoFactorPIN(userUniqueKey, model.Code)) { Igrac i = db.Igraci.Find(korisnik.Id); i.TwoFactorEnabled = true; db.Update(i); db.SaveChanges(); return(Redirect("/Igrac/PrikazProfila/" + i.ID)); } else { ModelState.AddModelError("Code", "Neispravan kod"); return(View()); } } } else { return(RedirectToAction("Login")); } }
public IActionResult Dodaj(ObjavaUnosVM obj) { if (ModelState.IsValid) { Feed FidObjekat = db.Feeds.Find(obj.FeedID);//mora pripadati objava nekom fidu inace nista if (FidObjekat != null) { try { Objava nova = new Objava { Naziv = obj.Naziv, Content = obj.Content, DatumKreiranja = DateTime.Now, DatumIzmjene = DateTime.Now }; db.Objave.Add(nova); db.SaveChanges(); FeedObjava novaFidObjava = new FeedObjava { FeedID = FidObjekat.ID, ObjavaID = nova.ID }; db.FeedsObjave.Add(novaFidObjava); db.SaveChanges(); return(Redirect("/Feed/Prikaz/" + FidObjekat.ID)); } catch (DbUpdateException) { ModelState.AddModelError("", "Problem u kreiranju"); } } } return(PartialView(obj)); }
public IActionResult Dodaj(CreateTakmicenjeVM objekat) { if (ModelState.IsValid) { TakmicenjaInsert objekatValidator = mapko.Map <TakmicenjaInsert>(objekat); List <(string key, string error)> listaerrora = validator .VratiListuErroraAkcijaDodaj(objekatValidator); if (listaerrora.Count() == 0) { using (var transakcija = db.Database.BeginTransaction())//sigurnost u opasnim situacijama { try { //ovaj posao ce odraditi IMapper Takmicenje novo = new Takmicenje(); mapko.Map(objekat, novo); var idUser = db.Users.Where(x => x.UserName == HttpContext.User.Identity.Name).FirstOrDefault(); novo.KreatorID = idUser.Id; Feed TakmicenjeFeed = new Feed { Naziv = novo.Naziv + " feed", DatumModifikacije = DateTime.Now }; db.Feeds.Add(TakmicenjeFeed); db.SaveChanges(); novo.FeedID = TakmicenjeFeed.ID; db.Add(novo); db.SaveChanges(); //dobaviti igrace iz regexa if (objekat.RucniOdabir) { validator._listaIgraca = db.Igraci.ToList(); List <Igrac> svi = validator.GetListaRucnihIgraca(objekat.RucnoOdabraniIgraci); foreach (Igrac i in svi) { Prijava novaPrijava = new Prijava { DatumPrijave = DateTime.Now, isTim = false, Naziv = i.PrikaznoIme, TakmicenjeID = novo.ID }; novaPrijava.StanjePrijave = new Stanje_Prijave(novaPrijava.ID); db.Prijave.Add(novaPrijava); db.SaveChanges(); Prijava_igrac PrijavaIgracPodatak = new Prijava_igrac { IgracID = i.ID, PrijavaID = novaPrijava.ID }; db.PrijaveIgraci.Add(PrijavaIgracPodatak); db.SaveChanges(); } } transakcija.Commit(); return(Redirect("/Takmicenje/Prikaz/" + novo.ID)); } catch (DbUpdateException) { transakcija.Rollback(); ModelState.AddModelError("", "Doslo je do greške prilikom spašavanja u bazu"); } } } else { //ako je validator vratio errore ovdje cemo ih pametno stavit u modelstate kako bi se prikazali na viewu foreach ((string key, string err)i in listaerrora) { ModelState.AddModelError(i.key, i.err); } } } LoadViewBag(); return(View(objekat)); }
public IActionResult Dodaj(CreateReportVM ReportObj) { if (ModelState.IsValid) { if (!SamoSlike(ReportObj.Prilozi)) { ModelState.AddModelError(nameof(ReportObj.Prilozi), "Mozete samo slike upload"); } else { #pragma warning disable IDE0063 // Use simple 'using' statement using (var transakcija = db.Database.BeginTransaction()) #pragma warning restore IDE0063 // Use simple 'using' statement { List <string> zluNetrebalo = new List <string>(); try { //otkriti nacin slanja mejla administratoru ako uspjesno prodje report Report noviReport = new Report { Naslov = ReportObj.Naslov, Email = ReportObj.Email, Sadrzaj = ReportObj.Sadrzaj, DatumKreiranja = DateTime.Now, Prilozi = new List <Attachment>() }; db.Reports.Add(noviReport); db.SaveChanges(); if (ReportObj.Prilozi != null) { foreach (IFormFile x in ReportObj.Prilozi) { Directory.CreateDirectory(Path.Combine(_host.WebRootPath, "reports").ToString()); string ImeFajla = Guid.NewGuid().ToString() + "_" + x.FileName; string PathSpremanja = Path.Combine(_host.WebRootPath, "reports", ImeFajla); using (var strim = new FileStream(PathSpremanja, FileMode.Create)) x.CopyTo(strim); zluNetrebalo.Add(PathSpremanja); Attachment Attachmentnovi = new Attachment { DatumUnosa = DateTime.Now, Path = "~/reports/" + ImeFajla }; db.Attachments.Add(Attachmentnovi); db.SaveChanges(); noviReport.Prilozi.Add(Attachmentnovi); db.SaveChanges(); } } transakcija.Commit(); try { EmailServis.PosaljiMejlReport(noviReport); } catch (Exception) { } return(Redirect("/Home/Index")); } catch (DbUpdateException) { transakcija.Rollback(); foreach (string x in zluNetrebalo) { if (System.IO.File.Exists(x)) { System.IO.File.Delete(x); } } ModelState.AddModelError("", "Nesto je krenulo po zlu prilikom spasavanja u bazu,ponovite unos"); } } } } return(View(ReportObj)); }