public byte[] GetSRSReportFromSource(NCatalogItem item, string parent)
 {
     byte[] rdl = this.ReportingSourceServiceNonHttpClient.GetReportDefinition(item.Path);
     return rdl;
 }
        private static void addUniqueItemToDependencyList(NCatalogItemCollection dependencyList, NCatalogItem catalogItem)
        {
            bool isUnique = true;
            foreach (NCatalogItem ci in dependencyList)
            {
                if (ci.Path == catalogItem.Path)
                {
                    isUnique = false;
                    break;
                }
            }

            if (isUnique)
            {
                dependencyList.Add(catalogItem);
            }
        }
        public DataSourceDefinition GetSRSDataSourcefromSource(NCatalogItem item)
        {
            //CreateDataSource(item.Name, parent, false,
            DataSourceDefinition definition = this.ReportingSourceServiceNonHttpClient.GetDataSourceContents(item.Path);

            //Get the Password from the app.ConfiguredDatasource
            BOConfiguredDataSourceCollection datasources = new BOConfiguredDataSourceCollection();
            datasources.Fill();
            string[] credentialPieces;
            string userName;
            string password;

            foreach (BOConfiguredDataSource datasource in datasources)
            {
                if (datasource.CatalogPath.Equals(item.Path, StringComparison.OrdinalIgnoreCase))
                {
                    string credential = Utility.DecryptValue(datasource.Credentials);
                    credentialPieces = credential.Split(new char[] { ';' });
                    userName = credentialPieces[0].Split(new char[] { '=' })[1];
                    password = credentialPieces[1].Split(new char[] { '=' })[1];
                    definition.Password = password;
                    break;
                }
            }
            return definition;
        }
 public string GetSRSLinkReportsFromSource(NCatalogItem item, string parent)
 {
     string link = this.ReportingSourceServiceNonHttpClient.GetReportLink(item.Path);
     return link;
 }
 public void CopySRSReportToTarget(NCatalogItem item, string parent, byte[] rdl)
 {
     this.ReportingTargetServiceNonHttpClient.CreateReport(item.Name, parent, false, rdl, null);
 }
 public void CopySRSLinkReportsToTarget(NCatalogItem item, string parent, string link)
 {
     this.ReportingTargetServiceNonHttpClient.CreateLinkedReport(item.Name, parent, link, null);
 }
 public void CopySRSFolderToTarget(NCatalogItem item, string parent)
 {
     this.ReportingTargetServiceNonHttpClient.CreateFolder(item.Name, parent, null);
 }
 public void CopySRSDataSourceToTarget(NCatalogItem item, string parent, DataSourceDefinition definition)
 {
     this.ReportingTargetServiceNonHttpClient.CreateDataSource(item.Name, parent, false, definition, null);
 }
        /// <summary>
        /// Converts NCatalogItem to CatalogModel
        /// </summary>
        public static CatalogModel ToModel(NCatalogItem item)
        {
            CatalogModel model = new CatalogModel();
            //Construct the key
            model.Key = item.Path.Replace("/", "_");
            model.Key = model.Key.Replace(" ", "");

            model.Name = item.Name;
            model.Path = "root"+ item.Path;
            model.ItemType = item.ItemType;
            model.ImageUrlSuffix = item.ImageUrlSuffix;
            model.ReportParameters = item.ReportParameters;

            string parent = "root" + item.Path;
            string[] nodes = parent.Split('/');
            int length = nodes.Length;
            int index = 1;
            parent = nodes[0];
            while(index < length-1)
            {
                parent += "/" + nodes[index];
                index ++;
            }
            model.Parent = parent;
            return model;
        }