// GET: KontaktOsoba/NovaKontaktOsoba
        public ActionResult NovaKontaktOsoba()
        {
            NovaOsobaViewModel podaci = new NovaOsobaViewModel();

            podaci.Preduzeca      = _context.Preduzeca.ToList();
            podaci.OznakeMaila    = _context.OznakaMailAdresa.ToList();
            podaci.OznakeTelefona = _context.OznakaTelefona.ToList();

            return(View("NovaKontaktOsoba", podaci));
        }
        public ActionResult Edit(int Id)
        {
            NovaOsobaViewModel podaci = new NovaOsobaViewModel();

            podaci.Preduzeca      = _context.Preduzeca.ToList();
            podaci.OznakeMaila    = _context.OznakaMailAdresa.ToList();
            podaci.OznakeTelefona = _context.OznakaTelefona.ToList();

            podaci.KontaktOsoba    = _context.KontaktOsobe.SingleOrDefault(o => o.Id == Id);
            podaci.ListaMailAdresa = _context.ListaMailAdresa.FirstOrDefault(o => o.KontaktOsobaId == podaci.KontaktOsoba.Id);
            podaci.ListaTelefona   = _context.ListaTelefona.FirstOrDefault(p => p.KontaktOsobaId == podaci.KontaktOsoba.Id);

            return(View("NovaKontaktOsoba", podaci));
        }
        public ActionResult KontaktOsobaCreate(NovaOsobaViewModel novaOsoba)
        {
            if (novaOsoba.KontaktOsoba.Id == 0)
            {
                ModelState.Remove("KontaktOsoba.Id");
                if (ModelState.IsValid)
                {
                    _context.KontaktOsobe.Add(novaOsoba.KontaktOsoba);
                    _context.ListaMailAdresa.Add(novaOsoba.ListaMailAdresa);
                    _context.ListaTelefona.Add(novaOsoba.ListaTelefona);
                }
                else
                {
                    NovaOsobaViewModel podaci = new NovaOsobaViewModel();

                    podaci.Preduzeca      = _context.Preduzeca.ToList();
                    podaci.OznakeMaila    = _context.OznakaMailAdresa.ToList();
                    podaci.OznakeTelefona = _context.OznakaTelefona.ToList();

                    return(View("NovaKontaktOsoba", podaci));
                }
            }
            else
            {
                if (ModelState.IsValid)
                {
                    var model = new ViewModels.NovaOsobaViewModel();

                    model.KontaktOsoba    = _context.KontaktOsobe.Single(o => o.Id == novaOsoba.KontaktOsoba.Id);
                    model.ListaMailAdresa = _context.ListaMailAdresa.FirstOrDefault(o => o.KontaktOsobaId == novaOsoba.KontaktOsoba.Id);
                    model.ListaTelefona   = _context.ListaTelefona.FirstOrDefault(p => p.KontaktOsobaId == novaOsoba.KontaktOsoba.Id);

                    TryUpdateModel(model);
                }
                else
                {
                    NovaOsobaViewModel podaci = new NovaOsobaViewModel();

                    podaci.Preduzeca      = _context.Preduzeca.ToList();
                    podaci.OznakeMaila    = _context.OznakaMailAdresa.ToList();
                    podaci.OznakeTelefona = _context.OznakaTelefona.ToList();

                    return(View("NovaKontaktOsoba", podaci));
                }
            }
            _context.SaveChanges();

            return(RedirectToAction("Index", "KontaktOsoba"));
        }