public ActionResult Create(ApartamentyEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                Apartamenty ap = model.Apartament;

                ap.IdWlasciciel = User.Identity.GetUserId();
                db.Apartamenty.Add(ap);
                db.SaveChanges();

                if (model.WybraneUdogodeniniaIds != null)
                {
                    foreach (var u in model.WybraneUdogodeniniaIds)
                    {
                        db.UdogodnieniaApartamenty.Add(new UdogodnieniaApartamenty()
                        {
                            IdApartamentu  = ap.IdApartamentu,
                            IdUdogodnienia = u
                        });
                    }
                }

                db.SaveChanges();
                return(RedirectToAction("MojeApartamenty"));
            }

            model.WszystkieUdogodnienia = db.Udogodnienia.ToList();
            model.WybraneUdogodnienia   = db.Udogodnienia.ToList().Where(x => model.WybraneUdogodeniniaIds.Contains(x.IdUdogodnienia)).ToList();
            return(View(model));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Apartamenty apartamenty = db.Apartamenty.Find(id);

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

            if (apartamenty.IdWlasciciel != User.Identity.GetUserId())
            {
                return(new HttpStatusCodeResult(HttpStatusCode.Unauthorized));
            }

            ApartamentyEditViewModel model = new ApartamentyEditViewModel()
            {
                Apartament            = apartamenty,
                WszystkieUdogodnienia = db.Udogodnienia.ToList(),
                WybraneUdogodnienia   = db.UdogodnieniaApartamenty.Where(x => x.IdApartamentu == id).Select(u => u.Udogodnienie).ToList(),
            };

            model.WybraneUdogodeniniaIds = model.WybraneUdogodnienia.Select(x => x.IdUdogodnienia).ToArray();

            return(View(model));
        }
        public ActionResult Edit(ApartamentyEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                Apartamenty ap_new = model.Apartament;

                Apartamenty ap_old = db.Apartamenty.Find(ap_new.IdApartamentu);

                if (ap_old.IdWlasciciel != User.Identity.GetUserId())
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.Unauthorized));
                }

                ap_old.Cena         = ap_new.Cena;
                ap_old.IloscOsob    = ap_new.IloscOsob;
                ap_old.KodPocztowy  = ap_new.KodPocztowy;
                ap_old.Miasto       = ap_new.Miasto;
                ap_old.Nazwa        = ap_new.Nazwa;
                ap_old.Opis         = ap_new.Opis;
                ap_old.Ulica        = ap_new.Ulica;
                ap_old.IdWlasciciel = User.Identity.GetUserId();
                db.SaveChanges();

                List <UdogodnieniaApartamenty> udogodnieniaApartamentyOld = db.UdogodnieniaApartamenty
                                                                            .Where(x => x.IdApartamentu == ap_new.IdApartamentu).ToList();
                db.UdogodnieniaApartamenty.RemoveRange(udogodnieniaApartamentyOld);

                if (model.WybraneUdogodeniniaIds != null)
                {
                    foreach (var u in model.WybraneUdogodeniniaIds)
                    {
                        db.UdogodnieniaApartamenty.Add(new UdogodnieniaApartamenty()
                        {
                            IdApartamentu  = ap_new.IdApartamentu,
                            IdUdogodnienia = u
                        });
                    }
                }

                db.SaveChanges();
                return(RedirectToAction("MojeApartamenty"));
            }

            model.WszystkieUdogodnienia = db.Udogodnienia.ToList();

            if (model.WybraneUdogodeniniaIds == null)
            {
                model.WybraneUdogodeniniaIds = new int[] { }
            }
            ;
            else
            {
                model.WybraneUdogodnienia = db.Udogodnienia.ToList()
                                            .Where(x => model.WybraneUdogodeniniaIds.Contains(x.IdUdogodnienia)).ToList();
            }

            return(View(model));
        }
        // GET: Apartamenty/Create
        public ActionResult Create()
        {
            ApartamentyEditViewModel model = new ApartamentyEditViewModel()
            {
                Apartament             = new Apartamenty(),
                WszystkieUdogodnienia  = db.Udogodnienia.ToList(),
                WybraneUdogodeniniaIds = new int[] { },
                WybraneUdogodnienia    = new List <Udogodnienia>()
            };

            return(View(model));
        }