Exemplo n.º 1
0
        /// <summary>
        ///
        /// </summary>
        /// <remarks></remarks>
        /// <seealso cref=""/>
        /// <param name="dataStructureId"></param>
        /// <param name="extension"></param>
        /// <returns></returns>
        public string GetDataStructureTemplatePath(long dataStructureId, string extension)
        {
            using (DataStructureManager dataStructureManager = new DataStructureManager())
            {
                StructuredDataStructure dataStructure = dataStructureManager.StructuredDataStructureRepo.Get(dataStructureId);
                string dataStructureTitle             = dataStructure.Name;
                // load datastructure from db an get the filepath from this object

                ExcelTemplateProvider provider = new ExcelTemplateProvider("BExISppTemplate_Clean.xlsm");
                string path = "";

                if (dataStructure.TemplatePaths != null)
                {
                    XmlNode resources = dataStructure.TemplatePaths.FirstChild;

                    XmlNodeList resource = resources.ChildNodes;

                    foreach (XmlNode x in resource)
                    {
                        if (x.Attributes.GetNamedItem("Type").Value == "Excel")
                        {
                            if (File.Exists(x.Attributes.GetNamedItem("Path").Value))
                            {
                                path = x.Attributes.GetNamedItem("Path").Value;
                            }
                            else
                            {
                                path = provider.CreateTemplate(dataStructure);
                            }
                        }
                    }
                    //string dataPath = AppConfiguration.DataPath; //Path.Combine(AppConfiguration.WorkspaceRootPath, "Data");
                    return(Path.Combine(AppConfiguration.DataPath, path));
                }
                path = provider.CreateTemplate(dataStructure);
                return(Path.Combine(AppConfiguration.DataPath, path));
            }
        }