예제 #1
0
        public ActionResult DodajLokal(EditLokalViewModel model, HttpPostedFileBase file)
        {
            if (model.Lokal.LokalId > 0)
            {
                // modyfikacja produktu
                db.Entry(model.Lokal).State = EntityState.Modified;

                var CheckedKategorie = model.Kategorie1;
                CheckedKategorie.AddRange(model.Kategorie2);
                CheckedKategorie.AddRange(model.Kategorie3);
                CheckedKategorie.AddRange(model.Kategorie4);

                var lokalekategorie = db.LokaleKategorie.ToList();

                foreach (var lk in lokalekategorie)
                {
                    foreach (var item in CheckedKategorie.Where(x => (x.Checked == false)))
                    {
                        if (lk.LokalId == model.Lokal.LokalId && item.Id == lk.KategoriaId)
                        {
                            LokalKategoria lokalUsun = db.LokaleKategorie.Find(lk.LokalKategoriaId);
                            db.LokaleKategorie.Remove(lokalUsun);
                            db.SaveChanges();
                        }
                    }
                }

                foreach (var item in CheckedKategorie.Where(x => x.Checked))
                {
                    foreach (var lk in lokalekategorie)
                    {
                        if (item.Id == lk.KategoriaId && model.Lokal.LokalId == lk.LokalId)
                        {
                            item.Checked = false;
                        }
                    }
                }

                foreach (var item in CheckedKategorie.Where(x => x.Checked))
                {
                    var lokalKategoria = new LokalKategoria();
                    lokalKategoria.KategoriaId = item.Id;
                    lokalKategoria.LokalId     = model.Lokal.LokalId;
                    db.LokaleKategorie.Add(lokalKategoria);
                }
                db.SaveChanges();
                return(RedirectToAction("DodajLokal", new { lokalId = model.Lokal.LokalId, potwierdzenie = true }));
            }
            else
            {
                // Sprawdzenie, czy użytkownik wybrał plik
                if (file != null && file.ContentLength > 0)
                {
                    if (ModelState.IsValid)
                    {
                        // Generowanie pliku
                        var fileExt  = Path.GetExtension(file.FileName);
                        var filename = Guid.NewGuid() + fileExt;

                        var path = Path.Combine(Server.MapPath(AppConfig.ObrazkiLokaliFolderWzgledny), filename);
                        file.SaveAs(path);

                        model.Lokal.NazwaPlikuObrazka = filename;
                        model.Lokal.DataDodania       = DateTime.Now;

                        model.Lokal.UserId = User.Identity.GetUserId();

                        model.Lokal.Ukryty       = true;
                        model.Lokal.StatusLokalu = StatusLokalu.Nowy;
                        model.Lokal.Wyswietlenia = 0;

                        db.Lokale.Add(model.Lokal);

                        var CheckedKategorie = model.Kategorie1;
                        CheckedKategorie.AddRange(model.Kategorie2);
                        CheckedKategorie.AddRange(model.Kategorie3);
                        CheckedKategorie.AddRange(model.Kategorie4);

                        foreach (var item in CheckedKategorie.Where(x => x.Checked))
                        {
                            var lokalKategoria = new LokalKategoria();
                            lokalKategoria.KategoriaId = item.Id;
                            lokalKategoria.LokalId     = model.Lokal.LokalId;
                            db.LokaleKategorie.Add(lokalKategoria);
                        }


                        db.SaveChanges();

                        return(RedirectToAction("DodajLokal", new { potwierdzenie = true }));
                    }
                    else
                    {
                        //var kategorie = db.Kategorie.ToList();
                        model.Kategorie1 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Rodzaj).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                        model.Kategorie2 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Kuchnia).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                        model.Kategorie3 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Danie).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                        model.Kategorie4 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Inne).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                        //var miejscowosci = db.Miejscowosci.ToList();
                        //model.Miejscowosci = miejscowosci;

                        return(View(model));
                    }
                }
                else
                {
                    ModelState.AddModelError("", "Nie wskazano pliku");

                    //var kategorie = db.Kategorie.ToList();
                    model.Kategorie1 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Rodzaj).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                    model.Kategorie2 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Kuchnia).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                    model.Kategorie3 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Danie).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                    model.Kategorie4 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Inne).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                    //var miejscowosci = db.Miejscowosci.ToList();
                    //model.Miejscowosci = miejscowosci;
                    return(View(model));
                }
            }
        }
예제 #2
0
        public ActionResult DodajLokal(int?lokalId, bool?potwierdzenie)
        {
            Lokal lokal;
            var   result = new EditLokalViewModel();

            if (lokalId.HasValue)
            {
                ViewBag.EditMode = true;
                lokal            = db.Lokale.Find(lokalId);
                var kategorie = db.Kategorie.Where(x => x.LokalKategoria.Any(b => (lokalId == b.LokalId))).ToList();

                result.Kategorie1 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Rodzaj).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                foreach (var k1 in result.Kategorie1)
                {
                    foreach (var k2 in kategorie)
                    {
                        if (k1.Id == k2.KategoriaId)
                        {
                            k1.Checked = true;
                        }
                    }
                }
                result.Kategorie2 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Kuchnia).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                foreach (var k1 in result.Kategorie2)
                {
                    foreach (var k2 in kategorie)
                    {
                        if (k1.Id == k2.KategoriaId)
                        {
                            k1.Checked = true;
                        }
                    }
                }
                result.Kategorie3 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Danie).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                foreach (var k1 in result.Kategorie3)
                {
                    foreach (var k2 in kategorie)
                    {
                        if (k1.Id == k2.KategoriaId)
                        {
                            k1.Checked = true;
                        }
                    }
                }
                result.Kategorie4 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Inne).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                foreach (var k1 in result.Kategorie4)
                {
                    foreach (var k2 in kategorie)
                    {
                        if (k1.Id == k2.KategoriaId)
                        {
                            k1.Checked = true;
                        }
                    }
                }
            }
            else
            {
                ViewBag.EditMode = false;
                lokal            = new Lokal();

                result.Kategorie1 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Rodzaj).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                result.Kategorie2 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Kuchnia).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                result.Kategorie3 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Danie).ToList().Select(x => new KategoriaViewModel(x)).ToList();
                result.Kategorie4 = db.Kategorie.Where(a => !a.Ukryty && a.Typ == Typ.Inne).ToList().Select(x => new KategoriaViewModel(x)).ToList();
            }
            //result.Miejscowosci = db.Miejscowosci.ToList();
            result.Lokal         = lokal;
            result.Potwierdzenie = potwierdzenie;

            return(View(result));
        }