Exemple #1
0
        public string RenderForDisplay(MerchantTribeApplication app, Catalog.Category cat)
        {
            string sizeClass = "flexsize12";
            if (this._Container != null)
            {
                sizeClass = "flexsize";
                sizeClass += ((int)_Container.Size).ToString();
                if (_Container.NoGutter && _Container.Size != ColumnSize.Size12)
                {
                    sizeClass += "w";
                }                
            }            
            string url = System.Web.VirtualPathUtility.ToAbsolute("~/images/system/flexedit/imagePlaceholder.png");
            string alt = "Placeholder Image";
            if (Images.Count > 0)
            {
                ImageDisplayFile img = this.Images[0];
                long versionId = cat.GetCurrentVersion().Id;
                url = Storage.DiskStorage.FlexPageImageUrl(app, cat.Bvin, versionId.ToString(), img.FileName, true);
                alt = img.AltText;                
            }

            return "<img src=\"" + url + "\" alt=\"" + alt + "\" class=\"" + sizeClass + "\" />";
        }
Exemple #2
0
       public PartJsonResult ProcessJsonRequest(System.Collections.Specialized.NameValueCollection form,
                                          MerchantTribeApplication app, Catalog.Category containerCategory)
        {
            PartJsonResult result = new PartJsonResult();

            string action = form["partaction"];
          
            StringBuilder sb = new StringBuilder();          
            switch (action.Trim().ToLowerInvariant())
            {
                case "showeditor":             
                    result.IsFinishedEditing = false;
                    result.Success = true;
                    result.ResultHtml = BuildEditor(containerCategory, string.Empty, app);
                    //result.ScriptFunction = initScript;
                    break;
                case "saveedit":  

                    // Update from Form Here                    
                    string editMessage = string.Empty;

                    if (form["uploadedfilename"] != null)
                    {
                        string uploadedname = form["uploadedfilename"];

                        if (uploadedname.Length > 0)
                        {
                            if (this.Images.Count < 1)
                            {
                                this.Images.Add(new ImageDisplayFile() { AltText = uploadedname, FileName = uploadedname, SortOrder = 0 });
                            }
                            else
                            {
                                this.Images[0].FileName = uploadedname;
                            }
                        }
                    }

                    if (this.Images.Count > 0)
                    {
                        string altText = form["altfield"];
                        this.Images[0].AltText = altText;
                        editMessage = "Changes Saved!";
                    }
                    else
                    {
                        editMessage = "Upload an Image before Saving Changes!";
                    }
                    
                    app.CatalogServices.Categories.Update(containerCategory);
                    result.Success = true;
                    result.IsFinishedEditing = false;
                    result.ResultHtml = BuildEditor(containerCategory, editMessage, app);
                    //result.ScriptFunction = initScript;
                    break;
                case "canceledit":
                    result.Success = true;
                    result.IsFinishedEditing = true;
                    result.ResultHtml = this.RenderForEdit(app, containerCategory);
                    break;
                case "deletepart":
                    containerCategory.GetCurrentVersion().Root.RemovePart(this.Id);
                    app.CatalogServices.Categories.Update(containerCategory);
                    break;
            }

            return result;
        }
Exemple #3
0
       public PartJsonResult ProcessJsonRequest(System.Collections.Specialized.NameValueCollection form,
                                          MerchantTribeApplication app, Catalog.Category containerCategory)
        {
            PartJsonResult result = new PartJsonResult();

            string action = form["partaction"];            

            StringBuilder sb = new StringBuilder();
          
            switch (action.Trim().ToLowerInvariant())
            {
                case "showeditor":                    
                    sb.Append("<textarea name=\"changedtext\" style=\"height:400px;width:675px;\">");
                    sb.Append(this.RawHtml);
                    sb.Append("</textarea><br />");
                    sb.Append("<input type=\"hidden\" name=\"partaction\" class=\"editactionhidden\" value=\"saveedit\" />");
                    sb.Append("<input type=\"submit\" name=\"canceleditbutton\" value=\"Close\">");
                    sb.Append("<input type=\"submit\" name=\"savechanges\" value=\"Save Changes\">");
                    result.IsFinishedEditing = false;
                    result.Success = true;
                    result.ResultHtml = sb.ToString();
                    break;
                case "saveedit":                    
                    this.RawHtml = form["changedtext"];
                    result.IsFinishedEditing = true;                    
                    result.Success = true;
                    result.ResultHtml = this.RenderForEdit(app, containerCategory);
                    app.CatalogServices.Categories.Update(containerCategory);
                    break;
                case "canceledit":
                    result.Success = true;
                    result.IsFinishedEditing = true;
                    result.ResultHtml = this.RenderForEdit(app, containerCategory);
                    break;
                case "deletepart":
                    containerCategory.GetCurrentVersion().Root.RemovePart(this.Id);
                    app.CatalogServices.Categories.Update(containerCategory);
                    break;
            }

            return result;
        }
Exemple #4
0
       private string BuildEditor(Catalog.Category containerCategory, string message, MerchantTribeApplication app){

           MerchantTribe.Commerce.RequestContext context = app.CurrentRequestContext;

           long versionId = containerCategory.GetCurrentVersion().Id;
           ImageDisplayFile img = new ImageDisplayFile();
           if (this.Images.Count > 0) img = this.Images[0];

           string previewUrl = "";
           string alt = string.Empty;

           previewUrl = System.Web.VirtualPathUtility.ToAbsolute("~/images/system/flexedit/imagePlaceholder.png");
           if (this.Images.Count > 0)
           {
               alt = this.Images[0].AltText;
               if (this.Images[0].FileName.Trim().Length > 0)
               {
                   previewUrl = Storage.DiskStorage.FlexPageImageUrl(app, containerCategory.Bvin, versionId.ToString(), img.FileName, false);
               }               
           }
                     
           StringBuilder sb = new StringBuilder();
           sb.Append("<div class=\"flexeditarea\">");
           sb.Append("<div id=\"uploadimagemessage\">" + message + "</div>");
           sb.Append("<table width=\"100%\">");
           
           sb.Append("<tr><td class=\"formlabel\">Image:</td><td class=\"formfield\">");
           sb.Append("<img width=\"200px\" height=\"200px\" src=\"" + previewUrl + "\" id=\"uploadimagepreview\" name=\"uploadimagepreview\" /><br />");

           sb.Append("<div id=\"silverlightControlHost\">");
           sb.Append("<object data=\"data:application/x-silverlight-2,\" type=\"application/x-silverlight-2\" width=\"100\" height=\"55\">");

           string SilverLightUrl = System.Web.VirtualPathUtility.ToAbsolute("~/ClientBin/BVSoftware.SilverlightFileUpload.xap");
	 	   sb.Append("<param name=\"source\" value=\""+ SilverLightUrl + "\"/>");

	 	   sb.Append("<param name=\"background\" value=\"black\" />");
           sb.Append("<param name=\"onError\" value=\"onSilverlightError\" />");
		   sb.Append("<param name=\"minRuntimeVersion\" value=\"4.0.50826.0\" />");
		   sb.Append("<param name=\"autoUpgrade\" value=\"true\" />");

           sb.Append("<param name=\"initParams\" value=\"scriptname=ImageWasUploaded,uploadurl=");

           // We have to pull the host out because the ToAbsolute of the virutal path utility
           // will append sub folder name if the web site is not the root app in IIS
           string currentFullRoot = app.StoreUrl(false, false);
           Uri fullUri = new Uri(currentFullRoot);
           string host = fullUri.DnsSafeHost;
           sb.Append("http://" + host);
           sb.Append(System.Web.VirtualPathUtility.ToAbsolute("~/fileuploadhandler/1/" + containerCategory.Bvin + "/" + versionId.ToString()));
           sb.Append("\"/>");

           sb.Append("<a href=\"http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50826.0\" style=\"text-decoration:none\">");
           sb.Append("<img src=\"http://go.microsoft.com/fwlink/?LinkId=161376\" alt=\"Get Microsoft Silverlight\" style=\"border-style:none\"/>");
		   sb.Append("</a>");
	       sb.Append("</object><iframe id=\"_sl_historyFrame\" style=\"visibility:hidden;height:0px;width:0px;border:0px\"></iframe>");
           sb.Append("</div>");

           sb.Append("</td></tr>");

           sb.Append("<tr><td class=\"formlabel\">Alt. Text:</td><td class=\"formfield\">");
           sb.Append("<input type=\"text\" id=\"altfield\" name=\"altfield\" value=\"" + System.Web.HttpUtility.HtmlEncode(alt) + "\" />");
           sb.Append("</td></tr>");
         
           sb.Append("</table>");           


           sb.Append("</div>");
           sb.Append("<div class=\"flexeditbuttonarea\">");
           sb.Append("<input type=\"hidden\" name=\"uploadedfilename\" id=\"uploadedfilename\" value=\"\" />");
           sb.Append("<input type=\"hidden\" name=\"partaction\" class=\"editactionhidden\" value=\"saveedit\" />");
           sb.Append("<input type=\"submit\" name=\"canceleditbutton\" value=\"Close\">");
           sb.Append("<input type=\"submit\" name=\"savechanges\" value=\"Save Changes\">");
           sb.Append("</div>");
                 
           return sb.ToString();
       }
        public PartJsonResult ProcessJsonRequest(System.Collections.Specialized.NameValueCollection form,
                                                MerchantTribeApplication app, Catalog.Category containerCategory)
        {
            PartJsonResult result = new PartJsonResult();

            string action = form["partaction"];
            switch (action.ToLowerInvariant())
            {          
                case "showeditor":
                    result.IsFinishedEditing = false;
                    result.Success = true;
                    result.ResultHtml = BuildEditor();                                        
                    break;
                case "saveedit":

                    string colsRequestedString = form["totalColumnsRequested"];
                    int columnsRequested = this.Columns.Count;
                    if (int.TryParse(colsRequestedString, out columnsRequested))
                    {
                        this.SetNumberOfColumns(columnsRequested);
                    }
                    ParseColumnChanges(form);
                    if (form["spacerabove"] == "on")
                    {
                        this.SpacerAbove = true;
                    }
                    else
                    {
                        this.SpacerAbove = false;
                    }
                    app.CatalogServices.Categories.Update(containerCategory);
                    result.Success = true;
                    result.IsFinishedEditing = false;
                    result.ResultHtml = BuildEditor();
                    break;
                case "canceledit":
                    result.Success = true;
                    result.IsFinishedEditing = true;
                    result.ResultHtml = this.RenderForEdit(app, containerCategory);
                    break;
                case "deletepart":
                    containerCategory.GetCurrentVersion().Root.RemovePart(this.Id);                    
                    app.CatalogServices.Categories.Update(containerCategory);
                    result.Success = true;
                    break;

            }
            return result;
        }