public int AddOsoba(Osoba osoba)
 {
     var entity = Osoba.ConvertModelToEntity(osoba);
     _context.Osobe.Add(entity);
     _context.SaveChanges();
     return entity.OsobaId;
 }
示例#2
0
 public OsobniPodaciModel(Osoba osoba)
 {
     this.Ime = osoba.Ime;
     this.Prezime = osoba.Prezime;
     this.DatumRodjenja = osoba.DatumRodjenja;
     this.NazivRokovnika = osoba.NazivRokovnika;
     this.OpisRokovnika = osoba.OpisRokovnika;
 }
示例#3
0
 public static OsobaEntity ConvertModelToEntity(Osoba model)
 {
     var entity = new OsobaEntity
     {
         OsobaId = model.OsobaId ?? -1,
         Ime = model.Ime,
         Prezime = model.Prezime,
         DatumRodjenja = model.DatumRodjenja,
         NazivRokovnika = model.NazivRokovnika,
         OpisRokovnika = model.OpisRokovnika,
     };
     foreach (var obvezaModel in model.Obveze)
     {
         entity.Obveze.Add(Obveza.ConvertModelToEntity(obvezaModel));
     }
     return entity;
 }
示例#4
0
 public static Osoba ConvertEntityToModel(OsobaEntity entity, bool fetchObveze = false)
 {
     Osoba o = new Osoba
     {
         OsobaId = entity.OsobaId,
         Ime = entity.Ime,
         Prezime = entity.Prezime,
         DatumRodjenja = entity.DatumRodjenja,
         NazivRokovnika = entity.NazivRokovnika,
         OpisRokovnika = entity.OpisRokovnika,
         Obveze = new List<Obveza>(),
     };
     if (fetchObveze)
     {
         foreach (var obvezaEntity in entity.Obveze)
         {
             o.Obveze.Add(Obveza.ConvertEntityToModel(obvezaEntity));
         }
     }
     return o;
 }
示例#5
0
 public void UpdateOsoba(ref Osoba osobaToEdit)
 {
     osobaToEdit.Ime = this.Ime;
     osobaToEdit.Prezime = this.Prezime;
     osobaToEdit.DatumRodjenja = this.DatumRodjenja;
     osobaToEdit.NazivRokovnika = this.NazivRokovnika;
     osobaToEdit.OpisRokovnika = this.OpisRokovnika;
 }
示例#6
0
        public ActionResult Kreiranje(NoviKorisnikModel model)
        {
            if (ModelState.IsValid)
            {
                RokovnikUser newUser = new RokovnikUser
                {
                    UserName = model.Username,
                    OsobaId = -1
                };

                var result = UserManager.Create(newUser, model.Password);

                if (result.Succeeded)
                {
                    Osoba newOsoba = new Osoba
                    {
                        Ime = model.Ime,
                        Prezime = model.Prezime,
                        NazivRokovnika = "Novi rokovnik",
                        OpisRokovnika = "Prazni opis rokovnika",
                        DatumRodjenja = model.DatumRodjenja
                    };

                    newUser.OsobaId = Repository.AddOsoba(newOsoba);
                    UserManager.Update(newUser);

                    ClaimsIdentity identity = CreateIdentityWithClaims(newUser, newOsoba);
                    AuthenticationManager.SignIn(new AuthenticationProperties(), identity);

                    return RedirectToAction("Index", "Rokovnik");
                }
                else
                {
                    ModelState.AddModelError("type", "danger");
                    ModelState.AddModelError("", "Korisničko ime je zauzeto! Pokušaj s drugim imenom.");
                    return View(model);
                }
            }
            else
            {
                return View(model);
            }
        }
示例#7
0
        private ClaimsIdentity CreateIdentityWithClaims(RokovnikUser user, Osoba osoba)
        {
            ClaimsIdentity identity = UserManager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);
            identity.AddClaim(new Claim("OsobaId", user.OsobaId.ToString("D")));
            identity.AddClaim(new Claim("OsobaIme", osoba.Ime));
            identity.AddClaim(new Claim("OsobaPrezime", osoba.Prezime));
            identity.AddClaim(new Claim("OsobaNazivRokovnika", osoba.NazivRokovnika));
            identity.AddClaim(new Claim("OsobaOpisRokovnika", osoba.OpisRokovnika));

            return identity;
        }
        public bool UpdateOsoba(Osoba osoba)
        {
            var entity = _context.Osobe.Find(osoba.OsobaId);
            if (entity == null)
                return false;

            entity.Ime = osoba.Ime;
            entity.Prezime = osoba.Prezime;
            entity.DatumRodjenja = osoba.DatumRodjenja;
            entity.NazivRokovnika = osoba.NazivRokovnika;
            entity.OpisRokovnika = osoba.OpisRokovnika;

            var oldObveze = entity.Obveze.ToList();
            var newObveze = osoba.Obveze;
            foreach (var obvezaEntity in oldObveze)
            {
                if (newObveze.Any(p => p.ObvezaId == obvezaEntity.ObvezaId))
                {
                    var newObveza = newObveze.Single(p => p.ObvezaId == obvezaEntity.ObvezaId);
                    UpdateObveza(newObveza);
                    newObveze.Remove(newObveza);
                }
                else
                {
                    DeleteObveza(obvezaEntity.ObvezaId);
                }
            }

            foreach (var obvezaModel in newObveze)
            {
                AddObvezaFor(entity.OsobaId, obvezaModel);
            }

            return true;
        }