Exemple #1
0
        public void OIB_ValidacijaValid()
        {
            string oib   = "50050041051";
            bool   valid = OIB.CheckOIB(oib);

            Assert.IsTrue(valid);
        }
Exemple #2
0
        public void OIB_ValidacijaInvalid()
        {
            string oib   = "1246";
            bool   valid = OIB.CheckOIB(oib);

            Assert.IsFalse(valid);
        }
Exemple #3
0
        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));
        }
Exemple #4
0
        [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));
        }
Exemple #5
0
        /// <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);
        }
Exemple #6
0
 public bool HasValidOIB() => OIB.Length == 11 && OIB.All(char.IsDigit);