public ActionResult Index(string key) { var viewModel = new EnterpriseViewModel(); if (!string.IsNullOrEmpty(key)) { var enterprise = Db.Enterprises.GetCompleteEnterprise(EnterpriseHelper.GetId(key)).Enterprise; if ((enterprise.IsNew && !enterprise.LockedFromEdit) || (HttpContext.User.Identity.IsAuthenticated && CurrentAccount.IsAdmin)) { viewModel = enterprise; viewModel.ShowForm = true; } } return View(viewModel); }
public ActionResult CreateTempEnterprise(EnterpriseViewModel viewModel) { if (!string.IsNullOrEmpty(viewModel.Nope)) return RedirectToAction("Index", "Home"); if (string.IsNullOrEmpty(viewModel.Name)) ModelState.AddModelError("Name", "Ange restaurangens namn"); if (viewModel.DisplayCategories == null || viewModel.DisplayCategories.Count < 1) ModelState.AddModelError("DisplayCategories", "Välj minst en kategori"); else { viewModel.DisplayCategories = EnterpriseHelper.GetDisplayCategories(viewModel.DisplayCategories); } if (viewModel.Coordinates.Lat < 1 || viewModel.Coordinates.Lng < 1) ModelState.AddModelError("Coordinates", "Du måste ange någon platsinfo"); if (ModelState.IsValid) { var categoryList = new List<string>(); categoryList.AddRange(viewModel.DisplayCategories.Take(6).Select(catgory => catgory.Value)); var enterprise = new Enterprise { Name = viewModel.Name, Phone = viewModel.Phone, StreetNumber = viewModel.StreetNumber, StreetRoute = viewModel.StreetRoute, PostalCode = viewModel.PostalCode, PostalTown = viewModel.PostalTown, Commune = viewModel.Commune, County = viewModel.County, SubLocality = viewModel.SubLocality, CountryCode = viewModel.CountryCode ?? "SE", SearchTags = EnterpriseHelper.GenerateSearchTags(viewModel.Name), Coordinates = new Coordinates { Lat = viewModel.Coordinates.Lat, Lng = viewModel.Coordinates.Lng }, Categories = categoryList, IsNew = true, OwnedByAccount = false, LockedFromEdit = false, LastUpdated = DateTime.Now, Menu = new Menu() }; if (string.IsNullOrEmpty(viewModel.Id)) { enterprise.Id = EnterpriseHelper.GetId(GeneralHelper.GetGuid()); Db.Enterprises.CreateEnterprise(enterprise); } else { var enterpriseInDb = Db.Enterprises.GetEnterpriseById(enterprise.Id); if (enterpriseInDb != null) { Db.Enterprises.UpdateEnterprise(enterprise); } } return Json(new { url = Url.Action("Edit", new { key = EnterpriseHelper.GetKey(enterprise.Id) }) }); } viewModel.ShowForm = true; return PartialView("~/Views/Manage/_AddEnterpriseForm.cshtml", viewModel); }