public async Task <IActionResult> Edit(int id, [Bind("Id,VaziDo,BrojKartice,CVV,TipKarticeID")] KreditneKartice kreditneKartice)
        {
            if (id != kreditneKartice.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(kreditneKartice);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!KreditneKarticeExists(kreditneKartice.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["TipKarticeID"] = new SelectList(_context.TipKartice, "Id", "Naziv", kreditneKartice.TipKarticeID);
            return(View(kreditneKartice));
        }
        public async Task <IActionResult> Create([Bind("Id,VaziDo,BrojKartice,CVV,TipKarticeID")] KreditneKartice kreditneKartice)
        {
            if (ModelState.IsValid)
            {
                _context.Add(kreditneKartice);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["TipKarticeID"] = new SelectList(_context.TipKartice, "Id", "Naziv", kreditneKartice.TipKarticeID);
            return(View(kreditneKartice));
        }
예제 #3
0
        public IActionResult GetKreditnuKarticu(int GostId, int RezID)
        {
            Gosti gost = db.Gosti.Include(x => x.KreditneKartica).FirstOrDefault(x => x.Id == GostId);



            ViewData["TipKarticeID"] = new SelectList(db.TipKartice, "Id", "Naziv");
            ViewData["GostID"]       = GostId;
            ViewData["RezIDD"]       = RezID;


            if (gost.KreditneKartica != null)
            {
                return(PartialView("KreditnaKartica", gost.KreditneKartica));
            }
            KreditneKartice nova = new KreditneKartice();

            return(PartialView("KreditnaKartica", null));
        }
예제 #4
0
        public IActionResult _DodajKarticu([Bind("VaziDo,BrojKartice,CVV,TipKarticeID")] KreditneKartice kartica, int GostID, int RezID)
        {
            if (ModelState.IsValid)
            {
                int mjesec = 0;
                int godina = 0;


                string[] datum = kartica.VaziDo.Split('/');

                mjesec = int.Parse(datum[0]);
                godina = int.Parse(datum[1]);
                DateTime novi = new DateTime(godina, mjesec, 1);

                kartica.VaziDoDatum = novi;
                db.Add(kartica);
                db.SaveChanges();

                Gosti gost = db.Gosti.FirstOrDefault(x => x.Id == GostID);
                gost.KreditneKarticaId = kartica.Id;
                db.Gosti.Update(gost);
                db.SaveChanges();

                //RedirectToAction("Index", "Rezervacije");
                KreditneKartice uspjehKartica = db.KreditneKartice.Include(x => x.TipKartice).SingleOrDefault(x => x.Id == kartica.Id);
                ViewData["TipKarticeID"] = new SelectList(db.TipKartice, "Id", "Naziv");
                ViewData["GostID"]       = GostID;
                ViewData["RezIDD"]       = RezID;

                return(PartialView("KreditnaKartica", uspjehKartica));
            }



            ViewData["TipKarticeID"] = new SelectList(db.TipKartice, "Id", "Naziv");
            ViewData["GostID"]       = GostID;
            ViewData["RezIDD"]       = RezID;



            return(PartialView("KreditnaKartica", kartica));
        }
        protected override ValidationResult IsValid(
            object value, ValidationContext validationContext)
        {
            KreditneKartice kartica = (KreditneKartice)validationContext.ObjectInstance;

            if (string.IsNullOrEmpty(kartica.VaziDo))
            {
                return(new ValidationResult("Vazi do je obavezno polje "));
            }

            string VaziDo = kartica.VaziDo;

            //Regex regex = new Regex("@[0-9]{2}/[0-9]{2,4}");
            Regex regex = new Regex(@"^(0[1-9]|1[0-2])\/(([0-9]{4}|[0-9]{2})$)");
            Match match = regex.Match(VaziDo);

            if (!match.Success)
            {
                return(new ValidationResult("Vazi do nije validan, prihvaćeni format je MM/GG ili MM/GGGG"));
            }

            int mjesec = 0;
            int godina = 0;



            string[] datum = kartica.VaziDo.Split('/');



            if (datum[0].Length != 2)
            {
                return(new ValidationResult("Mjesec nije validan"));
            }
            if (datum[1].Length < 2 || datum[1].Length == 3 || datum[1].Length > 4)
            {
                return(new ValidationResult("Godina nije validan"));
            }

            mjesec = int.Parse(datum[0]);
            godina = int.Parse(datum[1]);


            if (mjesec > 12 || mjesec < 1)
            {
                return(new ValidationResult("Mjesec nije validan"));
            }


            if (godina < 100)
            {
                godina += 2000;
            }


            if (godina < DateTime.Now.Year)
            {
                return(new ValidationResult("Godina nije validna, kreditna kratica je istekla"));
            }

            DateTime sad = DateTime.Now.AddYears(25);

            if (godina > sad.Year)
            {
                return(new ValidationResult("Godina nije validna, kreditna kratica traje predugo"));
            }


            DateTime novi = new DateTime(godina, mjesec, 1);

            return(ValidationResult.Success);
        }