// GET: BaseLayers/Create public ActionResult ChangeAttach(long id) { var regionsRepository = new RegionsRepository(); var pagesRepository = new PagesRepository(); var region = regionsRepository.GetById(id); IDisposable context = null; ViewBag.ListOfPages = pagesRepository.GetAll(out context).ToList().Select(x => new SelectListItem() { Value = x.Id.ToString(), Text = x.Name, Selected = region != null && region.PageId == x.Id }); context?.Dispose(); var model = new ChangeAttachPageViewModel() { Id = id, OldPageId = region?.PageId }; return PartialView(model); }
public ActionResult ChangeAttach(ChangeAttachPageViewModel model) { var pageRepository = new PagesRepository(); var regionRepository = new RegionsRepository(); var region = regionRepository.GetById(model.Id); if (model.PageId.HasValue && model.PageId != region.PageId) { var page = pageRepository.GetById(model.PageId.Value); region.PageId = page.Id; region.Page = page; regionRepository.Update(region); } else { if (model.OldPageId.HasValue) { region.PageId = null; region.Page = null; regionRepository.Update(region); } } return RedirectToAction("Details", new { id = model.Id }); }
// GET: BaseLayers/Edit/5 public ActionResult Edit(long id) { var baseLayersRepository = new BaseLayersRepository(); IDisposable context; var baseLayers = baseLayersRepository.GetAll(out context).ToList(); ViewBag.ListOfBaseLayers = baseLayers.Select(x => new SelectListItem() { Value = x.Id.ToString(), Text = x.Name }); ViewBag.BaseLayerUrl = baseLayers.FirstOrDefault()?.Url; using (context) { var regionsRepository = new RegionsRepository(); var model = regionsRepository.GetById(id); if (model != null) return View(model); return HttpNotFound(); } }
// GET: BaseLayers/Details/5 public ActionResult Details(long id) { var regionsRepository = new RegionsRepository(); var model = regionsRepository.GetById(id); ViewBag.BaseLayerUrl = model.BaseLayer?.Url; if (model != null) return View(model); else return HttpNotFound(); }
// GET: BaseLayers/Delete/5 public ActionResult Delete(int id) { var regionsRepository = new RegionsRepository(); var model = regionsRepository.GetById(id); if (model != null) return View(model); return HttpNotFound(); }
public ActionResult Add(PageViewModel model) { try { var tagsRepository = new TagsRepository(); var pointsRepository = new PointsRepository(); var pagesRepository = new PagesRepository(); var page = new Page() { Name = model.Name, Description = model.Description, Content = model.Content, ExternalId = model.ExternalId }; if (model.SelectedTags != null) { var tags = tagsRepository.GetByStringIds(model.SelectedTags); page.Tags = new List<Tag>(tags); } else { page.Tags = null; } var pageId = pagesRepository.Add(page); if (!string.IsNullOrEmpty(model.Point?.Name)) { model.Point.PageId = pageId; pointsRepository.Add(model.Point); } if (model.RegionId != null) { var regionsRepository = new RegionsRepository(); var region = regionsRepository.GetById(model.RegionId.Value); region.Page = null; region.PageId = pageId; regionsRepository.Update(region); } return RedirectToAction("Index"); } catch (Exception ex) { return View(); } }