public async Task <IActionResult> Edit(UcenikViewModel model, string id)
        {
            var user = await userManager.FindByIdAsync(id);

            if (user == null)
            {
                ViewBag.Error = $"There is no user with this {id}";
                return(NotFound());
            }
            else
            {
                user.ImeiPrezime   = model.ImeiPrezime;
                user.NazivMjesta   = model.NazivMjesta;
                user.Ulica         = model.Ulica;
                user.PostanskiBroj = model.PostanskiBroj;
                user.DatumRodenja  = model.DatumRodenja;
                user.Starost       = model.Starost;
                user.Spol          = model.Spol;
                user.ImeOca        = model.ImeOca;

                var result = await userManager.UpdateAsync(user);

                if (result.Succeeded)
                {
                    return(RedirectToAction("Details"));
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError("", error.Description);
                }

                return(View(model));
            }
        }
        public async Task <IActionResult> Edit(string id)
        {
            var user = await userManager.FindByIdAsync(id);

            if (user == null)
            {
                ViewBag.Error = $"There is no user with this {id}";
                return(NotFound());
            }
            else
            {
                var model = new UcenikViewModel
                {
                    ImeiPrezime   = user.ImeiPrezime,
                    NazivMjesta   = user.NazivMjesta,
                    Ulica         = user.NazivMjesta,
                    PostanskiBroj = user.PostanskiBroj,
                    DatumRodenja  = user.DatumRodenja,
                    Spol          = user.Spol,
                    Starost       = user.Starost,
                    ImeOca        = user.ImeOca,
                    Email         = user.Email
                };

                var enumSpol = Enum.GetValues(typeof(Spol)).Cast <Spol>().Select(v => v.ToString()).ToList();
                ViewData["Spol"] = new SelectList(enumSpol);

                return(View(model));
            }
        }
        public async Task <IActionResult> Details()
        {
            var userName = HttpContext.User.Identity.Name;
            var korisnik = await userManager.FindByEmailAsync(userName);

            var user = await userManager.FindByIdAsync(korisnik.Id);

            ViewBag.UcenikId = korisnik.Id;
            if (user == null)
            {
                ViewBag.Error = $"There is no user with this {korisnik.Id}";
                return(NotFound());
            }
            else
            {
                var model = new UcenikViewModel
                {
                    ImeiPrezime   = user.ImeiPrezime,
                    Email         = user.Email,
                    NazivMjesta   = user.NazivMjesta,
                    Ulica         = user.Ulica,
                    PostanskiBroj = user.PostanskiBroj,
                    Spol          = user.Spol,
                    Starost       = user.Starost,
                    ImeOca        = user.ImeOca,
                    DatumRodenja  = user.DatumRodenja
                };
                return(View(model));
            }
        }
Exemple #4
0
        public ActionResult Dodaj()
        {
            var ucenikVM = new UcenikViewModel
            {
                Gradovi = _context.Gradovi.OrderBy(g => g.Naziv).ToList(),
                Smerovi = _context.Smerovi.Include("Oznake").OrderBy(s => s.Trajanje).ToList(),
                Polovi  = _context.Polovi.ToList()
            };

            return(View("Dodaj", ucenikVM));
        }
Exemple #5
0
        public async Task <ActionResult> Sacuvaj(UcenikViewModel ucenikVM, HttpPostedFileBase upload)
        {
            //Proverava postajanje istog JMBG
            if (_context.Ucenici.Where(x => x.JMBG == ucenikVM.Ucenik.JMBG).Any())
            {
                ModelState.AddModelError("Ucenik.JMBG", "JMBG vec postoji u bazi!");
            }

            if (!ModelState.IsValid)
            {
                var podaci = new UcenikViewModel
                {
                    Ucenik  = ucenikVM.Ucenik,
                    Gradovi = _context.Gradovi.OrderBy(g => g.Naziv).ToList(),
                    Smerovi = _context.Smerovi.Include("Oznake").OrderBy(s => s.Trajanje).ToList(),
                    Polovi  = _context.Polovi.ToList(),
                    Greska  = true
                };

                return(View("Dodaj", podaci));
            }

            var ucenik = ucenikVM.Ucenik;
            var oznaka = ucenikVM.Oznaka;
            var razred = ucenik.Razred;

            ucenik.RedniBroj       = GenerisiRedniBrojUcenika(ucenik);
            ucenik.DatumUnosa      = DateTime.Now;
            ucenik.StatusUcenikaId = 1;

            string username = ucenik.Ime.Replace(" ", String.Empty) + ucenik.RedniBroj;

            await RegistracijaUcenika(username, VratiImeUcenikaSaPrvimVelikimSlovom(ucenik.Ime), ucenik.RedniBroj);

            var idUserUcenik = _context.Users.SingleOrDefault(x => x.UserName == username).Id;

            //await UserManager.AddToRoleAsync(idUserUcenik, "Ucenik");
            ucenik.UserUcenikId = idUserUcenik;

            //Dodavanje fotografije za osobu
            if (upload != null && upload.ContentLength > 0)
            {
                using (var reader = new System.IO.BinaryReader(upload.InputStream))
                {
                    ucenik.Fotografija = reader.ReadBytes(upload.ContentLength);
                }
            }

            _context.Ucenici.Add(ucenik);
            _context.SaveChanges();

            return(RedirectToAction("Index", "Ucenici", new { dodatUcenik = true }));
        }
Exemple #6
0
        public async Task <HttpResponseMessage> AddUceniciAsync(UcenikViewModel addObj)
        {
            try
            {
                var response = await uceniciService.AddAsync(Mapper.Map <IUceniciDomainModel>(addObj));

                return(Request.CreateResponse(HttpStatusCode.OK, response));
            }
            catch (Exception e)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, e));
            }
        }
Exemple #7
0
        public ActionResult Izmeni(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ucenik ucenik = _context.Ucenici.Find(id);

            if (ucenik == null)
            {
                return(HttpNotFound());
            }

            UcenikViewModel ucenikVM = new UcenikViewModel()
            {
                Ucenik  = ucenik,
                Gradovi = _context.Gradovi.OrderBy(g => g.Naziv).ToList(),
                Smerovi = _context.Smerovi.Include("Oznake").OrderBy(s => s.Trajanje).ToList(),
                Polovi  = _context.Polovi.ToList()
            };

            return(View(ucenikVM));
        }
        public void UceniciController_Sacuvaj()
        {
            var grad = new List <Grad>()
            {
                new Grad {
                    Id = 1, Naziv = "Beograd"
                },
                new Grad {
                    Id = 2, Naziv = "Novi Sad"
                }
            }.AsQueryable();

            var smer = new List <Smer>()
            {
                new Smer {
                    SmerID = 1, NazivSmera = "Mesar", Trajanje = 3
                },
                new Smer {
                    SmerID = 2, NazivSmera = "Tehnicar", Trajanje = 6
                }
            }.AsQueryable();

            Ucenik uce = new Ucenik()
            {
                Adresa = "Adresa1",
                BrojTelefonaRoditelja = "064111222",
                DatumRodjenja         = DateTime.Now,
                Ime               = "Firas",
                Prezime           = "Aburas",
                ImeMajke          = "Mama",
                PrezimeMajke      = "PrezimeMame",
                ImeOca            = "Tata",
                PrezimeOca        = "PrezimeTate",
                JedinstveniBroj   = "1",
                JMBG              = "1234567891012",
                MestoPrebivalista = "Beograd",
                MestoRodjenja     = new Grad(),
                MestoRodjenjaId   = 1,
                Odeljenje         = new Odeljenje(),
                OdeljenjeId       = 1,
                Razred            = 1,
                Smer              = new Smer(),
                SmerID            = 1,
                UcenikID          = 1,
                Vanredan          = false
            };


            var ucenik = new UcenikViewModel()
            {
                Ucenik  = uce,
                Gradovi = grad,
                Smerovi = smer
            };

            var mockSetGradovi = new Mock <DbSet <Grad> >();

            mockSetGradovi.As <IQueryable <Grad> >().Setup(m => m.Provider).Returns(grad.Provider);
            mockSetGradovi.As <IQueryable <Grad> >().Setup(m => m.Expression).Returns(grad.Expression);
            mockSetGradovi.As <IQueryable <Grad> >().Setup(m => m.ElementType).Returns(grad.ElementType);
            mockSetGradovi.As <IQueryable <Grad> >().Setup(m => m.GetEnumerator()).Returns(grad.GetEnumerator());

            var mockSetSmerovi = new Mock <DbSet <Smer> >();

            mockSetSmerovi.As <IQueryable <Smer> >().Setup(m => m.Provider).Returns(smer.Provider);
            mockSetSmerovi.As <IQueryable <Smer> >().Setup(m => m.Expression).Returns(smer.Expression);
            mockSetSmerovi.As <IQueryable <Smer> >().Setup(m => m.ElementType).Returns(smer.ElementType);
            mockSetSmerovi.As <IQueryable <Smer> >().Setup(m => m.GetEnumerator()).Returns(smer.GetEnumerator());



            var mockSet     = new Mock <DbSet <Ucenik> >();
            var mockContext = new Mock <ApplicationDbContext>();

            mockContext.Setup(p => p.Ucenici).Returns(mockSet.Object);

            var services = new UceniciController(mockContext.Object);

            //services.Sacuvaj(ucenik);

            mockSet.Verify(p => p.Add(It.IsAny <Ucenik>()), Times.Once());
            mockContext.Verify(p => p.SaveChanges(), Times.Once());
        }
Exemple #9
0
        public ActionResult Izmeni(UcenikViewModel ucenikVM, HttpPostedFileBase upload)
        {
            //Proverava postajanje istog JMBG
            if (_context.Ucenici.Where(x => x.JMBG == ucenikVM.Ucenik.JMBG).Any())
            {
                var ucenikId = _context.Ucenici
                               .Where(x => x.JMBG == ucenikVM.Ucenik.JMBG)
                               .Select(x => x.UcenikID)
                               .SingleOrDefault();

                if (ucenikId != ucenikVM.Ucenik.UcenikID)
                {
                    ModelState.AddModelError("Ucenik.JMBG", "JMBG već postoji u bazi!");
                }
            }

            if (!ModelState.IsValid)
            {
                var listaPolova = _context.Polovi.ToList();
                ucenikVM.Ucenik.Pol  = listaPolova.SingleOrDefault(p => p.PolId == ucenikVM.Ucenik.PolId);
                ucenikVM.Ucenik.Smer = _context.Smerovi.SingleOrDefault(s => s.SmerID == ucenikVM.Ucenik.SmerID);

                var podaci = new UcenikViewModel
                {
                    Ucenik  = ucenikVM.Ucenik,
                    Gradovi = _context.Gradovi.OrderBy(g => g.Naziv).ToList(),
                    Smerovi = _context.Smerovi.Include("Oznake").OrderBy(s => s.Trajanje).ToList(),
                    Polovi  = listaPolova,
                    Greska  = true
                };

                return(View("Izmeni", podaci));
            }


            if (upload != null && upload.ContentLength > 0)
            {
                using (var reader = new System.IO.BinaryReader(upload.InputStream))
                {
                    ucenikVM.Ucenik.Fotografija = reader.ReadBytes(upload.ContentLength);
                }
            }

            Ucenik ucenik = new Ucenik()
            {
                UcenikID              = ucenikVM.Ucenik.UcenikID,
                Ime                   = ucenikVM.Ucenik.Ime,
                Prezime               = ucenikVM.Ucenik.Prezime,
                ImeOca                = ucenikVM.Ucenik.ImeOca,
                PrezimeOca            = ucenikVM.Ucenik.PrezimeOca,
                ImeMajke              = ucenikVM.Ucenik.ImeMajke,
                PrezimeMajke          = ucenikVM.Ucenik.PrezimeMajke,
                JMBG                  = ucenikVM.Ucenik.JMBG,
                Adresa                = ucenikVM.Ucenik.Adresa,
                MestoPrebivalista     = ucenikVM.Ucenik.MestoPrebivalista,
                BrojTelefonaRoditelja = ucenikVM.Ucenik.BrojTelefonaRoditelja,
                MestoRodjenjaId       = ucenikVM.Ucenik.MestoRodjenjaId,
                Vanredan              = ucenikVM.Ucenik.Vanredan,
                RedniBroj             = ucenikVM.Ucenik.RedniBroj,
                PromenaLozinke        = ucenikVM.Ucenik.PromenaLozinke,
                SmerID                = ucenikVM.Ucenik.SmerID,
                OdeljenjeId           = ucenikVM.Ucenik.OdeljenjeId,
                Razred                = ucenikVM.Ucenik.Razred,
                DatumRodjenja         = ucenikVM.Ucenik.DatumRodjenja,
                JedinstveniBroj       = ucenikVM.Ucenik.JedinstveniBroj,
                Fotografija           = ucenikVM.Ucenik.Fotografija,
                BrojUDnevniku         = ucenikVM.Ucenik.BrojUDnevniku,
                UserUcenikId          = ucenikVM.Ucenik.UserUcenikId,
                DatumUnosa            = ucenikVM.Ucenik.DatumUnosa,
                PolId                 = ucenikVM.Ucenik.PolId,
                StatusUcenikaId       = ucenikVM.Ucenik.StatusUcenikaId
            };

            try
            {
                _context.Ucenici.AddOrUpdate(ucenik);
                _context.SaveChanges();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
            }

            return(RedirectToAction("Index", new { izmenjenUcenik = true }));
        }