public ActionResult Create(PlanetViewModel planet) { try { if (ModelState.IsValid) { int retId = 0; planet.Uploader = User.Identity.Name; IPlanetRepo pr = new PlanetRepo(); retId = pr.Create(planet); if (retId > 0) { return RedirectToAction("Details", "Planet", new { id = retId }); } return Redirect("/Planet/Create"); } ModelState.AddModelError("invalidmodel", "Invalid parameters for creating a Planet."); return Redirect("/Planet/Create"); } catch(Exception e) { var message = e.Message; ModelState.AddModelError("unknownerror", message); return Redirect("/Planet/Create"); } }
// GET: StarSystem/Details/5 public ActionResult Details(int id) { IStarSystemRepo ssr = new StarSystemRepo(); IPlanetRepo pr = new PlanetRepo(); DetailsViewModel dvm = new DetailsViewModel(); var planets = pr.GetByStarSystemId(id).ToList(); var starSystem = ssr.GetById(id); dvm.StarSystem = starSystem; dvm.Planets = planets; return View(dvm); }
// GET: Planet/Details/5 public ActionResult Details(int id) { IPlanetRepo pr = new PlanetRepo(); IStarSystemRepo ssr = new StarSystemRepo(); IFileSystemRepo fsr = new FileSystemRepo(); var planet = pr.GetById(id); planet.StarSystem = ssr.GetById(planet.StarSystem.Id); planet.PlanetImagePaths = new Dictionary<string, string>(); foreach (var item in fsr.GetFileDataByPlanetId(id)) { planet.PlanetImagePaths.Add(item.Path.Replace("\\", "/"), item.Name); } return View(planet); }
public ActionResult UploadFilesByPlanetId(int planetId) { IPlanetRepo pr = new PlanetRepo(); var files = Request.Files.AllKeys.Select(fileName => Request.Files[fileName]).Where(file => file.ContentLength > 0).ToList(); PlanetViewModel pvm = pr.GetById(planetId); if (User.Identity.Name != pvm.Uploader) return Json(new {Message = "You are not the original uploader of this Planet."}); foreach (var file in files) { var fileName = Guid.NewGuid() + Path.GetExtension(file.FileName); var virtualPath = "~/Content/img/" + DateTime.Today.ToString("MMddyyyy"); var subPath = Server.MapPath(virtualPath); if (!Directory.Exists(subPath)) { Directory.CreateDirectory(subPath); } var path = Path.Combine(subPath, fileName); try { file.SaveAs(path); } catch (Exception e) { continue; } IFileSystemRepo fsr = new FileSystemRepo(); fsr.SaveFileDataByPlanetId( Path.Combine(virtualPath.Replace("~/", "/").Replace("\\\\", "/"), fileName), fileName, planetId); } return Json(new { Message = string.Empty }); }
// GET: Planet public ActionResult Index() { IPlanetRepo pr = new PlanetRepo(); IStarSystemRepo ssr = new StarSystemRepo(); var planets = pr.GetAll().ToList(); var starSystems = ssr.GetAll().ToList(); foreach (var planet in planets) { planet.StarSystem = starSystems.Single(ss => ss.Id == planet.StarSystem.Id); } return View(planets); }
public ActionResult Edit(PlanetViewModel pvm) { try { IPlanetRepo pr = new PlanetRepo(); pr.Update(pvm); return RedirectToAction("Index"); } catch { return View(); } }
public ActionResult Edit(int id) { IPlanetRepo pr = new PlanetRepo(); var pvm = pr.GetById(id); ViewBag.SystemSelect = SystemSelect(); ViewBag.ClassSelect = ClassSelect(); ViewBag.CategorySelect = CategorySelect(); return View(pvm); }
public ActionResult Edit(int id) { IStarSystemRepo ssr = new StarSystemRepo(); IPlanetRepo pr = new PlanetRepo(); DetailsViewModel dvm = new DetailsViewModel(); var planets = pr.GetByStarSystemId(id).ToList(); var starSystem = ssr.GetById(id); dvm.StarSystem = starSystem; dvm.Planets = planets; var user = User.Identity; if (starSystem.Uploader == user.Name) { return View("Edit", starSystem); } return View("Details", dvm); }