Ejemplo n.º 1
0
        public async Task <List <ItemInfo> > GetListItems(string url, string listName)
        {
            ClientContext context = GetSharepointContext(url);
            List          list    = context.Web.Lists.GetByTitle(listName);

            context.Load(list);
            await context.ExecuteQueryAsync();

            var items = list.GetItems(new CamlQuery());

            context.Load(items);
            await context.ExecuteQueryAsync();

            List <ItemInfo> result = new List <ItemInfo>();

            foreach (var item in items)
            {
                List <ItemInfoValue> values = new List <ItemInfoValue>();
                foreach (var field in item.FieldValues)
                {
                    if (field.Value != null)
                    {
                        //tratar el campo tipo user o grupo
                        if (field.Value is FieldUserValue)
                        {
                            ItemInfoValue  toAdd = new ItemInfoValue(field.Key, null);
                            FieldUserValue value = (FieldUserValue)item[field.Key];
                            toAdd.Value = value.LookupId.ToString();
                            values.Add(toAdd);
                        }
                        //tratar el campo multichoice
                        else if (field.Value is string[])
                        {
                            ItemInfoValue toAdd   = new ItemInfoValue(field.Key, null);
                            string[]      options = (string[])item[field.Key];
                            foreach (var option in options)
                            {
                                toAdd.Value += option + "; ";
                            }
                            values.Add(toAdd);
                        }
                        else
                        {
                            ItemInfoValue toAdd = new ItemInfoValue(field.Key, field.Value.ToString());
                            values.Add(toAdd);
                        }
                    }
                    else
                    {
                        ItemInfoValue toAdd = new ItemInfoValue(field.Key, null);
                        values.Add(toAdd);
                    }
                }
                ItemInfo actual = new ItemInfo(values);
                result.Add(actual);
            }
            return(result);
        }
Ejemplo n.º 2
0
 protected WorklistItem(ItemInfoValue itemInfoValue) : base(itemInfoValue)
 {
 }
Ejemplo n.º 3
0
 protected QuakeProjectItem(ItemInfoValue iiv) : base(FlipBrowseDialogOnly(iiv))
 {
     _pathSaveRelative = true;
 }
Ejemplo n.º 4
0
 private static ItemInfoValue FlipBrowseDialogOnly(ItemInfoValue iiv)
 {
     iiv.browseDialogOnly = "FALSE";
     return(iiv);
 }
Ejemplo n.º 5
0
        public async Task <List <ItemInfo> > GetListItemsInLargeList(string url, string listName)
        {
            ClientContext context = GetSharepointContext(url);
            List          list    = context.Web.Lists.GetByTitle(listName);

            context.Load(list);
            await context.ExecuteQueryAsync();

            List <ItemInfo>            result   = new List <ItemInfo>();
            ListItemCollectionPosition position = null;
            var page = 1;

            do
            {
                CamlQuery camlQuery = new CamlQuery();
                camlQuery.ViewXml = @"<View Scope='RecursiveAll'>
                                      <Query>
                                      </Query><RowLimit>5000</RowLimit>
                                  </View>";
                camlQuery.ListItemCollectionPosition = position;

                var listItems = list.GetItems(camlQuery);
                context.Load(listItems, a => a.ListItemCollectionPosition);
                await context.ExecuteQueryAsync();

                position = listItems.ListItemCollectionPosition;
                foreach (var item in listItems)
                {
                    List <ItemInfoValue> values = new List <ItemInfoValue>();
                    foreach (var field in item.FieldValues)
                    {
                        if (field.Value != null)
                        {
                            //tratar el campo tipo user o grupo
                            if (field.Value is FieldUserValue)
                            {
                                ItemInfoValue  toAdd = new ItemInfoValue(field.Key, null);
                                FieldUserValue value = (FieldUserValue)item[field.Key];
                                toAdd.Value = value.Email;
                                values.Add(toAdd);
                            }
                            //tratar el campo multichoice
                            else if (field.Value is string[])
                            {
                                ItemInfoValue toAdd   = new ItemInfoValue(field.Key, null);
                                string[]      options = (string[])item[field.Key];
                                foreach (var option in options)
                                {
                                    toAdd.Value += option + "; ";
                                }
                                values.Add(toAdd);
                            }
                            else
                            {
                                ItemInfoValue toAdd = new ItemInfoValue(field.Key, field.Value.ToString());
                                values.Add(toAdd);
                            }
                        }
                        else
                        {
                            ItemInfoValue toAdd = new ItemInfoValue(field.Key, null);
                            values.Add(toAdd);
                        }
                    }
                    ItemInfo actual = new ItemInfo(values);
                    result.Add(actual);
                }

                page++;
            }while (position != null);
            return(result);
        }
Ejemplo n.º 6
0
        public async Task <List <ItemInfo> > GetFilteredItems(string url, string listName)
        {
            try
            {
                ClientContext context = GetSharepointContext(url);
                List          list    = context.Web.Lists.GetByTitle(listName);
                context.Load(list);
                await context.ExecuteQueryAsync();

                List <ItemInfo> result    = new List <ItemInfo>();
                CamlQuery       camlQuery = new CamlQuery();
                camlQuery.ViewXml = @"<View>
                              <Query>
                                <Where>
                                  <And>
                                    <And>
                                      <Eq>
                                       <FieldRef Name='UserOrGroup' LookupId='TRUE'/>
                                        <Value Type='Lookup'>26</Value>
                                      </Eq>
                                      <Eq>
                                       <FieldRef Name='Choice'/>
                                        <Value Type='Text'>Ole Betis</Value>
                                      </Eq>
                                     </And>
                                      <Eq>
                                       <FieldRef Name='Sevilla'/>
                                        <Value Type='Text'>El sevilla es malo</Value>
                                      </Eq>
                                  </And>
                                    
                                </Where></Query><RowLimit>1</RowLimit></View>";

                var items = list.GetItems(camlQuery);
                context.Load(items);
                await context.ExecuteQueryAsync();


                foreach (var item in items)
                {
                    List <ItemInfoValue> values = new List <ItemInfoValue>();
                    foreach (var field in item.FieldValues)
                    {
                        if (field.Value != null)
                        {
                            //tratar el campo tipo user o grupo
                            if (field.Value is FieldUserValue)
                            {
                                ItemInfoValue  toAdd = new ItemInfoValue(field.Key, null);
                                FieldUserValue value = (FieldUserValue)item[field.Key];
                                toAdd.Value = value.Email;
                                values.Add(toAdd);
                            }
                            //tratar el campo multichoice
                            else if (field.Value is string[])
                            {
                                ItemInfoValue toAdd   = new ItemInfoValue(field.Key, null);
                                string[]      options = (string[])item[field.Key];
                                foreach (var option in options)
                                {
                                    toAdd.Value += option + "; ";
                                }
                                values.Add(toAdd);
                            }
                            else
                            {
                                ItemInfoValue toAdd = new ItemInfoValue(field.Key, field.Value.ToString());
                                values.Add(toAdd);
                            }
                        }
                        else
                        {
                            ItemInfoValue toAdd = new ItemInfoValue(field.Key, null);
                            values.Add(toAdd);
                        }
                    }
                    ItemInfo actual = new ItemInfo(values);
                    result.Add(actual);
                }
                return(result);
            }
            catch (Exception Ex)
            {
                return(new List <ItemInfo>());
            }
        }
Ejemplo n.º 7
0
 public SampleProjectItem(ItemInfoValue iiv) : base(CleanItemInfo(iiv))
 {
     IsOpen = false;
 }
Ejemplo n.º 8
0
 private static ItemInfoValue CleanItemInfo(ItemInfoValue iiv)
 {
     iiv.typeID = @"sampleItem";         // match the project item type id as was defined in config.xml
     iiv.type   = "SampleProjectItems";  // match the parent container component type
     return(iiv);
 }
 protected ProDataProjectItem(ItemInfoValue iiv) : base(FlipBrowseDialogOnly(iiv))
 {
 }
Ejemplo n.º 10
0
 public IssueWorklistItem(ItemInfoValue itemInfoValue) : base(itemInfoValue)
 {
 }
 protected AddToMapCustomItem(ItemInfoValue iiv) : base(FlipBrowseDialogOnly(iiv))
 {
 }
 protected ProGPXItem(ItemInfoValue iiv) : base(FlipBrowseDialogOnly(iiv))
 {
 }
Ejemplo n.º 13
0
 public SelectionWorklistItem(ItemInfoValue itemInfoValue) : base(itemInfoValue)
 {
 }