public IHttpActionResult AddHotSpot(HotspotModel hotspotModel) { var scence = _sceneService.GetPnoramaSceneById(hotspotModel.Scence_Id); var hotspot = new Hotspot(); hotspot = hotspotModel.ToEntity(); hotspot.PanoramaScene = scence; _hotspotService.InsertHotspot(hotspot); return(Ok()); }
public void CreateHotspot(ID hotspotImageId, HotspotModel hotspotModel, string databaseName) { Assert.ArgumentNotNull(hotspotImageId, nameof(hotspotImageId)); Assert.ArgumentNotNull(hotspotModel, nameof(hotspotModel)); Assert.ArgumentNotNull(databaseName, nameof(databaseName)); Database database = Sitecore.Data.Database.GetDatabase(databaseName); if (database == null) { throw new DatabaseNullException(); } Item hotspotImageItem = database.GetItem(hotspotImageId); if (hotspotImageItem == null) { throw new ItemNotFoundException(hotspotImageId.ToString()); } TemplateID templateId = new TemplateID(Templates.Hotspot.ID); using (new Sitecore.SecurityModel.SecurityDisabler()) { string itemName = ItemUtil.ProposeValidItemName(hotspotModel.Title); Item hotspotItem = hotspotImageItem.Add(itemName, templateId); try { hotspotItem.Editing.BeginEdit(); hotspotItem.Fields[Templates.Hotspot.Fields.Title].Value = hotspotModel.Title; hotspotItem.Fields[Templates.Hotspot.Fields.LocationX].Value = hotspotModel.LocationX.ToString(); hotspotItem.Fields[Templates.Hotspot.Fields.LocationY].Value = hotspotModel.LocationY.ToString(); hotspotItem.Editing.EndEdit(); } catch (Exception e) { hotspotItem.Editing.CancelEdit(); Log.Error(e.Message, e, this); throw; } } }
public static Hotspot ToEntity(this HotspotModel createmodel, Hotspot destination) { return(createmodel.MapTo(destination)); }
public static Hotspot ToEntity(this HotspotModel createmodel) { return(createmodel.MapTo <HotspotModel, Hotspot>()); }
public virtual JsonResult SaveHotspotCoordintes(HotspotCoordinateViewModel hotspotCoordinateViewModel) { if (hotspotCoordinateViewModel == null) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new ArgumentNullException(nameof(hotspotCoordinateViewModel)))); } if (string.IsNullOrEmpty(hotspotCoordinateViewModel.HotspotImageId)) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new ArgumentNullException(nameof(hotspotCoordinateViewModel.HotspotImageId)))); } if (string.IsNullOrEmpty(hotspotCoordinateViewModel.Title)) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new ArgumentNullException(nameof(hotspotCoordinateViewModel.Title)))); } if (string.IsNullOrEmpty(hotspotCoordinateViewModel.DatabaseName)) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new ArgumentNullException(nameof(hotspotCoordinateViewModel.DatabaseName)))); } ID hotspotImageId; if (!ID.TryParse(hotspotCoordinateViewModel.HotspotImageId, out hotspotImageId)) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new InvalidCastException($"{nameof(hotspotCoordinateViewModel.HotspotImageId)} should be a valid Sitecore ID"))); } var hotspotModel = new HotspotModel() { LocationX = hotspotCoordinateViewModel.XLocation, LocationY = hotspotCoordinateViewModel.YLocation, Title = hotspotCoordinateViewModel.Title }; try { HotspotImageRepository.CreateHotspot(hotspotImageId, hotspotModel, hotspotCoordinateViewModel.DatabaseName); Response.StatusCode = (int)HttpStatusCode.OK; return(Json("Hotspot created")); } catch (DatabaseNullException e) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(e)); } catch (ItemNotFoundException e) { Response.StatusCode = (int)HttpStatusCode.NotFound; return(Json(e)); } catch (Exception e) { Log.Error(e.Message, e, this); Response.StatusCode = (int)HttpStatusCode.InternalServerError; return(Json(e)); } }