private void ModifyCAMLFilter(SPView view)
        {
            var xml = new XmlDocument();

            xml.LoadXml(view.GetViewXml());
            if (xml.DocumentElement == null)
            {
                return;
            }

            var query = xml.DocumentElement.SelectSingleNode(CAML.Query);

            if (query != null)
            {
                var where = query.SelectSingleNode(CAML.Where);
                if (where == null)
                {
                    where = xml.CreateNode(XmlNodeType.Element, CAML.Where, string.Empty);
                    query.AppendChild(where);
                    var w = CAMLGenerator.JoinFilters(CAMLPredicates, CAML.And);
                    where.InnerXml = w;
                }
                else
                {
                    var whereParts = new List <string> {
                        where.InnerXml
                    };
                    whereParts.AddRange(CAMLPredicates);
                    where.InnerXml = CAMLGenerator.JoinFilters(whereParts, CAML.And);
                }
            }
            view.SetViewXml(xml.OuterXml);

            Debug.WriteLine(xml.OuterXml);
        }
Пример #2
0
        internal SPView Apply(SPList list)
        {
            try
            {
                view = list.Views[Name];
            }
            catch (Exception)
            {
                var viewFields = new StringCollection();
                foreach (var viewField in ViewFields)
                {
                    viewFields.Add(GetInternalFieldName(list, viewField));
                }

                var camlQuery = TransformCamlQuery(list, Query);

                view = list.Views.Add(Name, viewFields, camlQuery, RowLimit, true, MakeViewDefault);

                if (!string.IsNullOrEmpty(UserControlPath))
                {
                    var web = list.ParentWeb;
                    WebPartHelper.HideDefaultWebPartOnView(web, view);
                    var containerWebPart = WebPartHelper.GetContainerWebPart(web);
                    containerWebPart.Title           = string.Format(CultureInfo.InvariantCulture, "{0} - Custom View", Name);
                    containerWebPart.UserControlPath = UserControlPath;
                    WebPartHelper.AddWebPartToViewPage(web, view, containerWebPart);
                }
            }

            return(view);
        }
Пример #3
0
        static SPList CreateSupplierList(SPWeb web)
        {
            SPList list = CreateList(web, "Suppliers");

            list.Fields.Add("CompanyName", SPFieldType.Text, true);
            list.Fields.Add("ContactName", SPFieldType.Text, false);
            list.Fields.Add("ContactTitle", SPFieldType.Text, false);
            list.Fields.Add("Address", SPFieldType.Text, false);
            list.Fields.Add("City", SPFieldType.Text, false);
            list.Fields.Add("Region", SPFieldType.Text, false);
            list.Fields.Add("PostalCode", SPFieldType.Text, false);
            list.Fields.Add("Country", SPFieldType.Text, false);
            list.Fields.Add("Phone", SPFieldType.Text, false);
            list.Fields.Add("Fax", SPFieldType.Text, false);

            list.Update();

            StringCollection fields = new StringCollection();
            fields.Add("CompanyName");
            fields.Add("ContactName");
            fields.Add("ContactTitle");
            fields.Add("Address");
            fields.Add("City");
            fields.Add("Region");
            fields.Add("PostalCode");
            fields.Add("Country");
            fields.Add("Phone");
            fields.Add("Fax");

            SPView view = list.Views.Add("My view", fields, list.DefaultView.Query, list.DefaultView.RowLimit, list.DefaultView.Paged, true);
            view.Update();

            return list;
        }
Пример #4
0
        private static SPView CreatePromotionsOnlyView(SPWeb currentWeb, SPList pagesList)
        {
            //Create View that only shows PromotionPage content type instances
            CAMLQueryBuilder queryBuilder = new CAMLQueryBuilder();

            queryBuilder.FilterByContentType(PromotionPageContentType);
            string queryBuilderBuildQuery = queryBuilder.Build().Query;

            //Add fields to list

            SPField productSkuField    = currentWeb.Site.RootWeb.Fields[new Guid(ProductSkuFieldId)];
            SPField promotionNameField = currentWeb.Site.RootWeb.Fields[new Guid(PromotionNameFieldId)];

            if (!pagesList.Fields.ContainsField(productSkuField.InternalName))
            {
                pagesList.Fields.Add(productSkuField);
            }
            if (!pagesList.Fields.ContainsField(promotionNameField.InternalName))
            {
                pagesList.Fields.Add(promotionNameField);
            }

            //Add fields to view using FieldId GUIDs
            StringCollection viewFields = new StringCollection();

            viewFields.Add(currentWeb.Site.RootWeb.Fields[new Guid(LinkFilenameFieldId)].InternalName); //LinkFilename)
            viewFields.Add(productSkuField.InternalName);                                               //ProductSkuField
            viewFields.Add(promotionNameField.InternalName);                                            //PromotionNameField

            SPView promotionsOnlyView = pagesList.Views.Add(PromotionOnlyView, viewFields, queryBuilderBuildQuery, 100, true, false);

            promotionsOnlyView.Update();

            return(promotionsOnlyView);
        }
Пример #5
0
        // Uncomment the method below to handle the event raised after a feature has been activated.

        public override void FeatureActivated(SPFeatureReceiverProperties properties)
        {
            SPWeb  currentWeb  = properties.Feature.Parent as SPWeb;
            SPList classesList = currentWeb.Lists["Classes"];

            SPField titleField = classesList.Fields["Title"];

            titleField.Required       = false;
            titleField.ShowInNewForm  = false;
            titleField.ShowInEditForm = false;
            titleField.Title          = "Class ID";
            titleField.Update();

            SPField registrationsField = classesList.Fields["Registrations"];

            registrationsField.DefaultValue  = "0";
            registrationsField.ShowInNewForm = false;
            registrationsField.Update();

            SPFieldDateTime startDate = currentWeb.Fields["Start Date"] as SPFieldDateTime;

            startDate.DisplayFormat = SPDateTimeFieldFormatType.DateTime;
            SPFieldDateTime endDate = currentWeb.Fields["End Date"] as SPFieldDateTime;

            endDate.DisplayFormat = SPDateTimeFieldFormatType.DateTime;
            classesList.Fields.Add(startDate);
            classesList.Fields.Add(endDate);
            SPView defaultView = classesList.DefaultView;

            defaultView.ViewFields.Add(startDate);
            defaultView.ViewFields.Add(endDate);
            defaultView.Update();
            classesList.Update();
        }
        public void CreateListView(string viewName, string query, StringCollection collViewFields, uint rowLimit,
                                   bool paged, bool makeViewDefault, SPViewCollection.SPViewType viewType, bool personalView)
        {
            SPWeb website = null;

            try
            {
                website = GetWebSite();
                SPListCollection lists = website.Lists;
                SPList           list  = lists[ListName];

                list.Views.Add(viewName, collViewFields, query, rowLimit, paged, makeViewDefault, viewType, personalView);

                SPView view = list.Views[viewName];

                view.Update();
            }
            catch (Exception ex)
            {
                var log = new AppEventLog(AppException.ExceptionMessage(ex, "CreateListView", "ClsHelper"));
                log.WriteToLog();
            }
            finally
            {
                if (website != null)
                {
                    website.Dispose();
                }
            }
        }
Пример #7
0
        /// <summary>
        /// An item was added.
        /// </summary>
        public override void ItemAdded(SPItemEventProperties properties)
        {
            Thread.Sleep(60000);

            base.EventFiringEnabled = false;
            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                using (SPSite site = new SPSite(properties.WebUrl))
                {
                    using (SPWeb web = site.OpenWeb())
                    {
                        SPList oList          = properties.Web.Lists["ReviewDocs"];
                        string itemId         = properties.ListItem["ID"].ToString();
                        SPListItem sourceItem = oList.GetItemById(Convert.ToInt32(itemId));


                        SPView oView  = oList.Views["Delete"];
                        SPQuery query = new SPQuery(oView);
                        SPListItemCollection listItemsCollection = oList.GetItems(query);

                        for (int i = listItemsCollection.Count - 1; i >= 0; i--)
                        {
                            SPListItem file = listItemsCollection[i];
                            file.File.Delete();
                        }
                    }
                }
            });

            base.EventFiringEnabled = true;
        }
Пример #8
0
 public static void AddXsltViewWebPart(SPWeb web, SPList list, string pageUrl, string webPartName, string zoneID,
                                       int zoneIndex, bool isHidden, string viewTitle)
 {
     using (SPLimitedWebPartManager webPartManager = web.GetLimitedWebPartManager(
                pageUrl, System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared))
     {
         bool isExists = false;
         foreach (System.Web.UI.WebControls.WebParts.WebPart wp in webPartManager.WebParts)
         {
             if (wp.Title.Equals(webPartName))
             {
                 isExists = true;
                 break;
             }
             else
             {
                 isExists = false;
             }
         }
         if (!isExists)
         {
             XsltListViewWebPart webPart = new XsltListViewWebPart();
             webPart.ListId     = list.ID;
             webPart.Title      = webPartName;
             webPart.ChromeType = System.Web.UI.WebControls.WebParts.PartChromeType.TitleAndBorder;
             SPView view = list.Views[viewTitle];
             webPart.ViewGuid      = view.ID.ToString();
             webPart.XmlDefinition = view.GetViewXml();
             webPartManager.AddWebPart(webPart, zoneID, zoneIndex);
         }
     }
 }
        public static SPView UpdateDefaultView(this SPList list, string ViewName, List <string> SortedViewFields)
        {
            try
            {
                SPView view = null;
                SPSecurity.RunWithElevatedPrivileges(delegate()
                {
                    list.ParentWeb.AllowUnsafeUpdates = true;

                    // get the view instance by view display name
                    view = list.Views[ViewName];

                    //Delete all existing fields
                    view.ViewFields.DeleteAll();

                    // add fields to the view
                    foreach (var field in SortedViewFields)
                    {
                        view.ViewFields.Add(field);
                    }

                    // update view for new fields
                    view.Update();
                    list.Update();
                });
                return(view);
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                return(null);
            }
        }
Пример #10
0
        /// <summary>
        /// Adds the given <see cref="Microsoft.SharePoint.SPView"/> object to the cache
        /// </summary>
        /// <param name="view">View object.</param>
        /// <returns>An <see cref="Microsoft.SharePoint.SPView"/> object in cache. Returned object is not necessary the same instance as the given one.</returns>
        /// <exception cref="System.ArgumentNullException">Throws when input parameter <paramref name="view"/> is null.</exception>
        public SPView AddView(SPView view)
        {
            CommonHelper.ConfirmNotNull(view, "view");
            SPViewLookupKey lookupKey = new SPViewLookupKey(view);

            return(GetOrAdd(lookupKey, view));
        }
Пример #11
0
        public ArtDevList CreateListView(string Name, bool gridMode)
        {
            SPView view = this.list.Views.Cast <SPView>().FirstOrDefault(c => c.Title.Equals(Name));

            if (view == null)
            {
                StringCollection viewFields = new StringCollection();
                sPFields.ForEach((SPField field) =>
                {
                    viewFields.Add(field.InternalName);
                });
                string strQuery = "";
                this.list.Views.Add(Name, viewFields, strQuery, 30, true, false, gridMode ? SPViewCollection.SPViewType.Grid : SPViewCollection.SPViewType.Html, false);
            }
            else
            {
                view.ViewFields.DeleteAll();
                sPFields.ForEach((SPField field) =>
                {
                    view.ViewFields.Add(field.InternalName);
                });
                view.Update();
            }
            this.list.Update();
            return(this);
        }
        public List <NotificationListItem> GetActiveNotificationMessages()
        {
            List <NotificationListItem> results = new List <NotificationListItem>();

            SPList list = null;
            SPView view = null;

            try
            {
                list = web.Lists.TryGetList(Constants.SystemNotificationList.Name);
                view = list.Views["Active Notifications"];

                if (list != null)
                {
                    foreach (SPListItem item in list.GetItems(view))
                    {
                        results.Add(new NotificationListItem(item));
                    }
                }
            }
            catch (Exception ex)
            {
                RepositoryException repoEx = new RepositoryException(ex.Message, ex);
                repoEx.DataContextUrl = this.webUrl;
                repoEx.GeneratedCAML  = (view == null) ? String.Empty : view.Query;
                throw repoEx;
            }
            return(results);
        }
Пример #13
0
        /// <summary>
        /// Attemps to return the list view at the specified url.
        /// </summary>
        /// <param name="listUrl"></param>
        /// <param name="view"></param>
        /// <returns></returns>
        public static bool TryGetSPView(string listUrl, out SPView view)
        {
            Uri listUri;

            if (TryCreateWebAbsoluteUri(listUrl, out listUri) == false)
            {
                view = null;
                return(false);
            }

            try
            {
                using (var site = new SPSite(listUri.ToString(), SPBaristaContext.Current.Site.UserToken))
                {
                    using (var web = site.OpenWeb())
                    {
                        view = web.GetViewFromUrl(listUri.ToString());
                        return(true);
                    }
                }
            }
            catch { /* Do Nothing... */ }

            view = null;
            return(false);
        }
Пример #14
0
        public static string GetViewProperty(this SPView view, string name)
        {
            var methodInfo = typeof(SPView).GetMethod("GetAttributeValue", BindingFlags.NonPublic | BindingFlags.Instance);
            var attrValue  = methodInfo.Invoke(view, new object[] { name });

            return(attrValue == null ? string.Empty : attrValue.ToString());
        }
 static void Main(string[] args)
 {
     using (SPSite site = new SPSite("http://sharepointserve"))
     {
         using (SPWeb web = site.OpenWeb())
         {
             SPList           books  = web.Lists["Books"];
             StringCollection fields = new StringCollection();
             fields.Add("Title");
             fields.Add("Publisher");
             fields.Add("Author");
             var query = new XElement("Where",
                                      new XElement("Eq",
                                                   new XElement("FieldRef", new XAttribute("Name", "Publisher")),
                                                   new XElement("Value", new XAttribute("Type", "CHOICE"), "Apress")
                                                   )
                                      ).ToString(SaveOptions.DisableFormatting);
             SPView view = books.Views.Add("ApressBooks",
                                           fields,
                                           query,
                                           100,
                                           false,
                                           false,
                                           Microsoft.SharePoint.SPViewCollection.SPViewType.Html,
                                           false
                                           );
         }
     }
 }
Пример #16
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);



            if (!string.IsNullOrEmpty(ViewId))
            {
                try
                {
                    var guid = new Guid(ViewId);
                    _view = List.Views[guid];
                }
                catch (ArgumentOutOfRangeException)
                {
                }
                catch (FormatException)
                {
                }
            }

            if (_view == null)
            {
                _view = List.DefaultView;
            }

            Debug.WriteLine(string.Format("-> SPListView OnInit {0}", _view.ID.ToString("B").ToUpper()));
        }
Пример #17
0
        /// <summary>
        /// The grid/gant web part and list web part are added by default. This will remove the grid and hide the list web part.
        /// </summary>
        /// <param name="view">The view to do the updates on.</param>
        private static void HideListWebPartAndRemoveOtherWebParts(SPView view)
        {
            var web              = SPContext.Current.Web;
            var webPartManager   = web.GetLimitedWebPartManager(view.Url, PersonalizationScope.Shared);
            var listViewWebPart  = webPartManager.GetWebPartByTypeName("XsltListViewWebPart");
            var webPartsToDelete = new List <WebPart>();

            foreach (WebPart webPart in webPartManager.WebParts)
            {
                if (!webPart.Equals(listViewWebPart))
                {
                    webPartsToDelete.Add(webPart);
                }
            }

            foreach (var webPartToDelete in webPartsToDelete)
            {
                webPartManager.DeleteWebPart(webPartToDelete);
            }

            if (listViewWebPart == null)
            {
                return;
            }

            listViewWebPart.Hidden = true;
            webPartManager.SaveChanges(listViewWebPart);
        }
Пример #18
0
        public SPView Create(SPList list)
        {
            SPView view = list.GetView(Name);
            IEnumerable <SPField> viewFields = GetViewFields(list);

            if (view == null)
            {
                StringCollection strViewFields = new StringCollection();
                strViewFields.AddRange(viewFields.Select(vf => vf.InternalName).ToArray());
                view = list.Views.Add(Name, strViewFields, Query, RowLimit, Paged, IsDefault, ViewType, IsPersonal);
            }
            else
            {
                view.ViewFields.DeleteAll();

                foreach (SPField viewField in viewFields)
                {
                    view.ViewFields.Add(viewField);
                }

                view.Hidden      = Hidden;
                view.Scope       = Scope;
                view.Query       = Query;
                view.RowLimit    = RowLimit;
                view.Paged       = Paged;
                view.DefaultView = IsDefault;
                view.Update();
            }

            return(view);
        }
Пример #19
0
        public override WebPart CreateWebPart(SPWeb web, Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager webPartManager)
        {
            SPList list = GetList(web, ListUrl, ListName);

            if (list == null)
            {
                return(null);
            }

            Microsoft.SharePoint.WebPartPages.ListViewWebPart webPart = new Microsoft.SharePoint.WebPartPages.ListViewWebPart();
            webPart.ListId = list.ID;
            webPart.Title  = Title;
            webPart.WebId  = list.ParentWeb.ID;


            //webPart.ChromeType = System.Web.UI.WebControls.WebParts.PartChromeType.TitleAndBorder;
            SPView view = GetView(list, ViewName);

            webPart.ViewGuid    = view.ID.ToString();
            webPart.ListViewXml = view.GetViewXml();

            webPart.ExportMode = WebPartExportMode.All;
            base.UpdateProperties(webPart);
            return(webPart);
        }
Пример #20
0
        private void AddColumn()
        {
            using (SPSite eleSite = new SPSite(Web.Url))
            {
                eleSite.AllowUnsafeUpdates = true;
                using (SPWeb eleWeb = eleSite.OpenWeb())
                {
                    eleWeb.AllowUnsafeUpdates = true;
                    SPList list = eleWeb.Lists["Resources"];

                    string  id      = list.Fields.Add("UserHasPermission", SPFieldType.Boolean, false);
                    SPField spfield = (SPField)list.Fields.GetField(id);

                    spfield.Hidden = true;

                    spfield.Update();
                    SPView view = list.DefaultView;
                    view.ViewFields.Add("UserHasPermission");

                    view.Update();
                    eleWeb.AllowUnsafeUpdates = false;
                }
                eleSite.AllowUnsafeUpdates = false;
            }
        }
Пример #21
0
        void CreateAssignmentView(AssignmentProperties properties)
        {
            StringCollection fields = new StringCollection();

            fields.Add(DropBoxList.Fields[SPBuiltInFieldId.DocIcon].InternalName);
            fields.Add(DropBoxList.Fields[SPBuiltInFieldId.LinkFilename].InternalName);
            fields.Add(DropBox.ColumnLearner);
            fields.Add(DropBoxList.Fields[SPBuiltInFieldId.Modified].InternalName);
            fields.Add(DropBox.ColumnIsLatest);

            string query = "<GroupBy Collapse=\"TRUE\" GroupLimit=\"100\"><FieldRef Name=\"{0}\" /></GroupBy><Where><Eq><FieldRef Name=\"{1}\" /><Value Type=\"Text\">{2}</Value></Eq></Where>";

            query = string.Format(CultureInfo.InvariantCulture, query, DropBox.ColumnLearner, DropBox.ColumnAssignmentId, properties.Id.GetKey());
            SPView view = DropBoxList.Views.Add(AssignmentViewName(properties), fields, query, 100, true, false, SPViewCollection.SPViewType.Html, false);

            view.Update();
            DropBoxList.Update();

            // Seem to need to re-get the view to set scope and group header.
            SPView view2 = DropBoxList.Views[view.ID];

            view2.Scope = SPViewScope.Recursive;
            DropBoxCreator.RemoveFieldNameFromGroupHeader(view2);
            view2.Update();
            DropBoxList.Update();
        }
Пример #22
0
        public static void CopyAllViewsToList(this SPList source, SPList destinationList)
        {
            //Copy View
            try
            {
                List <Guid> ids = destinationList.Views.Cast <SPView>().Select(p => p.ID).ToList();
                foreach (var id in ids)
                {
                    destinationList.Views.Delete(id);
                }

                foreach (SPView view in source.Views)
                {
                    SPView existView = destinationList.Views.Cast <SPView>()
                                       .Where(p => p.Title == view.Title)
                                       .FirstOrDefault();

                    if (existView != null)
                    {
                        continue;
                    }

                    destinationList.Views.Add(view.Title, view.ViewFields.ToStringCollection(), view.Query, view.RowLimit, view.Paged, view.DefaultView);
                }
                destinationList.Update();
            }
            catch (Exception ex)
            {
                Utility.LogError(ex.Message, "AIA.Intranet.Common");
            }
        }
Пример #23
0
        public static void UploadListItem()
        {
            using (SPSite spSite = new SPSite("http://leumtstspapp1/sites/staff/HR/"))
            {
                SPWeb      spWeb    = spSite.OpenWeb();
                SPList     spList   = spWeb.Lists["testWf"];
                SPListItem spItm    = spList.Items[0];
                string[]   arrApp   = new string[] { "*****@*****.**" };
                SPView     listView = spList.Views["MAT_ADOBE_SIGN_VIEW"];
                if (listView == null)
                {
                    throw new ApplicationException("The list does not contain the view by name  MAT_ADOBE_SIGN_VIEW");
                }

                SPViewFieldCollection viewfieldCollection = listView.ViewFields;
                StringBuilder         buff = new StringBuilder(16);
                buff.Append("Column Name : Column Value");
                foreach (string viewFieldName in viewfieldCollection)
                {
                    var val = spItm[viewFieldName];
                    buff.Append(string.Format("{0}:{1}", viewFieldName, val));
                    buff.Append(Environment.NewLine);
                    buff.Append(Environment.NewLine);
                }
                string miscInfo = "WEbUrl=" + spWeb.Url + "&listTitle=" + spList.Title + "&ItemId=" + spItm.ID;
                // now send it to signature
                AdobeOperations.SendDocumentByBytesForSigninig(Encoding.ASCII.GetBytes(buff.ToString()), null, spItm["ID"].ToString(), arrApp, null, miscInfo);
            }
        }
Пример #24
0
        /// <summary>
        /// Ensures that the Logs list with the specified name is created.
        /// </summary>
        /// <param name="web"></param>
        /// <param name="listName"></param>
        /// <returns></returns>
        private static SPList EnsureLogList(SPWeb web, string listName)
        {
            SPList list = null;

            try
            {
                list = web.Lists[listName];
            }
            catch
            {
                //  Create list
                Guid listGuid = web.Lists.Add(listName, listName, SPListTemplateType.GenericList);
                list = web.Lists[listGuid];
                list.OnQuickLaunch = true;

                //  Add the fields to the list
                //  No need to add "Title" since it's already added by default. We use it to set the event name
                list.Fields.Add("Event", SPFieldType.Text, true);
                list.Fields.Add("Before", SPFieldType.Boolean, true);
                list.Fields.Add("Date", SPFieldType.DateTime, true);
                list.Fields.Add("Details", SPFieldType.Note, false);

                //  Specify what fields to view
                SPView view = list.DefaultView;
                view.ViewFields.Add("Event");
                view.ViewFields.Add("Before");
                view.ViewFields.Add("Date");
                view.ViewFields.Add("Details");
                view.Update();

                list.Update();
            }

            return(list);
        }
Пример #25
0
        private string SelectFromProperties(SPView currentView)
        {
            try
            {
                Guid currentViewId = currentView.ID;
                Guid currentListId = currentView.ParentList.ID;

                StringBuilder propertyValue = new StringBuilder();
                propertyValue.Append(Definitions.prefix + Definitions.separator);
                propertyValue.Append(currentListId + Definitions.separator);
                propertyValue.Append(currentViewId);

                //SPGuys_ListId_ViewId
                string propertyToSite = propertyValue.ToString();

                if (currentSite.RootWeb.AllProperties.ContainsKey(propertyToSite))
                {
                    return(currentSite.RootWeb.AllProperties[propertyToSite].ToString());
                }
                else
                {
                    return(String.Empty);
                }
            }
            catch (Exception ex)
            {
                errorText.Text = "Error on Load View:<br />" + ex.Message;
                return(String.Empty);
            }
        }
Пример #26
0
 public void createList()
 {
     try
     {
         using (SPSite site = new SPSite(ConfigurationManager.AppSettings["siteUrl"]))
         {
             using (SPWeb web = site.OpenWeb())
             {
                 SPListCollection lists = web.Lists;
                 // create new Generic list called "My List"
                 lists.Add(ConfigurationManager.AppSettings["listName"], "Task responses", SPListTemplateType.GenericList);
                 SPList newList = web.Lists["Incoming Mail List"];
                 // create Text type new column called "My Column"
                 newList.Fields.Add("Body", SPFieldType.Text, true);
                 newList.Fields.Add("Sender", SPFieldType.Text, true);
                 // make new column visible in default view
                 SPView view = newList.DefaultView;
                 view.ViewFields.Add("Body");
                 view.ViewFields.Add("Sender");
                 view.Update();
             }
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #27
0
        public override void AddView(string viewName, IEnumerable <string> viewFields, string strQuery, uint rowLimit, bool paged, bool makeDefault)
        {
            var strColl = new StringCollection();

            strColl.AddRange(viewFields.ToArray());
            SPView view = _spList.Views.Add(viewName, strColl, strQuery, rowLimit, paged, makeDefault);
        }
Пример #28
0
        protected void btnViewAvailability_Click(object sender, EventArgs e)
        {
            SPLimitedWebPartManager webPartManager = null;

            try
            {
                SPList list = null;
                SPView view = null;

                // get WebPartManager to identify current List/View
                SPWeb web = SPContext.Current.Web;
                webPartManager = SPContext.Current.File.GetLimitedWebPartManager(PersonalizationScope.Shared);
                foreach (System.Web.UI.WebControls.WebParts.WebPart wp in webPartManager.WebParts)
                {
                    XsltListViewWebPart xlvwp = wp as XsltListViewWebPart;
                    if (xlvwp != null)
                    {
                        list = web.Lists[xlvwp.ListId];
                        view = xlvwp.View;
                        break;
                    }
                }

                // get list data by Filters
                FieldFilterOperatorsLayer fol = new FieldFilterOperatorsLayer(this.FilterConditions);
                CamlFiltersLayer          fl  = new CamlFiltersLayer(list, this.FilterQuery, fol);
                string myQuery = fl.GetQueryByFilters();
                SPListItemCollection navigator = list.GetItems(new SPQuery()
                {
                    Query = myQuery, ViewFields = "<FieldRef Name=\"ID\" />", RowLimit = view.RowLimit
                });

                // get filter IDs
                string filteredIDs = string.Empty;
                if (navigator != null && navigator.Count > 0)
                {
                    filteredIDs = String.Join(",", navigator.Cast <SPListItem>().Select(x => x.ID.ToString()).ToArray());
                }

                string redigUrl = string.Format("{0}/{1}?FilteredIDs={2}&OrigSchiftId={3}{4}{5}",
                                                web.ServerRelativeUrl.TrimEnd('/'), this.RedirectUrl.TrimStart('/'),
                                                filteredIDs, this.Page.Request.QueryString["SchiftId"],
                                                string.IsNullOrEmpty(this.CalendarPeriod) ? "" : string.Format("&CalendarPeriod={0}", this.CalendarPeriod),
                                                FormatedCalendarDate);
                SPUtility.Redirect(redigUrl, SPRedirectFlags.Default, this.Context);
            }
            catch (Exception ex)
            {
                lblError.Text    = ex.Message;
                lblError.Visible = true;
            }
            finally
            {
                if (webPartManager != null)
                {
                    webPartManager.Web.Dispose();
                }
            }
        }
Пример #29
0
        /// <summary>
        /// 如果活动列表不存在,自动创建
        /// </summary>
        private SPList CreateActivityList(Guid siteID, Guid webID, string lstTitle, string desc, string lookupListTitle)
        {
            SPList retList = null;

            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                using (SPWeb oWebsite = new SPSite(siteID).AllWebs[webID])
                {
                    oWebsite.AllowUnsafeUpdates = true;
                    try
                    {
                        oWebsite.Lists.Add(lstTitle, desc, SPListTemplateType.GenericList);

                        SPList list = oWebsite.Lists[lstTitle];

                        SPField myField = list.Fields.GetFieldByInternalName("Title");
                        myField.Title   = "活动名称";
                        myField.Update();

                        list.Fields.Add("活动类型", SPFieldType.Text, false);
                        list.Fields.Add("活动地点", SPFieldType.Text, false);
                        list.Fields.Add("活动对象", SPFieldType.Text, false);
                        list.Fields.Add("开始时间", SPFieldType.DateTime, false);
                        list.Fields.Add("持续时长", SPFieldType.Integer, false);
                        list.Fields.Add("执行者", SPFieldType.User, false);
                        list.Fields.Add("活动描述", SPFieldType.Text, false);
                        list.Fields.Add("作品地址", SPFieldType.Text, false);

                        string fieldName  = "计划ID";                                       //新增的Lookup类型字段的名字
                        SPList lookupList = oWebsite.Lists[lookupListTitle];              //设置这个Lookup类型字段要从哪个List中去取值
                        Guid lookupGuid   = new Guid(lookupList.ID.ToString());           // 取得这个Lookup数据源List的Guid
                        list.Fields.AddLookup(fieldName, lookupGuid, false);              //把上面取得的参数引入到AddLookup方法中,从而创建一个Lookup字段
                        SPFieldLookup splookup = list.Fields[fieldName] as SPFieldLookup; //绑定数据List到Lookup字段
                        splookup.LookupField   = "Title";
                        splookup.Update();

                        SPView defaultView = list.Views[0];

                        defaultView.ViewFields.Add(list.Fields["活动地点"]);
                        defaultView.ViewFields.Add(list.Fields["活动类型"]);
                        defaultView.ViewFields.Add(list.Fields["活动对象"]);
                        defaultView.ViewFields.Add(list.Fields["开始时间"]);
                        defaultView.ViewFields.Add(list.Fields["持续时长"]);
                        defaultView.ViewFields.Add(list.Fields["执行者"]);
                        defaultView.ViewFields.Add(list.Fields["活动描述"]);
                        defaultView.ViewFields.Add(list.Fields["作品地址"]);
                        defaultView.ViewFields.Add(list.Fields["计划ID"]);
                        defaultView.Update();
                        list.Update();
                        retList = list;
                    }
                    catch
                    {
                    }
                    oWebsite.AllowUnsafeUpdates = false;
                }
            });
            return(retList);
        }
Пример #30
0
        protected override void UpdateDefaultView()
        {
            SPView view = List.DefaultView;

            view.ViewFields.Add(TitleField);
            view.ViewFields.Add(DescriptionField);
            view.Update();
        }
Пример #31
0
        public ViewNode(SPView view)
        {
            this.Tag = view;
            this.SPParent = view.ParentList;

            int index = Program.Window.Explorer.AddImage(this.ImageUrl());
            this.ImageIndex = index;
            this.SelectedImageIndex = index;

            this.Setup();

            //this.Nodes.Add(new ExplorerNodeBase("Dummy"));
        }
Пример #32
0
        public void SetToolbarType(SPView spView, string toolBarType)
        {
            spView.GetType().InvokeMember("EnsureFullBlownXmlDocument",
             BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod,
             null, spView, null, System.Globalization.CultureInfo.CurrentCulture);
            PropertyInfo nodeProp = spView.GetType().GetProperty("Node",
            BindingFlags.NonPublic | BindingFlags.Instance);
            XmlNode node = nodeProp.GetValue(spView, null) as XmlNode;

            XmlNode toolbarNode = node.SelectSingleNode("Toolbar");
            if (toolbarNode != null)
            {
                toolbarNode.Attributes["Type"].Value = toolBarType;
            }
        }
Пример #33
0
        //
        // This method is invoked when the application has loaded and is ready to run. In this
        // method you should instantiate the window, load the UI into it and then make the window
        // visible.
        //
        // You have 17 seconds to return from this method, or iOS will terminate your application.
        //
        public override bool FinishedLaunching(UIApplication app, NSDictionary options)
        {
            Console.WriteLine("finished loading");

            RectangleF frame = UIScreen.MainScreen.Bounds;

            // create a new window instance based on the screen size
            window = new UIWindow(frame);

            //SPAudioEngine.StartWithCategory(Sparrow.SPAudioSessionCategory.AmbientSound);
            SPStage.SupportHighResolutions = true; // use @2x textures on suitable hardware
            SPStage.DoubleResolutionsOnPad = true; // use @2x on iPad 1+2, @4x on iPad 3

            // create sparrow view
            sparrowView = new SPView(frame);
            sparrowView.MultipleTouchEnabled = true;
            sparrowView.FrameRate = 30;

            // create a root view controller
            rootViewController = new UIViewController();
            rootViewController.View = sparrowView;

            // set root view controller
            window.RootViewController = rootViewController;

            // create a stage
            SPStage stage = new SPStage(frame.Size.Width, frame.Size.Height);
            stage.Color = 0x2000a0;
            sparrowView.Stage = stage;

            // create and add our hello world text field to the stage
            SPTextField text = new SPTextField(frame.Size.Width, 50.0f, "Hello World!", "Helvetica", 30.0f, SPColor.White);
            text.Y = (frame.Size.Height - 50.0f) / 2.0f; // vertical center
            stage.Add(text);

            // make the window visible
            window.MakeKeyAndVisible();

            return true;
        }
Пример #34
0
        public void Constructors()
        {
            bool draw1 = false;
            bool draw2 = false;
            SPView view = new SPView(UIScreen.MainScreen.Bounds);

            SPTexture t1 = new SPTexture(200.0f, 100.0f, delegate(CGContext context) {
                // draw a string
                context.SetFillColor(1.0f, 1.0f);
                string text = "Hello Core Graphics";
                // You need a UIView instance to properly draw a string with MonoTouch
                view.DrawString(text, new PointF(20.0f, 20.0f),
                                                UIFont.FromName("Arial", 25.0f));
                draw1 = true;
            });

            SPTexture t2 = new SPTexture(200.0f, 100.0f, 2.0f, SPColorSpace.RGBA, delegate(CGContext context) {
                // draw a string
                context.SetFillColor(1.0f, 1.0f);
                string text = "Hello Core Graphics";
                // You need a UIView instance to properly draw a string with MonoTouch
                view.DrawString(text, new PointF(20.0f, 20.0f),
                                                UIFont.FromName("Arial", 25.0f));
                draw2 = true;
            });

            SPTexture t3 = new SPTexture("Media/logo.png");
            SPTexture t4 = new SPTexture(UIImage.FromBundle("Media/logo.png"));
            SPTexture t5 = new SPTexture(new SPRectangle(10.0f, 10.0f, 300.0f, 90.0f), t4);
            SPTexture t6 = SPTexture.EmptyTexture();

            Assert.True(t1.Handle != IntPtr.Zero);
            Assert.True(t2.Handle != IntPtr.Zero);
            Assert.True(t3.Handle != IntPtr.Zero);
            Assert.True(t4.Handle != IntPtr.Zero);
            Assert.True(t5.Handle != IntPtr.Zero);
            Assert.True(t6.Handle != IntPtr.Zero);
            Assert.True(draw1);
            Assert.True(draw2);
        }
Пример #35
0
 public static void AssignJsLinkToListViews(SPWeb web, SPView view, string jsLink)
 {
     SPLimitedWebPartManager limitedWebPartManager = null;
     XsltListViewWebPart providerWP = null;
     try {
         limitedWebPartManager = web.GetLimitedWebPartManager(view.Url, PersonalizationScope.Shared);
         providerWP = (from Microsoft.SharePoint.WebPartPages.WebPart webPart in limitedWebPartManager.WebParts where webPart is XsltListViewWebPart select webPart).First() as XsltListViewWebPart;
         providerWP.JSLink = jsLink;
         limitedWebPartManager.SaveChanges(providerWP);
         logger.Trace("jsLink "+ jsLink +" for" + view.Title + " assigned successfully");
     }
     catch (Exception ex) {
         logger.Error("jsLink " + jsLink + " not assigned! With error: ", ex.Message);
     }
     finally {
         if (limitedWebPartManager != null) {
             if (limitedWebPartManager.Web != null) {
                 limitedWebPartManager.Web.Dispose();
             }
             limitedWebPartManager.Dispose();
         }
         providerWP.Dispose();
     }
 }
Пример #36
0
 internal static string getJSLinkFromView(SPWeb web, SPView view)
 {
     SPLimitedWebPartManager limitedWebPartManager = null;
     XsltListViewWebPart providerWP = null;
     try {
         limitedWebPartManager = web.GetLimitedWebPartManager(view.Url, PersonalizationScope.Shared);
         providerWP = (from Microsoft.SharePoint.WebPartPages.WebPart webPart in limitedWebPartManager.WebParts where webPart is XsltListViewWebPart select webPart).First() as XsltListViewWebPart;
         logger.Trace("jsLink for" + view.Title + " got");
         return providerWP.JSLink;
     }
     catch (Exception ex) {
         logger.Error("jsLink " + view.Title + " not got! With error: ", ex.Message);
         return "";
     }
     finally {
         if (limitedWebPartManager != null) {
             if (limitedWebPartManager.Web != null) {
                 limitedWebPartManager.Web.Dispose();
             }
             limitedWebPartManager.Dispose();
         }
         providerWP.Dispose();
     }
 }
Пример #37
0
 public SPView CopyView(SPView view, SPList list)
 {
     System.Collections.Specialized.StringCollection viewFields = view.ViewFields.ToStringCollection();
     return list.Views.Add(view.Title+" Copy", viewFields, view.Query, view.RowLimit, view.Paged, false);
 }
Пример #38
0
 public void ModifyView(SPView view, IEnumerable<string> ViewFields, string query)
 {
     SharePointUtilities.ModifyView(view, ViewFields, query);
 }
        public static void ModifyView(SPView view, IEnumerable<string> ViewFields, string query)
        {
            // Validation
            view.RequireNotNull("view");

            ViewFields.RequireNotNull("ViewFields");
            ViewFields.RequireNotEmpty("ViewFields");
            query.RequireNotNullOrEmpty("query");

            view.Query = query;

            view.ViewFields.DeleteAll();
            foreach (string fieldName in ViewFields)
            {
                view.ViewFields.Add(fieldName);
            }
            view.Update();
        }
 public static void GenerateColumns(this SPGridView gridView, SPView view)
 {
     GenerateColumns(gridView, view.ParentList, view.ViewFields.Cast<string>());
 }
 private void SettingOverlayCalendar(SPView targetView)
 {
     XmlDocument xml = new XmlDocument();
     XmlElement aggregationElement = null;
     if (string.IsNullOrEmpty(targetView.CalendarSettings))
     {
         xml.AppendChild(xml.CreateElement("AggregationCalendars"));
         aggregationElement = xml.CreateElement("AggregationCalendar");
         xml.DocumentElement.AppendChild(aggregationElement);
     }
     else
     {
         xml.LoadXml(targetView.CalendarSettings);
     }
 }
Пример #42
0
 public SPFilter(SPView view)
 {
     this.QueryOnView = view;
     this.QueryOnList = view.ParentList;
 }
        /// <summary>
        /// Retrieves a SPList from its name
        /// </summary>
        private void GetListAndView()
        {
            // We open the SPList
            Guid siteID = SPContext.Current.Site.ID;
            Guid webID = SPContext.Current.Web.ID;
            using (SPSite site = new SPSite(siteID))
            {
                using (SPWeb web = site.OpenWeb(webID))
                {
                    // We get the list from its name
                    try
                    {
                        _list = web.Lists[_listName];
                    }
                    catch
                    {
                        throw (new Exception("The list name your provided does not exist or cannot be found"));
                    }

                    // We get the view from its name or get the default one
                    if (_viewName != String.Empty)
                    {
                        try
                        {
                            _view = _list.Views[_viewName];
                        }
                        catch
                        {
                            throw (new Exception("The view name your provided does not exist or cannot be found"));
                        }
                    }
                    else
                    {
                        _view = _list.DefaultView;
                    }
                }
            }
        }
Пример #44
0
        /// <summary>
        /// ���ڣ֣�����ҳ���޷�ȡ����ʵ������
        /// </summary>
        /// <param name="view"></param>
        /// <returns></returns>
        SPView GetRealView(SPView view)
        {
            //return this.GetCurrentSPWeb().GetViewFromUrl(view.Url);

            SPSite site = new SPSite(SPContext.Current.Site.ID);
            SPWeb web = site.OpenWeb(this.GetCurrentSPWeb().ID);
            SPView v = web.GetViewFromUrl(view.Url);
            web.Dispose();
            site.Dispose();
            return v;
        }
Пример #45
0
        public static AspWebPart.WebPart MakeXsltListViewBindingToView(this AspWebPart.WebPart webpart, SPView view)
        {
            var xsltListViewWebPart = webpart as XsltListViewWebPart;

            if (xsltListViewWebPart != null)
            {
                // TODO
                // it is impossible to change view with public methods while it has been already set
                // reflection has to be utilized for the future

                xsltListViewWebPart.WebId = view.ParentList.ParentWeb.ID;
                xsltListViewWebPart.ListName = view.ParentList.ID.ToString("B");
                xsltListViewWebPart.ViewGuid = view.ID.ToString("B");
            }

            return webpart;
        }
Пример #46
0
        private void MapProperties(SPList targetList, SPView currentView, ListViewDefinition listViewModel)
        {
            // if any fields specified, overwrite
            if (listViewModel.Fields.Any())
            {
                currentView.ViewFields.DeleteAll();

                foreach (var viewField in listViewModel.Fields)
                    currentView.ViewFields.Add(viewField);
            }

            if (!string.IsNullOrEmpty(listViewModel.ViewData))
                currentView.ViewData = listViewModel.ViewData;

            if (!string.IsNullOrEmpty(listViewModel.Scope))
            {
                var scopeValue = ListViewScopeTypesConvertService.NormilizeValueToSSOMType(listViewModel.Scope);

                currentView.Scope = (SPViewScope)Enum.Parse(
                    typeof(SPViewScope), scopeValue);
            }

            currentView.Hidden = listViewModel.Hidden;
            currentView.Title = listViewModel.Title;
            currentView.RowLimit = (uint)listViewModel.RowLimit;
            currentView.DefaultView = listViewModel.IsDefault;
            currentView.Paged = listViewModel.IsPaged;

#if !NET35
            if (!string.IsNullOrEmpty(listViewModel.JSLink))
                currentView.JSLink = listViewModel.JSLink;
#endif

            if (!string.IsNullOrEmpty(listViewModel.Query))
                currentView.Query = listViewModel.Query;

            if (listViewModel.DefaultViewForContentType.HasValue)
                currentView.DefaultViewForContentType = listViewModel.DefaultViewForContentType.Value;

            if (!string.IsNullOrEmpty(listViewModel.ContentTypeName))
                currentView.ContentTypeId = LookupListContentTypeByName(targetList, listViewModel.ContentTypeName);

            if (!string.IsNullOrEmpty(listViewModel.ContentTypeId))
                currentView.ContentTypeId = LookupListContentTypeById(targetList, listViewModel.ContentTypeId);

            if (listViewModel.ViewStyleId.HasValue)
            {
                var viewStyle = targetList.ParentWeb.ViewStyles.StyleByID(listViewModel.ViewStyleId.Value);
                currentView.ApplyStyle(viewStyle);
            }
        }
Пример #47
0
 protected void EnsureField(SPList list, string fieldName, SPFieldType fieldType, SPView view)
 {
     if (!list.Fields.ContainsField(fieldName))
     {
         string filedName = list.Fields.Add(fieldName, fieldType, false);
         view.ViewFields.Add(filedName);
     }
 }
Пример #48
0
        protected virtual void ProcessLocalization(SPView obj, ListViewDefinition definition)
        {

            if (definition.TitleResource.Any())
            {
#if !NET35
                foreach (var locValue in definition.TitleResource)
                    LocalizationService.ProcessUserResource(obj, obj.TitleResource, locValue);
#endif
            }

        }
Пример #49
0
 public virtual void UpdateView(SPView view)
 {
     view.Update();
 }
Пример #50
0
        private void MapProperties(SPList targetList, SPView currentView, ListViewDefinition listViewModel)
        {
            // if any fields specified, overwrite
            if (listViewModel.Fields.Any())
            {
                currentView.ViewFields.DeleteAll();

                foreach (var viewField in listViewModel.Fields)
                    currentView.ViewFields.Add(viewField);
            }

            if (!string.IsNullOrEmpty(listViewModel.ViewData))
                currentView.ViewData = listViewModel.ViewData;

            if (!string.IsNullOrEmpty(listViewModel.Scope))
            {
                var scopeValue = ListViewScopeTypesConvertService.NormilizeValueToSSOMType(listViewModel.Scope);

                currentView.Scope = (SPViewScope)Enum.Parse(
                    typeof(SPViewScope), scopeValue);
            }

            // There is no value in setting Aggregations if AggregationsStatus is not to "On"
            if (!string.IsNullOrEmpty(listViewModel.AggregationsStatus) && listViewModel.AggregationsStatus == "On")
            {
                currentView.AggregationsStatus = listViewModel.AggregationsStatus;

                if (!string.IsNullOrEmpty(listViewModel.Aggregations))
                    currentView.Aggregations = listViewModel.Aggregations;
            }

            currentView.Hidden = listViewModel.Hidden;
            if (listViewModel.InlineEdit.HasValue)
            {
                currentView.InlineEdit = listViewModel.InlineEdit.Value.ToString(CultureInfo.InvariantCulture);
            }

            currentView.Title = listViewModel.Title;

            currentView.RowLimit = (uint)listViewModel.RowLimit;
            currentView.DefaultView = listViewModel.IsDefault;
            currentView.Paged = listViewModel.IsPaged;

            #if !NET35
            if (!string.IsNullOrEmpty(listViewModel.JSLink))
                currentView.JSLink = listViewModel.JSLink;
            #endif

            if (!string.IsNullOrEmpty(listViewModel.Query))
                currentView.Query = listViewModel.Query;

            if (listViewModel.DefaultViewForContentType.HasValue)
                currentView.DefaultViewForContentType = listViewModel.DefaultViewForContentType.Value;

            if (!string.IsNullOrEmpty(listViewModel.ContentTypeName))
                currentView.ContentTypeId = LookupListContentTypeByName(targetList, listViewModel.ContentTypeName);

            if (!string.IsNullOrEmpty(listViewModel.ContentTypeId))
                currentView.ContentTypeId = LookupListContentTypeById(targetList, listViewModel.ContentTypeId);

            if (listViewModel.ViewStyleId.HasValue)
            {
                var viewStyle = targetList.ParentWeb.ViewStyles.StyleByID(listViewModel.ViewStyleId.Value);
                currentView.ApplyStyle(viewStyle);
            }

            if (listViewModel.TabularView.HasValue)
            {
                currentView.TabularView = listViewModel.TabularView.Value;
            }
        }
Пример #51
0
		private void PopulateListOfItems(SPDocumentLibrary lib, SPFolder folder, SPView view, ref List<Item> items)
		{
			SPList list = lib.Lists[folder.ParentListId];
			SPQuery query = new SPQuery(view);
			query.Folder = folder;
			SPListItemCollection listItems = list.GetItems(query);

			PopulateListOfItems(listItems, ref items);
		}