public async Task <ActionResult> Comment(POIViewModel model) { CheckForReadOnly(); var comment = model.NewComment; if (ModelState.IsValid) { try { using (var userManager = new UserManager()) { var user = userManager.GetUser((int)UserID); if (comment.Rating == 0) { comment.Rating = null; } if (await new SubmissionManager().PerformSubmission(comment, user) > 0) { if (comment.ChargePointID > 0) { return(RedirectToAction("Details", "POI", new { id = comment.ChargePointID })); } else { return(RedirectToAction("Index")); } } } } catch { //return View(poi); } } else { foreach (var modelState in ViewData.ModelState.Values) { foreach (var error in modelState.Errors) { System.Diagnostics.Debug.WriteLine(error.ToString()); } } return(View("AddComment", model)); } return(RedirectToAction("Index")); }
public void buildPOIViewModel(POIViewModel poiModel, POI pOI, List <POI> poiList) { poiModel.poi = pOI; ConnectedPOIViewModel poiSelectedModel = new ConnectedPOIViewModel(); IEnumerable <int> selectedItemsArray = pOI.ConnectedPOIs.Select(x => x.POIID).ToArray(); ViewBag.Selected = selectedItemsArray; poiSelectedModel.SelectedItemIds = selectedItemsArray; poiSelectedModel.Items = poiList; poiModel.connectedPoi = poiSelectedModel; }
public async Task <ActionResult> Edit(int id, [Bind(Include = "POIID,Name,Description,OpenHour,CloseHour,VisitDuration,GPS_Lat,GPS_Long,Altitude,Creator,Approved,ConnectedPOIs,Hashtags")] POI pOI) { POIViewModel poiModel = new POIViewModel(); List <POI> poiList = await getPOIList(null); POI poiAux = new POI(); foreach (POI p in poiList) { if (p.POIID == pOI.POIID) { poiAux = p; } } poiList.Remove(poiAux); var connectedForm = Request.Form["connectedPoi.SelectedItemIds"]; parseConnectedPOIs(pOI, connectedForm); string openHour = Request.Form["poi.OpenHour"]; pOI.OpenHour = Convert.ToDateTime(openHour); string closeHour = Request.Form["poi.CloseHour"]; pOI.CloseHour = Convert.ToDateTime(closeHour); buildPOIViewModel(poiModel, pOI, poiList); pOI.Hashtags = poiAux.Hashtags; var responseHttp = await client.PutAsJsonAsync("api/POI/" + id, pOI); if (responseHttp.IsSuccessStatusCode) { return(RedirectToAction("Index")); } return(View(poiModel)); }
public async Task <IActionResult> Add(POIViewModel poiVM) { try { var poi = POI.GetPOI(poiVM); poi.Activated = false; poi.CreationDate = DateTime.Now; AddDefinedTag(poiVM.Segments, poi); AddDefinedTag(poiVM.Tecnologies, poi); await CreateImageAsync(poi); _context.POIs.Add(poi); await _context.SaveChangesAsync(); return(Json(new { status = "OK" })); } catch (Exception e) { return(Json(new { status = "BAD", message = e.Message })); } }
public ActionResult AddComment(int id) { var cpManager = new API.Common.POIManager(); var poi = cpManager.Get(id, true); POIViewModel viewModel = new POIViewModel(); viewModel.NewComment = new UserComment() { ChargePointID = poi.ID, CommentType = new UserCommentType { ID = 10 }, CheckinStatusType = new CheckinStatusType { ID = 0 } }; viewModel.POI = poi; ViewBag.ReferenceData = new POIBrowseModel(); return(View(viewModel)); }
// GET: POI/Edit/5 public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } POI pOI = await getPOIByID(id); if (pOI == null) { return(HttpNotFound()); } POIViewModel poiModel = new POIViewModel(); List <POI> poiList = await getPOIList(pOI.POIID); buildPOIViewModel(poiModel, pOI, poiList); return(View(poiModel)); }
public async Task <ActionResult> AddComment(int id) { ViewBag.IsReadOnlyMode = this.IsReadOnlyMode; var cpManager = new API.Common.POIManager(); var poi = await cpManager.Get(id, true); POIViewModel viewModel = new POIViewModel(); viewModel.NewComment = new UserComment() { ChargePointID = poi.ID, CommentType = new UserCommentType { ID = 10 }, CheckinStatusType = new CheckinStatusType { ID = 0 } }; viewModel.POI = poi; ViewBag.ReferenceData = new POIBrowseModel(GetCoreReferenceData()); return(View(viewModel)); }
// GET: /POI/Details/5 //[OutputCache(Duration=240, VaryByParam="id")] public async Task <ActionResult> Details(int id = 0, string layout = null, string status = null) { if (id <= 0) { return(RedirectToAction("Index")); } if (status != null) { ViewBag.Status = status; } OCM.API.Common.POIManager cpManager = new API.Common.POIManager(); POIViewModel viewModel = new POIViewModel(); var poi = await cpManager.Get(id, true, allowDiskCache : false, allowMirrorDB : true); if (poi != null) { ViewBag.FullTitle = "Location Details: OCM-" + poi.ID + " " + poi.AddressInfo.Title; List <LocationImage> imageList = null; // new OCM.MVC.App_Code.GeocodingHelper().GetGeneralLocationImages((double)poi.AddressInfo.Latitude, (double)poi.AddressInfo.Longitude); if (imageList != null) { imageList = imageList.Where(i => i.Width >= 500).ToList(); ViewBag.ImageList = imageList.ToList(); } viewModel.POI = poi; if (!IsRequestByRobot) { viewModel.NewComment = new UserComment() { ChargePointID = poi.ID, CommentType = new UserCommentType { ID = 10 }, CheckinStatusType = new CheckinStatusType { ID = 0 } }; System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); sw.Start(); viewModel.POIListNearby = (await cpManager.GetPOIListAsync(new APIRequestParams { MaxResults = 10, Latitude = poi.AddressInfo.Latitude, Longitude = poi.AddressInfo.Longitude, Distance = 15, DistanceUnit = DistanceUnit.Miles, AllowMirrorDB = true })).ToList(); viewModel.POIListNearby.RemoveAll(p => p.ID == poi.ID); //don't include the current item in nearby POI list sw.Stop(); System.Diagnostics.Debug.WriteLine(sw.ElapsedMilliseconds); ViewBag.ReferenceData = new POIBrowseModel(await GetCoreReferenceDataAsync()); //get data quality report //if (IsUserAdmin) //{ viewModel.DataQualityReport = new DataAnalysisManager().GetDataQualityReport(poi); //} ViewBag.UserCanEditPOI = false; if (IsUserSignedIn) { var user = new UserManager().GetUser((int)UserID); if (POIManager.CanUserEditPOI(poi, user)) { ViewBag.UserCanEditPOI = true; } } } else { viewModel.POIListNearby = new List <ChargePoint>(); } } return(View(viewModel)); }
// // GET: /POI/Details/5 //[OutputCache(Duration=240, VaryByParam="id")] public ActionResult Details(int id = 0, string layout = null, string status = null) { if (id <= 0) { return(RedirectToAction("Index")); } if (status != null) { ViewBag.Status = status; } OCM.API.Common.POIManager cpManager = new API.Common.POIManager(); var poi = cpManager.Get(id, true, allowDiskCache: false, allowMirrorDB: true); ViewBag.FullTitle = "Location Details: OCM-" + poi.ID + " " + poi.AddressInfo.Title; List <LocationImage> imageList = null; // new OCM.MVC.App_Code.GeocodingHelper().GetGeneralLocationImages((double)poi.AddressInfo.Latitude, (double)poi.AddressInfo.Longitude); if (imageList != null) { imageList = imageList.Where(i => i.Width >= 500).ToList(); ViewBag.ImageList = imageList.ToList(); } POIViewModel viewModel = new POIViewModel(); viewModel.POI = poi; if (!IsRequestByRobot) { viewModel.NewComment = new UserComment() { ChargePointID = poi.ID, CommentType = new UserCommentType { ID = 10 }, CheckinStatusType = new CheckinStatusType { ID = 0 } }; System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); sw.Start(); viewModel.POIListNearby = cpManager.GetChargePoints(new APIRequestSettings { MaxResults = 10, Latitude = poi.AddressInfo.Latitude, Longitude = poi.AddressInfo.Longitude, Distance = 15, DistanceUnit = DistanceUnit.Miles, AllowMirrorDB = true }); viewModel.POIListNearby.RemoveAll(p => p.ID == poi.ID); //don't include the current item in nearby POI list sw.Stop(); System.Diagnostics.Debug.WriteLine(sw.ElapsedMilliseconds); ViewBag.ReferenceData = new POIBrowseModel(); } else { viewModel.POIListNearby = new List <ChargePoint>(); } if (layout == "simple") { ViewBag.EnableSimpleView = true; return(View("Details", "_SimpleLayout", viewModel)); } else { return(View(viewModel)); } }