public ActionResult ShowWidget( string widgetAlias ) { if ( !string.IsNullOrWhiteSpace( widgetAlias ) ) { var widget = WidgetServices.GetByAlias( widgetAlias ); //if not found, display message somewhere - console message? if ( widget == null || widget.Id == 0 ) { workIT.Models.Common.SiteMessage msg = new workIT.Models.Common.SiteMessage() { Title = "Invalid Widget Request", Message = "ERROR - the requested Widget record was not found ", MessageType = "error" }; Session[ "SystemMessage" ] = msg; return RedirectToAction( "Index", "Message" ); } else { string message = ""; //may already be in session, so remove and readd //don't want this any longer //if ( !WidgetServices.Activate( widget, message ) ) //{ // workIT.Models.Common.SiteMessage msg = new workIT.Models.Common.SiteMessage() { Title = "Invalid Widget Request", Message = message, MessageType = "error" }; // Session[ "SystemMessage" ] = msg; // return RedirectToAction( "Index", "Message" ); //} var vm = Newtonsoft.Json.JsonConvert.DeserializeObject<workIT.Models.Common.WidgetV2>( widget.CustomStyles ?? "{}" ); return View( "~/views/widget/searchwidget.cshtml", vm ); //return View( "~/Views/Search/SearchV2.cshtml" ); } } return RedirectToAction( "Index", "Home" ); }
// //Get all of the widgets for an organization public JsonResult GetWidgetsForOrganization(string organizationCTID) { //Get data var widgets = WidgetServices.GetWidgetsForOrganization(organizationCTID); //Extract var results = new List <WidgetV2>(); foreach (var widget in widgets) { var result = new WidgetV2(); try { //Extract the JSON data if it is V2 data result = JsonConvert.DeserializeObject <WidgetV2>(widget.CustomStyles, new JsonSerializerSettings() { Error = IgnoreDeserializationErrors }); if (result.Id == 0) { throw new Exception(); } } catch { //Try to convert old data to new format result = V1toV2(widget); } if (result.Id == 44) { } results.Add(result); } return(JsonResponse(results, true, "okay", null)); }
public ActionResult MyCourses(string trackingId) { if (MainLayoutViewModel == null) { MainLayoutViewModel = new BaseModelViewToken { WebStore = null , CategoriesList = new List <WidgetCategoryDTO>() , IsValid = true , CategoryName = Constants.USER_COURSES_CATEGORY_NAME , TrackingId = trackingId }; ViewData["MainLayoutViewModel"] = MainLayoutViewModel; TempData["MainLayoutViewModel"] = MainLayoutViewModel; } var pagesize = WidgetServices.NumItemsInPage(null, null); var model = WidgetServices.GetIndexModelView(_webStorePortalServices.GetStoreCurrencyByTrackingId(trackingId), trackingId, 1, string.Empty, pagesize, null, "mycourses", CurrentUserId, "site"); if (model.ItemsList.Count != 1) { return(View("Index", model)); } var item = model.ItemsList[0]; // var url = Url.ActionString("Index", "Item", new RouteValueDictionary { { "area", "Widget" }, { "type", item.ItemType }, { "author", item.AuthorName.OptimizedUrl() }, { "itemName", item.ItemName.OptimizedUrl() }, { "trackingId", trackingId } }); // return new RedirectResult(url,true); return(RedirectToAction("Index", "Item", new { area = "Widget", type = item.ItemType, author = item.AuthorName.OptimizedUrl(), itemName = item.ItemName.OptimizedUrl(), trackingId })); }
public BaseController() { WidgetServices = DependencyResolver.Current.GetService <IWidgetServices>(); WidgetUserServices = DependencyResolver.Current.GetService <IWidgetUserServices>(); if (String.IsNullOrEmpty(HttpContext.Request.RequestContext.RouteData.Values["trackingID"] as string) && TempData["MainLayoutViewModel"] != null) { MainLayoutViewModel = TempData["MainLayoutViewModel"] as BaseModelViewToken; return; } var trackingID = (HttpContext.Request.RequestContext.RouteData.Values["trackingID"] as string) ?? HttpContext.Request.QueryString["trackingId"]; var categoryUrlName = HttpContext.Request.RequestContext.RouteData.Values["categoryName"] as string ?? HttpContext.Request.QueryString["categoryName"]; //get iframe size int?width = null; int?height = null; if (!string.IsNullOrEmpty(HttpContext.Request.QueryString["width"])) { var widthStr = HttpContext.Request.QueryString["width"]; if (widthStr.Contains(",")) { widthStr = widthStr.Substring(0, widthStr.IndexOf(",", StringComparison.Ordinal)); } //width = Convert.ToInt32(widthStr); int w; if (Int32.TryParse(widthStr, out w)) { width = w; } } if (!string.IsNullOrEmpty(HttpContext.Request.QueryString["height"])) { //height = Convert.ToInt32(HttpContext.Request.QueryString["height"]); int h; if (Int32.TryParse(HttpContext.Request.QueryString["height"], out h)) { height = h; } } var viewMode = "site"; if (!string.IsNullOrEmpty(HttpContext.Request.QueryString["viewmode"])) { viewMode = HttpContext.Request.QueryString["viewmode"]; } MainLayoutViewModel = WidgetServices.GetBaseModelToken(trackingID, categoryUrlName, viewMode, width, height); ViewData["MainLayoutViewModel"] = MainLayoutViewModel; TempData["MainLayoutViewModel"] = MainLayoutViewModel; }
public ActionResult GetCourseReviewsPartial(int id, int rait) { var list = WidgetServices.GetItemReviews(id); return(PartialView("Item/Course/_CourseReviews", new ItemReviewsPageToken { itemId = id, raiting = rait, reviews = list })); }
public ActionResult GetCourseContentsPartial(int id, string trackingId) { var infoToken = WidgetServices.GetItemInfoToken(id, BillingEnums.ePurchaseItemTypes.COURSE); return(PartialView("Item/Course/_CourseContent", !infoToken.IsValid ? new ItemProductPageToken { IsValid = false, Message = infoToken.Message } : WidgetServices.ItemInfoToken2ItemProductPageToken(infoToken, new ItemAccessStateToken(), trackingId))); }
public JsonResult GetOrganizationWidgets(string orgId) { var widgets = WidgetServices.GetWidgetsForOrganization(orgId); List <string> messages = new List <string>(); if (widgets == null || widgets.Count == 0) { messages.Add("Widgets not found"); return(JsonResponse(null, false, "", messages)); } return(JsonResponse(widgets, true, "success", null)); }
//Used for testing the new widgetized search page public ActionResult SearchWidget(int widgetID = 0) { var widget = WidgetServices.Get(widgetID) ?? new Widget(); var vm = JsonConvert.DeserializeObject <WidgetV2>(widget.CustomStyles ?? "{}", new JsonSerializerSettings() { Error = IgnoreDeserializationErrors }); //vm.Created = widget.Created; //vm.LastUpdated = widget.LastUpdated; return(View("~/views/widget/searchwidget.cshtml", vm)); }
public ActionResult DeleteWidget(int id) { WidgetServices widgetService = new WidgetServices(); List <string> messages = new List <string>(); string message = string.Empty; if (!widgetService.Delete(id, ref message)) { messages.Add(message); return(JsonResponse(new object(), false, "", messages)); } return(JsonResponse(new object(), true, "success", null)); }
public ActionResult _AuthorCatalog(int?id) { MainLayoutViewModel = WidgetServices.GetStoreBaseModelToken(Constants.LFE_MAIN_STORE_TRACKING_ID); ViewData["MainLayoutViewModel"] = MainLayoutViewModel; TempData["MainLayoutViewModel"] = MainLayoutViewModel; var model = id != null?_widgetServices.GetAuthorIndexModelViewToken(Constants.DEFAULT_CURRENCY_ID, Constants.LFE_MAIN_STORE_TRACKING_ID, (int)id) : new IndexModelViewToken { ItemsList = new List <WidgetItemListDTO>() }; return(PartialView("Item/_Catalog", model)); }
public ActionResult SingleCourse(string instance, string tabName, int?width, int?height) { ItemProductPageToken token; if (MainLayoutViewModel.NumCourses > 0 && MainLayoutViewModel.CategoriesList != null && MainLayoutViewModel.CategoriesList.Any()) { ViewBag.TabName = tabName; token = WidgetServices.GetWixDefaultItem(MainLayoutViewModel.CategoriesList.Select(x => x.WebStoreCategoryID).ToList(), CurrentUserId); } else { token = WidgetServices.GetPlaceHolderItemInfoToken(); } return(View("~/Areas/Widget/Views/Wix/PlaceHolder.cshtml", token)); }
// public JsonResult SaveWidgetV2() { //Manually bind large JSON document var model = Helpers.BindJsonModel <WidgetV2>(Request.InputStream, "data"); //Convert var toSave = V2toV1(model); //Save the data var result = new WidgetV2(); var messages = new List <string>(); if (!string.IsNullOrWhiteSpace(toSave.WidgetAlias)) { var widgetExisting = WidgetServices.GetByAlias(toSave.WidgetAlias); if (widgetExisting != null && widgetExisting.Id > 0 && widgetExisting.Id != toSave.Id) { messages.Add("Widget Alias already exist"); return(JsonResponse(null, false, "error", messages)); } } if (!new WidgetServices().Save(toSave, ref messages)) { LoggingHelper.DoTrace(5, "WidgetController.SaveWidgetV2. Errors on save: " + string.Join("\n\r>", messages)); return(JsonResponse(null, false, "error", messages)); } //Copy key properties from newly-saved widget (such as ID) to the V2 widget var saved = WidgetServices.Get(toSave.Id); result = JsonConvert.DeserializeObject <WidgetV2>(saved.CustomStyles); result.Created = saved.Created; result.LastUpdated = saved.LastUpdated; result.RowId = saved.RowId; result.Id = saved.Id; result.CreatedById = saved.CreatedById; result.LastUpdatedById = saved.LastUpdatedById; //SimpleUpdate( saved, result ); //result.UrlName = saved.WidgetAlias; //Save again to ensure the V2 data has the correct key properties saved.CustomStyles = JsonConvert.SerializeObject(result); new WidgetServices().Save(saved, ref messages); return(JsonResponse(result, true, "okay", null)); }
public JsonResult GetWidget(int widgetId) { Widget widget = WidgetServices.Get(widgetId); if (!string.IsNullOrEmpty(widget.CustomStyles)) { //this should be done in factory manager //widget.WidgetStyles = JsonConvert.DeserializeObject<WidgetStyles>( widget.CustomStyles ); } else { widget.WidgetStyles = new WidgetStyles(); } List <string> messages = new List <string>(); if (widget == null) { messages.Add("Widget not found"); return(JsonResponse(new Widget(), false, "", messages)); } return(JsonResponse(widget, true, "success", null)); }
public ActionResult Search(string trackingID, string keyword, int?page, int?width, int?height) { if (MainLayoutViewModel.Status != WebStoreEnums.StoreStatus.Published) { return(View("~/Areas/Widget/Views/Widget/NotFound.cshtml", new NotFoundToken { FirstMessage = "The Web Store you were looking for was not publish. If you are the " })); } //int? userID //string wixViewMode, var userID = CurrentUserId < 0 ? (int?)null : CurrentUserId; var pagesize = WidgetServices.NumItemsInPage(width, height); if (page == null) { page = 1; } ViewBag.Keyword = keyword; var model = WidgetServices.SearchModelView(_webStorePortalServices.GetStoreCurrencyByTrackingId(trackingID), trackingID, (int)page, pagesize, userID, MainLayoutViewModel.WixViewMode, keyword); return(model == null?View("~/Areas/Widget/Views/Shared/Error.cshtml") : View(model)); }
public void SetMainLayoutViewModel(string trackingId, string viewMode = null, int?width = null, int?height = null) { //if (!string.IsNullOrEmpty(HttpContext.Request.RequestContext.RouteData.Values["trackingID"] as string)) //{ // var trackingID = HttpContext.Request.RequestContext.RouteData.Values["trackingID"] as string; // //TODO fix this exception(route Widget_CourseProductPage for partial course product page) // if (trackingID == "CoursePage") return; // var categoryUrlName = HttpContext.Request.RequestContext.RouteData.Values["categoryName"] as string; // MainLayoutViewModel = WidgetServices.GetFacebookBaseModelToken(trackingID, categoryUrlName, viewMode, width, height); //} //else//set empty place holder view model //{ // MainLayoutViewModel = WidgetServices.GetFacebookBaseModelToken(HttpContext.Request.QueryString["trackingId"], "", viewMode, width, height); //} var categoryUrlName = HttpContext.Request.RequestContext.RouteData.Values["categoryName"] as string; MainLayoutViewModel = WidgetServices.GetFacebookBaseModelToken(trackingId, categoryUrlName, viewMode, width, height); ViewData["MainLayoutViewModel"] = MainLayoutViewModel; TempData["MainLayoutViewModel"] = MainLayoutViewModel; }
[Obsolete] //verify public ActionResult Remove() { WidgetServices.RemoveCurrentWidget(); return(RedirectToAction("Index", "Home")); }
public ActionResult Index(string trackingID, string categoryName, int?page, string sort, int?width, int?height) { //in case request came from wix to css page and not to inner page if (!string.IsNullOrEmpty(Request.QueryString["instance"]) && !Request.Url.AbsoluteUri.ToLower().Contains("widget/wix/widget")) { return(new MVCTransferResult(new { controller = "Wix", action = "Index", instance = Request.QueryString["instance"], trackingID = (HttpContext.Request.RequestContext.RouteData.Values["trackingID"] as string) ?? HttpContext.Request.QueryString["trackingId"], categoryName = HttpContext.Request.RequestContext.RouteData.Values["categoryName"], width = HttpContext.Request.QueryString["width"], height = HttpContext.Request.QueryString["height"], viewmode = HttpContext.Request.QueryString["viewmode"], compId = HttpContext.Request.QueryString["compId"], cacheKiller = HttpContext.Request.QueryString["cacheKiller"], section_url = HttpContext.Request.QueryString["section-url"], target = HttpContext.Request.QueryString["target"] })); } if (MainLayoutViewModel == null || (MainLayoutViewModel.Status != WebStoreEnums.StoreStatus.Published && !MainLayoutViewModel.IsUserPurchasesCategory)) { return(RedirectToAction("NotFound", "Error", new { status = MainLayoutViewModel != null ? MainLayoutViewModel.Status : WebStoreEnums.StoreStatus.Unknown, Area = "Widget" })); } var userID = CurrentUserId < 0 ? (int?)null : CurrentUserId; //if only one course exist in store don't display the index if (MainLayoutViewModel.IsSingleCourseStore && !MainLayoutViewModel.IsUserPurchasesCategory) { if (!string.IsNullOrEmpty(Request.QueryString["_escaped_fragment_"])) { ViewBag.TabName = Request.QueryString["_escaped_fragment_"]; } ItemProductPageToken token; //if (MainLayoutViewModel.NumCourses == 0) //{ // token = WidgetServices.GetPlaceHolderItemInfoToken(); // return View("~/Areas/Widget/Views/Wix/PlaceHolder.cshtml", token); //} if (MainLayoutViewModel.NumCourses > 0 && MainLayoutViewModel.CategoriesList != null && MainLayoutViewModel.CategoriesList.Any()) { // get the single course token = WidgetServices.GetWixDefaultItem(MainLayoutViewModel.CategoriesList.Select(x => x.WebStoreCategoryID).ToList(), CurrentUserId); token.TrackingID = trackingID; return(View("~/Areas/Widget/Views/Wix/PlaceHolder.cshtml", token)); } //if no courses were defined display template place holder. token = WidgetServices.GetPlaceHolderItemInfoToken(); token.TrackingID = trackingID; return(View("~/Areas/Widget/Views/Wix/PlaceHolder.cshtml", token)); } //display Index var pagesize = WidgetServices.NumItemsInPage(width, height); if (page == null) { page = 1; } //if main lfe site - display all courses that exist in lfe IndexModelViewToken model; if ((MainLayoutViewModel.ParentURL.ToLower().StartsWith("http://" + Request.Url.Host.ToLower()) || MainLayoutViewModel.ParentURL.ToLower().StartsWith(Utils.GetKeyValue("baseUrl"))) && (string.IsNullOrEmpty(categoryName) || categoryName.ToLower() == "_all")) { model = WidgetServices.GetAllCoursesView(_webStorePortalServices.GetStoreCurrencyByTrackingId(trackingID), (int)page, sort, pagesize, userID); } else { model = WidgetServices.GetIndexModelView(_webStorePortalServices.GetStoreCurrencyByTrackingId(trackingID), trackingID, (int)page, sort, pagesize, MainLayoutViewModel.Category != null ? (int?)MainLayoutViewModel.Category.WebStoreCategoryID : null, categoryName, userID, MainLayoutViewModel.WixViewMode); if (model == null) { return(View("~/Areas/Widget/Views/Shared/Error.cshtml")); } if (model.ItemsList.Count.Equals(0)) { return(View(model)); } //if only one course or bundle in category redirect to product page if (model.ItemsList.Count > 1 || page != 1) { return(View(model)); //|| page != 1 } var item = model.ItemsList[0]; return(RedirectToAction("Index", "Item", new { type = item.ItemType, author = item.AuthorName.OptimizedUrl(), itemName = item.ItemName.OptimizedUrl(), trackingId = MainLayoutViewModel.WebStore != null ? MainLayoutViewModel.WebStore.TrackingID : string.Empty, mode = string.Empty, width = MainLayoutViewModel.Width, height = MainLayoutViewModel.Height, compId = this.GetWixCompId() })); } return(model == null?View("~/Areas/Widget/Views/Shared/Error.cshtml") : View(model)); }
public ActionResult AppSettingsNew(string instance, string origCompId, string compId) { var user = this.CurrentUser(); if (user == null) { return(RedirectToAction("Index", "Home", new { area = "WixEndPoint", instance = instance, compId = compId, origCompId = origCompId })); } var wixInstance = GetInstanceDto(instance); if (instance != null) { #region save plugin var token = new PluginInstallationDTO { Uid = wixInstance.instanceId.ToString(), Type = PluginEnums.ePluginType.WIX }; string error; if (WidgetEndpointServices.SavePluginInstallaltion(token, out error)) { SaveUserEvent(CommonEnums.eUserEvents.PLUGIN_INSTALLATION, Utils.GetEnumDescription(PluginEnums.ePluginType.WIX) + " plugin installed::" + wixInstance.instanceId, wixInstance.instanceId.ToString()); } #endregion var wixUser = UserServices.FindUserDtoByWixInstanceId(wixInstance.instanceId); if (wixUser != null && user.UserId != wixUser.UserId) { var returnUrl = Url.ToWixLoginHandlerUrl(wixInstance.instanceToken, compId, origCompId); return(RedirectToAction("ForceWixUserSignIn", "Account", new { area = "", returnUrl, email = wixUser.Email, userProfileId = wixUser.UserProfileId, trackingId = wixInstance.instanceId.ToString() })); } #region update plugin owner WidgetEndpointServices.VerifyPluginOwner(wixInstance.instanceId.ToString(), out error); #endregion } var webStore = WidgetServices.GetWidgetStoreDto(wixInstance.instanceId.ToString()) ?? UserServices.GetAndUpdateZombieStore(wixInstance.instanceId, user.UserId); //check for zombie store (if user had store and clicked disconnect and than reconnected) var settingToken = new SettingsViewToken { Instance = wixInstance, UserId = user.UserId, StoreId = webStore != null ? webStore.WebStoreID : (int?)null, UserCoursesList = CoursesServices.GetAuthorCoursesList(Constants.DEFAULT_CURRENCY_ID, user.UserId) }; if (webStore == null)//create a new store { var jsonToken = new WixSettingsJsonToken { cbIsShowBorder = false, cbIsShowTitleBar = true, cbIsTransparent = false, cpBackgroundColor = "#FFFFFF", cpFontColor = "#000000", cpTabsFontColor = "#006699", InstanceId = wixInstance.instanceId.ToString(), StoreId = null, txtStoreName = "", UniqueId = "", WixSiteUrl = "" }; string error; WebstoreWixService.UpdateWixSettings(ref jsonToken, this.CurrentUser(), out error); settingToken.StoreName = jsonToken.txtStoreName; settingToken.FontColor = jsonToken.cpFontColor; settingToken.TabsFontColor = jsonToken.cpTabsFontColor; settingToken.BackgroundColor = jsonToken.cpBackgroundColor; settingToken.IsTransparent = jsonToken.cbIsTransparent; settingToken.IsShowBorder = jsonToken.cbIsShowBorder; settingToken.IsShowTitleBar = jsonToken.cbIsShowBorder; settingToken.StoreId = jsonToken.StoreId; settingToken.UniqueId = jsonToken.UniqueId; } else { settingToken.StoreName = webStore.WebStoreName; settingToken.FontColor = webStore.FontColor; settingToken.TabsFontColor = webStore.TabsFontColor; settingToken.BackgroundColor = webStore.BackgroundColor; settingToken.IsTransparent = webStore.IsTransParent; settingToken.IsShowBorder = webStore.IsShowBorder; settingToken.IsShowTitleBar = webStore.IsShowTitleBar; settingToken.StoreId = webStore.WebStoreID; settingToken.UniqueId = webStore.UniqueId; // settingToken.StoreCoursesIds = WidgetServices.GetAllStoreCourseIds(webStore.WebStoreID); } return(View(settingToken)); }
//[CacheFilter(Duration = 60)] public ActionResult Index(BillingEnums.ePurchaseItemTypes type, string author, string itemName, string trackingId, string mode = null, int?width = null, int?height = null) { var item = WidgetServices.FindItemByUrlName(author, itemName, type); if (!item.IsValid) { return(View("ItemNotFound", item)); } #region ViewBag settings try { ViewBag.BackgroundColor = "#FFFFFF"; if (MainLayoutViewModel != null) { if (MainLayoutViewModel.WebStore != null && !string.IsNullOrEmpty(MainLayoutViewModel.WebStore.BackgroundColor)) { ViewBag.BackgroundColor = MainLayoutViewModel.WebStore.BackgroundColor; } if (!string.IsNullOrEmpty(Request.QueryString["_escaped_fragment_"])) { ViewBag.TabName = Request.QueryString["_escaped_fragment_"]; } if (width != null) { MainLayoutViewModel.Width = width; } if (height != null) { MainLayoutViewModel.Height = height; } } else { MainLayoutViewModel = new BaseModelViewToken { WebStore = null , CategoriesList = new List <WidgetCategoryDTO>() , IsValid = true , IsSingleCourseStore = true , TrackingId = trackingId }; ViewData["MainLayoutViewModel"] = MainLayoutViewModel; TempData["MainLayoutViewModel"] = MainLayoutViewModel; } } catch (Exception ex) { Logger.Error("Item page ViewBag::" + itemName + "::" + author + "::" + trackingId, ex, CommonEnums.LoggerObjectTypes.Widget); } #endregion var itemState = WidgetServices.GetItemAccessState4User(CurrentUserId, item.ItemId, item.ItemType); itemState.IsPreview = (!String.IsNullOrEmpty(mode) && mode == Constants.QS_COURSE_PREVIEW_PREFIX); var loadViewer = !itemState.IsPreview && (itemState.IsOwnedByUser || (itemState.IsAccessAllowed && itemState.IsPublished) || (mode == Constants.QS_COURSE_ADMIN_PREVIEW_PREFIX && this.IsCurrentUserAdmin())); var token = WidgetServices.ItemInfoToken2ItemViewerPageToken(item, itemState, trackingId); if (loadViewer) { return(View("ItemViewer", token)); } return(itemState.IsPublished || (itemState.IsPreview && itemState.IsOwnedByUser) ? View("ProductPage", WidgetServices.ItemInfoToken2ItemProductPageToken(item, itemState, trackingId)) : View("ItemNotPublished")); // var url = Url.ActionString("ItemNotPublished","Item",new RouteValueDictionary{{"area","Widget"}}); //return Redirect(url); }
public WixBaseController() { if (TempData["MainLayoutViewModel"] != null) { MainLayoutViewModel = TempData["MainLayoutViewModel"] as BaseModelViewToken; return; } WidgetServices = DependencyResolver.Current.GetService <IWidgetServices>(); //get iframe size int?width = null; int?height = null; if (!string.IsNullOrEmpty(HttpContext.Request.QueryString["width"])) { var widthStr = HttpContext.Request.QueryString["width"]; if (widthStr.Contains(",")) { widthStr = widthStr.Substring(0, widthStr.IndexOf(",", StringComparison.Ordinal)); } // width = Convert.ToInt32(widthStr); int w; if (Int32.TryParse(widthStr, out w)) { width = w; } } if (!string.IsNullOrEmpty(HttpContext.Request.QueryString["height"])) { //height = Convert.ToInt32(HttpContext.Request.QueryString["height"]); int h; if (Int32.TryParse(HttpContext.Request.QueryString["height"], out h)) { height = h; } } var viewMode = "site"; if (!string.IsNullOrEmpty(HttpContext.Request.QueryString["viewmode"])) { viewMode = HttpContext.Request.QueryString["viewmode"]; } if (ViewData["MainLayoutViewModel"] != null) { return; } var trackingID = (HttpContext.Request.RequestContext.RouteData.Values["trackingID"] as string) ?? HttpContext.Request.QueryString["trackingId"]; if (!string.IsNullOrEmpty(trackingID)) { //TODO fix this exception(route Widget_CourseProductPage for partial course product page) if (trackingID == "CoursePage") { return; } var categoryUrlName = (HttpContext.Request.RequestContext.RouteData.Values["categoryName"] as string) ?? HttpContext.Request.QueryString["categoryName"]; MainLayoutViewModel = WidgetServices.GetBaseModelToken(trackingID, categoryUrlName, viewMode, width, height); } else//set empty place holder view model { var currentUserIdStr = ""; if (this.CurrentUser() != null) { currentUserIdStr = this.CurrentUser().UserId.ToString(); } MainLayoutViewModel = WidgetServices.GetWixBaseModelToken(HttpContext.Request.QueryString["instance"], "", viewMode, width, height, currentUserIdStr); } ViewData["MainLayoutViewModel"] = MainLayoutViewModel; TempData["MainLayoutViewModel"] = MainLayoutViewModel; }
public JsonResult SaveWidget() { bool isFileUploaded = false; List <string> messages = new List <string>(); Widget widgetData = new Widget(); WidgetServices widgetService = new WidgetServices(); string fileUploadStatus = ""; var w1 = Request.Params["widgetData"]; if (w1 != null) { LoggingHelper.DoTrace(6, "WidgetController.SaveWidget. Entered."); widgetData = JsonConvert.DeserializeObject <Widget>(Request.Params["widgetData"]); if (!string.IsNullOrWhiteSpace(widgetData.WidgetAlias)) { var widgetExisting = WidgetServices.GetByAlias(widgetData.WidgetAlias); if (widgetExisting != null && widgetExisting.Id > 0 && widgetExisting.Id != widgetData.Id) { messages.Add("Widget Alias already exist"); return(JsonResponse(widgetData, false, "failure", messages)); } } if (!widgetService.Save(widgetData, ref messages)) { LoggingHelper.DoTrace(5, "WidgetController.SaveWidget. Errors on save: " + string.Join("\n\r>", messages)); return(JsonResponse(widgetData, false, "", messages)); } //don't call activate //WidgetServices.Activate( widgetData, string.Empty ); //WHY the check for Files? //Need a check for actual entered data //skip for now if (string.IsNullOrEmpty(widgetData.WidgetStylesUrl) && Request.Files.Count == 0) { //TODO - if no style changes, should delete any existing stylesheet if (widgetData.WidgetStyles != null && widgetData.WidgetStyles.HasChanged()) { //if ( this.ParseAndCreateUserStyleTemplate( widgetData, this.ControllerContext, Server.MapPath( "~/" ), "UserStyleTemplate", ref messages ) ) // widgetService.Save( widgetData, ref messages ); //else //{ // //for now ignore errors? // return JsonResponse( widgetData, false, "failure", messages ); //} } } //plan to chg this to get the text and pass as a string //if ( Request.Files.Count > 0 ) //{ // LoggingHelper.DoTrace( 4, "WidgetController.SaveWidget. Have widget data and found files" ); // isFileUploaded = this.UploadStyle( Request.Files[ 0 ], widgetData ); // widgetService.Save( widgetData, ref messages ); // fileUploadStatus = isFileUploaded ? "Style template upload success" : fileUploadStatus; // if ( !string.IsNullOrWhiteSpace( fileUploadStatus ) ) // { // messages.Add( fileUploadStatus ); // } //} } else { //plan to chg this to get the text and pass as a string //if ( Request.Files.Count > 0 ) //{ // LoggingHelper.DoTrace( 4, "WidgetController.SaveWidget. No widget data but found files" ); // isFileUploaded = this.UploadStyle( Request.Files[ 0 ], widgetData ); // widgetService.Save( widgetData, ref messages ); // fileUploadStatus = isFileUploaded ? "Style template upload success" : fileUploadStatus; // if ( !string.IsNullOrWhiteSpace( fileUploadStatus ) ) // { // messages.Add( fileUploadStatus ); // } //} else { messages.Add("Error - no widget data was sent to the server."); return(JsonResponse(widgetData, false, "failure", messages)); } } LoggingHelper.DoTrace(6, "WidgetController.SaveWidget. Regular exit."); return(JsonResponse(widgetData, true, "success", new { isFileUploaded = isFileUploaded, fileUploadStatus = fileUploadStatus })); }