public ActionResult Create(NedeljniPlanoviViewModel nedeljniPlanViewModel)
        {
            var radnici      = db.Workers.Where(rad => rad.MarketId == nedeljniPlanViewModel.MarketId).ToList();
            var nedeljniPlan = new NedeljniPlan();

            nedeljniPlan.MarketId      = nedeljniPlanViewModel.MarketId;
            nedeljniPlan.Market        = db.Markets.Single(mar => mar.MarketId == nedeljniPlan.MarketId);
            nedeljniPlan.DatumOd       = GetPrviDanUNedelji(nedeljniPlanViewModel.Nedelja);
            nedeljniPlan.DatumDo       = nedeljniPlan.DatumOd.AddDays(6);
            nedeljniPlan.DnevniPlanovi = new List <DnevniPlan>();
            for (DateTime datum = nedeljniPlan.DatumOd; datum < nedeljniPlan.DatumDo; datum = datum.AddDays(1))
            {
                foreach (var radnik in nedeljniPlan.Market.Radnici)
                {
                    nedeljniPlan.DnevniPlanovi.Add(new DnevniPlan()
                    {
                        RadnikId         = radnik.RadnikId, Datum = datum, NedeljniPlan = nedeljniPlan, PlaniranPocetakRada = DateTime.Now,
                        PlaniranKrajRada = DateTime.Now, PlaniranPocetakPauze = DateTime.Now, PlaniranKrajPauze = DateTime.Now
                    });
                }
            }
            nedeljniPlan.DnevniPlanovi.OrderBy(dp => dp.Datum).ThenBy(dp => dp.NedeljniPlan.MarketId).ThenBy(dp => dp.RadnikId);

            ViewBag.MarketId     = new SelectList(db.Markets, "MarketId", "SifraMarketa");
            ViewBag.ListaRadnika = new SelectList(db.Workers, "RadnikId", "SifraRadnika");
            return(View("NedeljniPlanForm", nedeljniPlan));
        }
        public ActionResult Save([Bind(Include = "NedeljniPlanId,DatumOd,DatumDo,MarketId,DnevniPlanovi")] NedeljniPlan nedeljniPlan)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.MarketId = new SelectList(db.Markets, "MarketId", "SifraMarketa", nedeljniPlan.MarketId);
                foreach (var prop in ModelState.Where(prop => prop.Value.Errors.Any()))
                {
                    Console.WriteLine(prop.Key, prop.Value.Errors);
                }
                return(View("NedeljniPlanForm", nedeljniPlan));
            }

            if (nedeljniPlan.NedeljniPlanId == 0) //Novi nedeljni plan
            {
                db.NedeljniPlans.Add(nedeljniPlan);
            }
            else // Ažuriranje
            {
                foreach (var dp in nedeljniPlan.DnevniPlanovi)
                {
                    db.Entry(dp).State = EntityState.Modified;
                }
                //if (!TryUpdateModel(dp))
                //{
                //}
                //db.Set<NedeljniPlan>().AddOrUpdate(nedeljniPlan);
            }

            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            NedeljniPlan nedeljniPlan = db.NedeljniPlans.Find(id);

            db.NedeljniPlans.Remove(nedeljniPlan);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "NedeljniPlanId,DatumOd,DatumDo,MarketId")] NedeljniPlan nedeljniPlan)
 {
     if (ModelState.IsValid)
     {
         db.Entry(nedeljniPlan).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(nedeljniPlan));
 }
 public ActionResult Edit([Bind(Include = "NedeljniPlanId,DatumOd,DatumDo,MarketId")] NedeljniPlan nedeljniPlan)
 {
     if (ModelState.IsValid)
     {
         db.Entry(nedeljniPlan).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.MarketId = new SelectList(db.Markets, "MarketId", "SifraMarketa");
     return(View("NedeljniPlanForm", nedeljniPlan));
 }
        public ActionResult Create([Bind(Include = "NedeljniPlanId,DatumOd,DatumDo,MarketId")] NedeljniPlan nedeljniPlan)
        {
            if (ModelState.IsValid)
            {
                db.NedeljniPlans.Add(nedeljniPlan);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(nedeljniPlan));
        }
        // GET: NedeljniPlans/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            NedeljniPlan nedeljniPlan = db.NedeljniPlans.Find(id);

            if (nedeljniPlan == null)
            {
                return(HttpNotFound());
            }
            return(View(nedeljniPlan));
        }
        //// POST: NedeljniPlans/Create
        //// To protect from overposting attacks, please enable the specific properties you want to bind to, for
        //// more details see https://go.microsoft.com/fwlink/?LinkId=317598.
        //[HttpPost]
        //[ValidateAntiForgeryToken]
        //public ActionResult Create([Bind(Include = "NedeljniPlanId,DatumOd,DatumDo,MarketId")] NedeljniPlan nedeljniPlan)
        //{
        //    if (ModelState.IsValid)
        //    {
        //        db.NedeljniPlans.Add(nedeljniPlan);
        //        db.SaveChanges();
        //        return RedirectToAction("Index");
        //    }
        //    ViewBag.MarketId = new SelectList(db.Markets, "MarketId", "SifraMarketa");
        //    return View(nedeljniPlan);
        //}

        // GET: NedeljniPlans/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            NedeljniPlan nedeljniPlan = db.NedeljniPlans.Include(np => np.DnevniPlanovi).Include(np => np.Market).Include(np => np.Market.Radnici).SingleOrDefault(x => x.NedeljniPlanId == id);

            if (nedeljniPlan == null)
            {
                return(HttpNotFound());
            }
            nedeljniPlan.DnevniPlanovi.OrderBy(dp => dp.Datum).ThenBy(dp => dp.NedeljniPlan.MarketId).ThenBy(dp => dp.RadnikId);

            ViewBag.MarketId = new SelectList(db.Markets, "MarketId", "SifraMarketa", nedeljniPlan.MarketId);
            return(View("NedeljniPlanForm", nedeljniPlan));
        }