Exemple #1
0
        private string GetExtension(WebResourceWebResourceType webresourcetype)
        {
            switch (webresourcetype)
            {
            case WebResourceWebResourceType.WebpageHtml: return(".html");

            case WebResourceWebResourceType.ScriptJScript: return(".js");

            case WebResourceWebResourceType.PngFormat: return(".png");

            case WebResourceWebResourceType.GifFormat: return(".gif");

            case WebResourceWebResourceType.JpgFormat: return(".jpg");

            case WebResourceWebResourceType.StyleSheetCss: return(".css");

            case WebResourceWebResourceType.IcoFormat: return(".ico");

            case WebResourceWebResourceType.DataXml: return(".xml");

            case WebResourceWebResourceType.StyleSheetXsl: return(".xsl");

            case WebResourceWebResourceType.SilverlightXap: return(".xap");

            case WebResourceWebResourceType.StringResx: return(".resx");

            case WebResourceWebResourceType.SvgFormat: return(".svg");
            }
            return(".html");
        }
Exemple #2
0
        private void DeployWebresources(OrganizationServiceContext ctx, ConfigFile config, WebresourceDeployConfig webresources)
        {
            var webresourceRoot = Path.Combine(config.filePath, "" + webresources.root);

            this.Solution = webresources.solution;

            foreach (var file in webresources.files)
            {
                if (file.uniquename == null)
                {
                    // Make the name uniquename the same as the file name
                    file.uniquename = file.file.Replace("\\", "/");
                }
                if (file.displayname == null)
                {
                    // make the same as the unique name
                    file.displayname = file.uniquename;
                }
                WebResource webresource = ctx.GetWebResource(file.uniquename);

                if (webresource == null)
                {
                    webresource = new WebResource();
                }
                var fullPath    = Path.Combine(webresourceRoot, file.file);
                var filecontent = Convert.ToBase64String(File.ReadAllBytes(fullPath));

                // Update
                webresource.Name        = file.uniquename;
                webresource.DisplayName = file.displayname;
                webresource.Description = file.description;
                webresource.Content     = filecontent;

                var webResourceFileInfo             = new FileInfo(fullPath);
                WebResourceWebResourceType filetype = WebResourceWebResourceType.Script_JScript;
                switch (webResourceFileInfo.Extension.ToLower())
                {
                case "html":
                case "htm":
                    filetype = WebResourceWebResourceType.Webpage_HTML;
                    break;

                case "js":
                    filetype = WebResourceWebResourceType.Script_JScript;
                    break;

                case "png":
                    filetype = WebResourceWebResourceType.PNGformat;
                    break;

                case "gif":
                    filetype = WebResourceWebResourceType.GIFformat;
                    break;

                case "jpg":
                case "jpeg":
                    filetype = WebResourceWebResourceType.JPGformat;
                    break;

                case "css":
                    filetype = WebResourceWebResourceType.StyleSheet_CSS;
                    break;

                case "ico":
                    filetype = WebResourceWebResourceType.ICOformat;
                    break;

                case "xml":
                    filetype = WebResourceWebResourceType.Data_XML;
                    break;

                case "xsl":
                case "xslt":
                    filetype = WebResourceWebResourceType.StyleSheet_XSL;
                    break;

                case "xap":
                    filetype = WebResourceWebResourceType.Silverlight_XAP;
                    break;
                }
                webresource.WebResourceType = new OptionSetValue((int)filetype);
                if (webresource.Id == Guid.Empty)
                {
                    _trace.WriteLine("Creating Webresource '{0}' -> '{1}'", file.file, file.uniquename);
                    // create
                    webresource.Id = _service.Create(webresource);
                }
                else
                {
                    _trace.WriteLine("Updating Webresource '{0}' -> '{1}'", file.file, file.uniquename);
                    // Update
                    _service.Update(webresource);
                }
                ;

                // Add to solution
                if (Solution != null)
                {
                    AddWebresourceToSolution(Solution, webresource);
                }
                // Publish
                var publish = new PublishXmlRequest()
                {
                    ParameterXml = "<importexportxml>" +
                                   "   <webresources>" +
                                   "       <webresource>" + webresource.Id.ToString() + "</webresource>" +
                                   "   </webresources>" +
                                   "</importexportxml>"
                };
            }
            _trace.WriteLine("Deployed {0} webresource(s)", webresources.files.Count);
        }