public void OIB_ValidacijaValid() { string oib = "50050041051"; bool valid = OIB.CheckOIB(oib); Assert.IsTrue(valid); }
public void OIB_ValidacijaInvalid() { string oib = "1246"; bool valid = OIB.CheckOIB(oib); Assert.IsFalse(valid); }
public ActionResult Azuriraj(Student s) { if (GodisteController.ProvjeriGodiste(s.DatumRodjenja) == false) { ModelState.AddModelError("DatumRodjenja", "Osoba mora biti starija od 18"); } if (!OIB.ProvjeriOIB(s.Oib)) { ModelState.AddModelError("Oib", "Neispravan OIB"); } if (ModelState.IsValid) { bazaPodataka.Entry(s).State = System.Data.Entity.EntityState.Modified; bazaPodataka.SaveChanges(); return(RedirectToAction("Popis")); } return(View(s)); }
[ValidateAntiForgeryToken] //mehanizam koji nas štiti od cross site request // forgery (poziva post metode izvan naše aplikacije) public ActionResult Azuriraj(Student s) { if (!OIB.CheckOIB(s.Oib)) { ModelState.AddModelError("Oib", "Neispravan OIB"); } DateTime datumPrije18g = DateTime.Now.AddYears(-18); if (s.DatumRodjenja > datumPrije18g) { ModelState.AddModelError("DatumRodjenja", "Osoba mora biti starija od 18"); } //Ako je korisnik odabrao sliku spremamo je u direktorij Images if (s.ImageFile != null) { string fileName = Path.GetFileNameWithoutExtension(s.ImageFile.FileName); string extension = Path.GetExtension(s.ImageFile.FileName); //kontroliramo ekstenziju datoteke if (extension == ".jpg" || extension == ".jpeg" || extension == ".png") { fileName = fileName + "_" + DateTime.Now.Ticks + extension; //umjesto DateTime.Now.Ticks možemo koristiti i Guid.NewGuid() string folderSlike = "~/Images/"; //u model spremamo putanju do slike s.SlikaPutanja = folderSlike + fileName; //generiramo putanju do slike na disku gdje je želimo spremiti fileName = Path.Combine(Server.MapPath(folderSlike), fileName); s.ImageFile.SaveAs(fileName); } else { ModelState.AddModelError("SlikaPutanja", "Nepodržana ekstenzija"); } } //ModelState.IsValid - provjera ispravnosti podataka //npr. ako je atribut int tipa a mi smo unijeli string u to polje na formi //neće proći validaciju i preusmjerit će korisnika na //stranicu za ažuriranje i ispisati grešku validacije //više o tome na narednim vježbama if (ModelState.IsValid) { //ako model ima vrijednost parametra Id različito od 0 tada znamo da korisnik ažurira podatke o studentu if (s.Id != 0) { bazaPodataka.Entry(s).State = System.Data.Entity.EntityState.Modified; } //ako model ima vrijednost parametra Id jednak 0 tada se radi o dodavanju novog studenta else { bazaPodataka.PopisStudenata.Add(s); } bazaPodataka.SaveChanges(); //Preusmjeravanje na metodu koja vraća popis studenata return(RedirectToAction("Popis")); } //ukoliko je došlo do greške validacije potrebno je ponovno prikazati formu za unos s unešenim podacima //i ovisno dal se kreira (Id == 0) ili ažurira student modificiramo naslov stranice if (s.Id == 0) { ViewBag.Title = "Kreiranje studenta"; ViewBag.Novi = true; } else { ViewBag.Title = "Ažuriranje podataka o studentu"; ViewBag.Novi = false; } var smjerovi = bazaPodataka.PopisSmjerova.OrderBy(x => x.Naziv).ToList(); smjerovi.Insert(0, new Smjer { Sifra = "", Naziv = "Nedefinirano" }); ViewBag.Smjerovi = smjerovi; return(View(s)); }
/// <summary> /// /// </summary> /// <param name="sr"></param> /// <returns>true if start of file is valid SIE-format</returns> private bool parseLines(StreamReader sr) { bool firstLine = true; SieVoucher curVoucher = null; do { var line = sr.ReadLine(); Callbacks.CallbackLine(line); var di = new SieDataItem(line, this); if (firstLine) { firstLine = false; if (di.ItemType != "#FLAGGA") { Callbacks.CallbackException(new SieInvalidFileException(_fileName)); return(true); } } if (CRC.Started && di.ItemType != "#KSUMMA") { CRC.AddData(di); } SiePeriodValue pv = null; switch (di.ItemType) { case "#ADRESS": FNAMN.Contact = di.GetString(0); FNAMN.Street = di.GetString(1); FNAMN.ZipCity = di.GetString(2); FNAMN.Phone = di.GetString(3); break; case "#BKOD": FNAMN.SNI = di.GetInt(0); break; case "#BTRANS": if (!IgnoreBTRANS) { parseTRANS(di, curVoucher); } break; case "#DIM": parseDimension(di); break; case "#ENHET": parseENHET(di); break; case "#FLAGGA": FLAGGA = di.GetInt(0); break; case "#FNAMN": FNAMN.Name = di.GetString(0); break; case "#FNR": FNAMN.Code = di.GetString(0); break; case "#FORMAT": FORMAT = di.GetString(0); break; case "#FTYP": FNAMN.OrgType = di.GetString(0); break; case "#GEN": GEN_DATE = di.GetDate(0); GEN_NAMN = di.GetString(1); break; case "#IB": parseIB(di); break; case "#KONTO": parseKONTO(di); break; case "#KSUMMA": if (CRC.Started) { parseKSUMMA(di); } else { CRC.Start(); } break; case "#KTYP": parseKTYP(di); break; case "#KPTYP": KPTYP = di.GetString(0); break; case "#OBJEKT": parseOBJEKT(di); break; case "#OIB": pv = parseOIB_OUB(di); Callbacks.CallbackOIB(pv); if (!StreamValues) { OIB.Add(pv); } break; case "#OUB": pv = parseOIB_OUB(di); Callbacks.CallbackOUB(pv); if (!StreamValues) { OUB.Add(pv); } break; case "#ORGNR": FNAMN.OrgIdentifier = di.GetString(0); break; case "#OMFATTN": OMFATTN = di.GetDate(0); break; case "#PBUDGET": pv = parsePBUDGET_PSALDO(di); if (pv != null) { Callbacks.CallbackPBUDGET(pv); if (!StreamValues) { PBUDGET.Add(pv); } } break; case "#PROGRAM": PROGRAM = di.Data; break; case "#PROSA": PROSA = di.GetString(0); break; case "#PSALDO": pv = parsePBUDGET_PSALDO(di); if (pv != null) { Callbacks.CallbackPSALDO(pv); if (!StreamValues) { PSALDO.Add(pv); } } break; case "#RAR": parseRAR(di); break; case "#RTRANS": if (!IgnoreBTRANS) { parseTRANS(di, curVoucher); } break; case "#SIETYP": SIETYP = di.GetInt(0); break; case "#SRU": parseSRU(di); break; case "#TAXAR": TAXAR = di.GetInt(0); break; case "#UB": parseUB(di); break; case "#TRANS": parseTRANS(di, curVoucher); break; case "#RES": parseRES(di); break; case "#VALUTA": VALUTA = di.GetString(0); break; case "#VER": curVoucher = parseVER(di); break; case "": //Empty line break; case "{": break; case "}": if (curVoucher != null) { closeVoucher(curVoucher); } curVoucher = null; break; default: Callbacks.CallbackException(new NotImplementedException(di.ItemType)); break; } } while (!sr.EndOfStream); return(false); }
public bool HasValidOIB() => OIB.Length == 11 && OIB.All(char.IsDigit);