Exemple #1
0
        public static string GetCamlString(EUCamlFilters filters)
        {
            StringBuilder camlStringBuilder = new StringBuilder();

            for (int i = 0; i < filters.Count; i = i + 2)
            {
                string camlString1 = filters[i].GetCamlString();
                string combinationFilterTypeString = filters.GetCombinationFilterTypeString();

                if (filters.Count > i + 1)
                {
                    string camlString2 = filters[i + 1].GetCamlString();
                    camlStringBuilder.Append("<" + combinationFilterTypeString + ">");
                    camlStringBuilder.Append(camlString1);
                    camlStringBuilder.Append(camlString2);
                    camlStringBuilder.Append("</" + combinationFilterTypeString + ">");
                }
                else
                {
                    camlStringBuilder.Append(camlString1);
                }
                if (i > 1)
                {
                    camlStringBuilder.Insert(0, "<" + combinationFilterTypeString + ">");
                    camlStringBuilder.Append("</" + combinationFilterTypeString + ">");
                }
            }
            return(camlStringBuilder.ToString());
        }
 public void SelectFolder(ISPCFolder folder)
 {
     if (folder == null || folder.ContainsItems == false)
     {
         return;
     }
     SelectedFolder = folder;
     CustomFilters  = new EUCamlFilters();
     LoadViews(folder);
 }
 private void BindGrid(EUCamlFilters filters)
 {
     ListFiltersDataGridView.Rows.Clear();
     foreach (EUCamlFilter filter in CustomFilters)
     {
         int index = ListFiltersDataGridView.Rows.Add();
         ListFiltersDataGridView.Rows[index].Tag = filter;
         ListFiltersDataGridView.Rows[index].Cells["FieldNameColumn"].Value   = filter.FieldName;
         ListFiltersDataGridView.Rows[index].Cells["FieldTypeColumn"].Value   = filter.FieldType;
         ListFiltersDataGridView.Rows[index].Cells["FilterTypeColumn"].Value  = filter.FilterType;
         ListFiltersDataGridView.Rows[index].Cells["FilterValueColumn"].Value = filter.FilterValue;
     }
 }
        private void SaveFilterButton_Click(object sender, EventArgs e)
        {
            string            fieldName     = ((EUField)FieldsComboBox.SelectedItem).Name;
            EUCamlFilterTypes operationType = (EUCamlFilterTypes)OperationComboBox.SelectedItem;
            string            value         = FilterValueTextBox.Text;

            if (OrGroup == null)
            {
                OrGroup = new EUCamlFilters();
                CurrentAlert.OrGroups.Add(OrGroup);
            }
            OrGroup.Add(new EUCamlFilter(fieldName, EUFieldTypes.Text, operationType, false, value));
            this.DialogResult = DialogResult.OK;
        }
 public void Initialize(string _webUrl, string _listName, string _listID, EUCamlFilters orGroup, EUAlert _alert, List <EUField> fields)
 {
     webUrl       = _webUrl;
     listName     = _listName;
     listID       = _listID;
     CurrentAlert = _alert;
     OrGroup      = orGroup;
     FieldsComboBox.Items.Clear();
     foreach (EUField field in fields)
     {
         FieldsComboBox.Items.Add(field);
     }
     FieldsComboBox.SelectedIndex = 0;
     FieldsComboBox.Focus();
 }
        private void button2_Click(object sender, EventArgs e)
        {
            if (FiltersTreeView.SelectedNode == null)
            {
                MessageBox.Show("Please select a group/filter.");
                return;
            }
            EUCamlFilters orGroup = FiltersTreeView.SelectedNode.Tag as EUCamlFilters;

            if (orGroup == null)
            {
                orGroup = FiltersTreeView.SelectedNode.Parent.Tag as EUCamlFilters;
            }
            AlertFilterEditForm alertFilterEditForm = new AlertFilterEditForm();

            alertFilterEditForm.Initialize(webUrl, listName, listID, orGroup, CurrentAlert, Fields);
            alertFilterEditForm.ShowDialog();
            FillFilters();
        }
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            EUFolder folder = SelectedFolder as EUFolder;

            if (folder == null)
            {
                return;
            }
            EUFieldCollection fields          = SharePointManager.GetFields(folder.SiteSetting, folder.WebUrl, folder.ListName);
            ListFiltersForm   listFiltersForm = new ListFiltersForm();

            listFiltersForm.InitializeForm(fields, CustomFilters);
            listFiltersForm.ShowDialog();

            if (listFiltersForm.DialogResult == DialogResult.OK)
            {
                CustomFilters = listFiltersForm.CustomFilters;
                RefreshViewExt();
            }
        }
        public static EUAlert NodeToSobiensAlert(XmlNode node)
        {
            EUAlert alert = new EUAlert();

            alert.AlertFrequency   = node.Attributes["AlertFrequency"].Value;
            alert.AlertType        = node.Attributes["AlertType"].Value;
            alert.AlertTime        = node.Attributes["AlertTime"].Value;
            alert.AlwaysNotify     = node.Attributes["AlwaysNotify"].Value;
            alert.DynamicRecipient = node.Attributes["DynamicRecipient"].Value;
            alert.EventType        = node.Attributes["EventType"].Value;
            alert.EventTypeBitmask = node.Attributes["EventTypeBitmask"].Value;
            //alert.Filter = node.Attributes["Filter"].Value;
            alert.ID       = node.Attributes["ID"].Value;
            alert.ItemID   = node.Attributes["ItemID"].Value;
            alert.ListID   = node.Attributes["ListID"].Value;
            alert.ListName = node.Attributes["ListName"].Value;
            alert.ListUrl  = node.Attributes["ListUrl"].Value;
            alert.Status   = node.Attributes["Status"].Value;
            alert.Title    = node.Attributes["Title"].Value;
            alert.UserId   = node.Attributes["UserId"].Value;
            if (node["FilterXml"].ChildNodes.Count > 0)
            {
                XmlNode filterNode = node["FilterXml"].ChildNodes[0];
                foreach (XmlNode orNode in filterNode.ChildNodes)
                {
                    EUCamlFilters orGroup = new EUCamlFilters();
                    foreach (XmlNode andNode in orNode.ChildNodes)
                    {
                        var fieldName                = andNode["FieldName"].InnerText;
                        var operationType            = andNode["FilterType"].InnerText;
                        EUCamlFilterTypes filterType = (EUCamlFilterTypes)int.Parse(operationType);
                        var          value           = andNode["FilterValue"].InnerText;
                        EUCamlFilter filter          = new EUCamlFilter(fieldName, EUFieldTypes.Text, filterType, false, value);
                        orGroup.Add(filter);
                    }
                    alert.OrGroups.Add(orGroup);
                }
            }
            return(alert);
        }
 public void InitializeForm(EUFieldCollection fields, EUCamlFilters filters)
 {
     Fields = fields;
     foreach (EUField field in Fields)
     {
         if (field.Type == EUFieldTypes.Choice ||
             field.Type == EUFieldTypes.Lookup ||
             field.Type == EUFieldTypes.Number ||
             field.Type == EUFieldTypes.Text)
         {
             FieldsComboBox.Items.Add(field);
         }
     }
     if (FieldsComboBox.Items.Count > 0)
     {
         FieldsComboBox.SelectedIndex = 0;
     }
     if (filters != null)
     {
         CustomFilters = filters.Clone();
     }
     BindGrid(CustomFilters);
 }
 public List <ISPCItem> GetListItems(ISPCFolder folder, ISPCView view, string sortField, bool isAsc, int currentPageIndex, string currentListItemCollectionPositionNext, EUCamlFilters filters, out string listItemCollectionPositionNext, out int itemCount)
 {
     throw new Exception("Not implemented");
 }
        public List <ISPCItem> GetViewItems(ISPCView view, string sortField, bool isAsc, int pageIndex, EUCamlFilters filters, out string listItemCollectionPositionNext, out int itemCount)
        {
            string            currentListItemCollectionPositionNext = ListItemCollectionPositionNexts[(pageIndex).ToString()];
            IOutlookConnector connector = OutlookConnector.GetConnector(view.SiteSetting);

            return(connector.GetListItems(SelectedFolder, view, sortField, isAsc, CurrentPageIndex, currentListItemCollectionPositionNext, filters, out listItemCollectionPositionNext, out itemCount));
        }
Exemple #12
0
        public List <ISPCItem> GetListItems(ISPCFolder folder, ISPCView view, string sortField, bool isAsc, int currentPageIndex, string currentListItemCollectionPositionNext, EUCamlFilters filters, out string listItemCollectionPositionNext, out int itemCount)
        {
            EUFolder _folder = folder as EUFolder;

            return(SharePointManager.GetListItems(folder.SiteSetting, (EUView)view, sortField, isAsc, _folder.IsDocumentLibrary, _folder.WebUrl, _folder.ListName, _folder.FolderPath, currentListItemCollectionPositionNext, filters, out listItemCollectionPositionNext, out itemCount));
        }
        public List <ISPCItem> GetListItems(ISPCFolder folder, ISPCView view, string sortField, bool isAsc, int currentPageIndex, string currentListItemCollectionPositionNext, EUCamlFilters filters, out string listItemCollectionPositionNext, out int itemCount)
        {
            listItemCollectionPositionNext = String.Empty;
            itemCount = 0;
            GFolder _folder = folder as GFolder;

            return(GMailManager.GetInstance().GetItems(folder.SiteSetting, folder));
        }
        public List <ISPCItem> GetListItems(ISPCFolder folder, ISPCView view, string sortField, bool isAsc, int currentPageIndex, string currentListItemCollectionPositionNext, EUCamlFilters filters, out string listItemCollectionPositionNext, out int itemCount)
        {
            FSFolder _folder = (FSFolder)folder;

            listItemCollectionPositionNext = String.Empty;
            itemCount = Directory.GetFiles(_folder.Path).Count();
            List <ISPCItem> items = new List <ISPCItem>();

            foreach (string filePath in Directory.GetFiles(_folder.Path))
            {
                FileInfo fileInfo = new FileInfo(filePath);
                FSItem   item     = new FSItem(folder.SiteSetting, filePath, fileInfo.Name, filePath);
                items.Add(item);
            }
            return(items);
        }