Example #1
0
 public void ExportTaxonomyGroup(string groupName)
 {
     Console.WriteLine("Starting export of taxonomy group " + groupName);
     using (var context = new ClientContext(_urlToSite))
     {
         context.Credentials = _credentials;
         var outputDirectoryPath = Path.Combine(_rootPath, "export");
         Directory.CreateDirectory(outputDirectoryPath);
         var taxPersistanceProvider = new FilePersistanceProvider <ShTermGroup>(Path.Combine(outputDirectoryPath, groupName.ToLower().Replace(" ", "") + "taxonomy.json"));
         var taxonomyManager        = new TaxonomyManager();
         var groupConfig            = taxonomyManager.ExportTaxonomyGroupToConfig(context, groupName);
         if (groupConfig != null)
         {
             taxPersistanceProvider.Save(groupConfig);
             Console.WriteLine("Completed exported of taxonomy group " + groupName);
         }
     }
 }
Example #2
0
 private void ExportTaxonomyGroup(string groupName)
 {
     Log.Info("Starting export of taxonomy group " + groupName);
     using (var context = new ClientContext(_urlToSite))
     {
         context.Credentials = _credentials;
         var outputDirectoryPath = Path.Combine(_rootPath, "export");
         Directory.CreateDirectory(outputDirectoryPath);
         var taxPersistanceProvider = new FilePersistanceProvider<ShTermGroup>(Path.Combine(outputDirectoryPath, groupName.ToLower().Replace(" ", "") + "taxonomy.json"));
         var taxonomyManager = new TaxonomyManager();
         var groupConfig = taxonomyManager.ExportTaxonomyGroupToConfig(context, groupName);
         if (groupConfig != null)
         {
             taxPersistanceProvider.Save(groupConfig);
             Log.Info("Completed export of taxonomy group " + groupName);
         }
     }
 }
Example #3
0
        public void ExportListData(ClientContext context, Web web, List <ShList> listConfigs, string outputDirectory)
        {
            foreach (var listConfig in listConfigs)
            {
                if (listConfig.ExportData)
                {
                    var list  = web.Lists.GetByTitle(listConfig.Title);
                    var items = list.GetItems(new CamlQuery());
                    context.Load(list, l => l.Title, l => l.BaseType);
                    if (listConfig.TemplateType == 171)
                    {
                        context.Load(items, includes => includes.Include(i => i["ID"], i => i["Title"], i => i["ParentID"], i => i["GtProjectPhase"], i => i["Order"]));
                    }
                    else
                    {
                        context.Load(items, includes => includes.Include(i => i["ID"], i => i["Title"], i => i["GtProjectPhase"]));
                    }

                    context.ExecuteQuery();

                    var listDataRows = new List <ShTaskListDataItem>();

                    foreach (var item in items)
                    {
                        if (listConfig.TemplateType == 171)
                        {
                            var phaseValue    = item["GtProjectPhase"] as TaxonomyFieldValue;
                            var parentIdValue = item["ParentID"] as FieldLookupValue;
                            var parentId      = parentIdValue != null ? parentIdValue.LookupId : 0;
                            var order         = item["Order"];

                            var taskItem = new ShTaskListDataItem(int.Parse(item["ID"].ToString()), parentId);
                            taskItem.Order = double.Parse(order.ToString());
                            taskItem.Fields.Add(new ShFieldValue("Title", item["Title"].ToString()));
                            if (phaseValue != null)
                            {
                                taskItem.Fields.Add(new ShFieldValue("GtProjectPhase", string.Format("{0}|{1}", phaseValue.Label, phaseValue.TermGuid)));
                            }

                            listDataRows.Add(taskItem);
                        }
                        else
                        {
                            var taskItem = new ShTaskListDataItem(int.Parse(item["ID"].ToString()));
                            taskItem.Fields.Add(new ShFieldValue("Title", item["Title"].ToString()));

                            var phaseValue = item["GtProjectPhase"] as TaxonomyFieldValue;
                            if (phaseValue != null)
                            {
                                taskItem.Fields.Add(new ShFieldValue("GtProjectPhase", string.Format("{0}|{1}", phaseValue.Label, phaseValue.TermGuid)));
                            }

                            listDataRows.Add(taskItem);
                        }
                    }
                    listDataRows.Sort((x, y) => x.Order.CompareTo(y.Order));
                    foreach (var item in listDataRows.Where(i => i.ParentID != 0))
                    {
                        listDataRows.Single(i => i.ID == item.ParentID).Rows.Add(item);
                    }
                    var itemsToPersist = new List <ShTaskListDataItem>();
                    foreach (var item in listDataRows)
                    {
                        if (item.ParentID == 0)
                        {
                            itemsToPersist.Add(item);
                        }
                    }

                    var listData = new ShTaskListData();
                    listData.Data.Rows = itemsToPersist;
                    listData.Name      = list.Title;
                    listData.Type      = list.BaseType.ToString();
                    var taxPersistanceProvider = new FilePersistanceProvider <ShListData>(Path.Combine(outputDirectory, String.Format("{0}-export-{1}.json", list.Title.ToLower().Replace(" ", ""), System.DateTime.Now.ToFileTime())));
                    taxPersistanceProvider.Save(listData);
                }
            }
        }