示例#1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SiteCreationEngine"/> class.
 /// </summary>
 public SiteCreationEngine(SPList list)
 {
     _list       = list;
     _category   = list.ID.ToString("B");
     _properties = new SPSKeyValueList();
     GetDataFromConfigurationManager();
 }
        /// <summary>
        /// Reads the data base.
        /// </summary>
        /// <param name="filterValues">The filter values.</param>
        public void ReadDataBase(SPSKeyValueList filterValues)
        {
            // Read
            if (DataBaseOperation == ActionDataBaseOperation.Read)
            {
                Debug.WriteLine("** READ_DATABASE **");

                // Try read
                _actionDataBase.InitializeDataSet();

                if (_actionDataBase.SelectRecord(filterValues, false) == 0)
                {
                    // Record not found
                    FormMode = ActionEditorFormMode.Blank;
                }
                else
                {
                    // Record found
                    if (FormMode == ActionEditorFormMode.Blank)
                    {
                        FormMode = ActionEditorFormMode.View;
                    }
                }
            }

            // Retain filter values
            FilterValues = filterValues;

            // If skip-read put read
            if (DataBaseOperation == ActionDataBaseOperation.NextTimeRead)
            {
                DataBaseOperation = ActionDataBaseOperation.Read;
            }
        }
示例#3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SPSXsltExtension"/> class.
 /// </summary>
 /// <param name="control">The control.</param>
 /// <param name="page">The page.</param>
 /// <param name="keyValues">The key values.</param>
 public SPSXsltExtension(Control control, Page page, SPSKeyValueList keyValues)
 {
     _control   = control;
     _page      = page;
     _keyValues = keyValues;
     Initialize();
 }
示例#4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SPSXsltExtension"/> class.
        /// </summary>
        /// <param name="control">The control.</param>
        /// <param name="page">The page.</param>
        /// <param name="keyValues">The key values.</param>
        public SPSXsltExtension(Control control, Page page, SPSKeyValueList keyValues)
        {
            if (control is ISPSViewCommandParameters)
            {
                _control = control;
            }
            else
            {
                foreach (Control subControl in control.Controls)
                {
                    if (subControl is ISPSViewCommandParameters)
                    {
                        _control = subControl;
                        break;
                    }
                }
                if (_control == null)
                {
                    throw new ArgumentException("Almost one ISPSViewCommandParameters is required", "control");
                }
            }

            _page      = page;
            _keyValues = keyValues;
            Initialize();
        }
示例#5
0
        /// <summary>
        /// Tries the get last added record.
        /// </summary>
        /// <param name="fieldValues">The field values.</param>
        /// <param name="filterValues">The filter values.</param>
        private void TryGetLastAddedRecord(IDictionary <string, string> fieldValues, SPSKeyValueList filterValues)
        {
            try
            {
                // Try to get identity
                SqlCommand command = new SqlCommand("SELECT @@IDENTITY", _connection);
                _adapter = new SqlDataAdapter(command);
                string key = command.ExecuteScalar().ToString();

                // If there is a key
                if (!string.IsNullOrEmpty(key))
                {
                    // Replace the key in the current filter
                    filterValues.ReplaceValue(_config.DataBase.Table.IdentityColumnCollection[0].Name, key);
                }
                else
                {
                    // Set the new filter vales
                    SetNewFilterValues(fieldValues, filterValues);
                }

                // Select the added record using the new filter
                if (filterValues != null)
                {
                    SelectRecord(filterValues, false);
                }
            }
            catch (SqlException ex)
            {
                DumpException("TryGetLastAddedRecord", ex);
            }
        }
示例#6
0
        public void Transform()
        {
            SPSKeyValueList list = new SPSKeyValueList();

            list.Add("key0", "value0");
            list.Add("key1", "value1");
            list.Add("key2", "value2");

            Mock <Page>    mockPage    = MockManager.MockObject <Page>(Constructor.Mocked);
            Mock <Control> mockControl = MockManager.MockObject <Control>(Constructor.Mocked);

            mockControl.MockedInstance.ID = "TestID";

            Mock <SPSXsltControl> xsltMockControl = MockManager.MockObject <SPSXsltControl>(Constructor.Mocked);

            xsltMockControl.ExpectGet("Page", mockPage.MockedInstance);
            xsltMockControl.ExpectGet("Parent", mockControl.MockedInstance);

            SPSXsltControl xsltControl = xsltMockControl.MockedInstance;

            Assert.IsNotNull(xsltControl);
            xsltControl.XmlData = TestData.GetResource("TestData.xml");
            xsltControl.Xsl     = TestData.GetResource("Test.xslt");
            StringWriter transform = xsltControl.Transform();
            string       output    = transform.ToString();

            Debug.WriteLine(output);

            Assert.IsTrue(output.Contains("TEST"));
            Assert.IsTrue(output.Contains("1"));
            Assert.IsTrue(output.Contains("2"));

            MockManager.Verify();
        }
        ///// <summary>
        ///// Handle the postback from form, get values from form fields
        ///// </summary>
        ///// <param name="postCollection">The post collection.</param>
        //private void HandlePostData(NameValueCollection postCollection)
        //{
        //    return;
        //    // Dictionary to store field values
        //    _fieldValues = new SPSKeyValueList();

        //    // Get field values from postCollection
        //    foreach (Field field in _config.Fields)
        //    {
        //        try
        //        {
        //            string value = GetPostDataValues(field, postCollection);

        //            Debug.WriteLine(string.Format("Load Field [{0,-20}] -> [{1}]", field.Name, value));

        //            _fieldValues.Add(field.Name, value);
        //        }
        //        catch (Exception ex) // ArgumentOutOfRangeException
        //        {
        //            SendError(ex);
        //        }
        //    }
        //}

        ///// <summary>
        ///// Gets the form value for an espcified field.
        ///// </summary>
        ///// <param name="field">The field.</param>
        ///// <param name="postCollection">The post collection.</param>
        ///// <returns>The post data value of field</returns>
        //private string GetPostDataValues(Field field, NameValueCollection postCollection)
        //{
        //    string value;
        //    string baseId = UniqueID + IdSeparator + "ctl01$c" + field.Name;

        //    //Debug.WriteLine(baseId);

        //    switch (field.Control)
        //    {
        //        case ActionEditorControlsType.Lookup:
        //            if (field.Lookup.ControlEditor == ActionEditorLookupControl.PickerDataBase)
        //            {
        //                value = postCollection[baseId + IdSeparator + "hiddenSpanData"];
        //            }
        //            else
        //            {
        //                value = postCollection[baseId];
        //            }
        //            break;
        //        case ActionEditorControlsType.Date:
        //            value = postCollection[baseId + IdSeparator + "c" + field.Name + "Date"];
        //            break;
        //        case ActionEditorControlsType.DateTime:
        //            value = postCollection[baseId + IdSeparator + "c" + field.Name + "Date"] + " " +
        //                    postCollection[baseId + IdSeparator + "c" + field.Name + "DateHours"] +
        //                    postCollection[baseId + IdSeparator + "c" + field.Name + "DateMinutes"];
        //            break;
        //        case ActionEditorControlsType.Memo:
        //            if (field.Memo.RichText == "No" || field.Memo.RichText == "false")
        //            {
        //                value = postCollection[baseId];
        //            }
        //            else
        //            {
        //                value = postCollection[baseId + "_spSave"];
        //            }
        //            break;
        //        default:
        //            value = postCollection[baseId];
        //            break;
        //    }

        //    return value;
        //}

        public void SetFilterValues(SPSKeyValueList filterValues)
        {
            if (filterValues != null)
            {
                _filterValues = filterValues;
                //FilterValues = filterValues;
            }
        }
示例#8
0
        public void Add()
        {
            SPSKeyValueList keyValues = new SPSKeyValueList();

            keyValues.Add("Key", "Value");
            Assert.IsTrue(keyValues.Count == 1);
            Assert.IsTrue(keyValues[0].Key == "Key");
            Assert.IsTrue(keyValues[0].Value == "Value");
        }
示例#9
0
        public void Index()
        {
            SPSKeyValueList keyValues = new SPSKeyValueList();

            keyValues.Add(new SPSKeyValuePair("Key", "Value"));
            keyValues.Add(new SPSKeyValuePair("Key1", "Value1"));

            Assert.IsTrue(keyValues["Key"] == "Value");
            Assert.IsTrue(keyValues["Key1"] == "Value1");
        }
示例#10
0
        public void Contains()
        {
            SPSKeyValueList keyValues = new SPSKeyValueList();

            keyValues.Add(new SPSKeyValuePair("Key", "Value"));
            keyValues.Add(new SPSKeyValuePair("Key", "Value"));

            Assert.IsTrue(keyValues.Contains("Key"));
            Assert.IsFalse(keyValues.Contains("OtherKey"));
        }
        protected override void OnPreRender(EventArgs e)
        {
            Debug.WriteLine("RollUp: OnPreRender " + Title);

            // Crawl
            InternalCrawl(false);

            // Save last filter
            LastFilter = _camlPreprocessor.VariablesValues;
        }
示例#12
0
        public ActionEditorTest()
        {
            Debug.WriteLine("TEST Contructor");
            _parameterValues = new SPSKeyValueList();

            SPSInit("DD434B08-2854-4f29-81A7-44FC86E56886",
                    "ActionDataBase.1.0",
                    "WebParts ActionDataBase",
                    "http://www.spsprofessional.com");
            EditorParts.Add(new ActionEditorTestEditorPart());
        }
示例#13
0
        public void ReplaceAllValues()
        {
            SPSKeyValueList keyValues = new SPSKeyValueList();

            keyValues.Add(new SPSKeyValuePair("Key", "Value"));
            keyValues.Add(new SPSKeyValuePair("Key", "Value"));

            keyValues.ReplaceAllValues("Key", "NewValue");

            Assert.IsTrue(keyValues[0].Value == "NewValue");
            Assert.IsTrue(keyValues[1].Value == "NewValue");
        }
示例#14
0
        /// <summary>
        /// Creates the record.
        /// </summary>
        /// <param name="fieldValues">The field values.</param>
        /// <param name="filterValues">The filter values.</param>
        /// <returns>New record identity</returns>
        internal int CreateRecord(IDictionary <string, string> fieldValues, SPSKeyValueList filterValues)
        {
            Debug.WriteLine("CreateRecord");

            int createdRows = 0;

            try
            {
                InitializeDataSet();
                PrepareSchema();

                _adapter.MissingSchemaAction = MissingSchemaAction.Ignore;
                _builder = new SqlCommandBuilder(_adapter)
                {
                    ConflictOption = ConflictOption.OverwriteChanges
                };

                SqlCommand command = new SqlCommand(_builder.GetInsertCommand(true).CommandText,
                                                    _connection);

                Debug.WriteLine(command.CommandText);

                AddDataParameters(command, fieldValues);

                _connection.Open();
                createdRows = command.ExecuteNonQuery();


                if (createdRows > 0)
                {
                    // Try to get the last added record
                    TryGetLastAddedRecord(fieldValues, filterValues);
                }
            }
            catch (Exception ex)
            {
                if (OnError != null)
                {
                    OnError(this, new SPSErrorArgs(SPSSubSystemName, "Error creating new record.", ex));
                }

                DumpException("CreateRecord", ex);
            }
            finally
            {
                _connection.Close();
            }

            Debug.WriteLine("CreateRecord End");
            return(createdRows);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="CamlPreprocessor"/> class.
        /// </summary>
        /// <param name="camlQuery">The caml query.</param>
        public CamlPreprocessor(string camlQuery)
        {
            _regex = new Regex(CAMLVariableRegex,
                               RegexOptions.Multiline
                               | RegexOptions.IgnoreCase
                               | RegexOptions.CultureInvariant
                               | RegexOptions.IgnorePatternWhitespace
                               | RegexOptions.Compiled);

            _camlQuery         = camlQuery;
            _variableValues    = new SPSKeyValueList();
            _variableFunctions = new SPSKeyValueList();
            GetParameters();
        }
示例#16
0
        protected override void OnPreRender(EventArgs e)
        {
            Debug.WriteLine("RollUp: OnPreRender " + Title);

            // Crawl
            InternalCrawl(false);

            // Save last filter
            // LastFilter = _camlPreprocessor.VariablesValues;
            if (LastFilter == null)
            {
                LastFilter = new SPSKeyValueList();
            }
            _camlPreprocessor.CopyVariableValues(LastFilter);
        }
        public SPSXsltExtension_Test()
        {
            SPSKeyValueList list = new SPSKeyValueList();

            list.Add("key0", "value0");
            list.Add("key1", "value1");
            list.Add("key2", "value2");

            Mock <Page>    mockPage    = MockManager.MockObject <Page>(Constructor.Mocked);
            Mock <Control> mockControl = MockManager.MockObject <Control>(Constructor.Mocked);

            mockControl.MockedInstance.ID = "TestID";

            _extension = new SPSXsltExtension(mockControl.MockedInstance, mockPage.MockedInstance, list);
            MockManager.Verify();
        }
示例#18
0
        public void ReplaceValue()
        {
            SPSKeyValueList keyValues = new SPSKeyValueList();

            keyValues.Add(new SPSKeyValuePair("Key", "Value"));
            keyValues.Add(new SPSKeyValuePair("Key", "Value"));

            Assert.IsTrue(keyValues.Count == 2);

            keyValues.ReplaceValue("Key", "Value1");

            Assert.IsTrue(keyValues[0].Key == "Key");
            Assert.IsTrue(keyValues[0].Value == "Value1");
            Assert.IsTrue(keyValues[1].Key == "Key");
            Assert.IsTrue(keyValues[1].Value == "Value");
        }
        /// <summary>
        /// Gets the row data.
        /// </summary>
        /// <returns>Contains the schema if no data, otherwise data and schema</returns>
        public SPSKeyValueList GetDataValues()
        {
            SPSKeyValueList keyValues = new SPSKeyValueList();

            // Generate Data
            if (SelectedRow != null && HasResults)
            {
                DataRowView rowView = Data.Tables[0].DefaultView[SelectedRow.Value];
                foreach (DataColumn column in Data.Tables[0].Columns)
                {
                    keyValues.Add(column.ColumnName, rowView[column.ColumnName].ToString());
                }
                return(keyValues);
            }

            return(null);
        }
示例#20
0
        /// <summary>
        /// Gets the row data.
        /// </summary>
        /// <returns>Contains the schema if no data, otherwise data and schema</returns>
        public SPSKeyValueList GetRowValues(int?selectedRow)
        {
            SPSKeyValueList keyValues = new SPSKeyValueList();

            // Generate Data
            if (selectedRow != null && HasResults)
            {
                DataRowView rowView = _dataTable.DefaultView[selectedRow.Value];

                foreach (DataColumn column in _dataTable.Columns)
                {
                    keyValues.Add(column.ColumnName, rowView[column.ColumnName].ToString());
                }
            }

            return(keyValues);
        }
示例#21
0
        /// <summary>
        /// Updates the record.
        /// </summary>
        /// <param name="fieldValues">The field values.</param>
        /// <param name="filterValues">The filter values.</param>
        /// <returns>Rows affected</returns>
        internal int UpdateRecord(IDictionary <string, string> fieldValues, SPSKeyValueList filterValues)
        {
            Debug.WriteLine("UpdateRecord");

            int countRecords = 0;

            try
            {
                InitializeDataSet();
                SelectRecord(filterValues, true);

                _adapter.MissingSchemaAction = MissingSchemaAction.Ignore;
                _builder = new SqlCommandBuilder(_adapter)
                {
                    ConflictOption = ConflictOption.OverwriteChanges
                };

                SqlCommand command = new SqlCommand(_builder.GetUpdateCommand(true).CommandText,
                                                    _connection);

                Debug.WriteLine(command.CommandText);

                AddDataParameters(command, fieldValues);
                AddFilterParameters(command, filterValues, true);

                _connection.Open();
                countRecords = command.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                if (OnError != null)
                {
                    OnError(this, new SPSErrorArgs(SPSSubSystemName, "Error updating record.", ex));
                }

                DumpException("UpdateRecord", ex);
            }
            finally
            {
                _connection.Close();
            }

            Debug.WriteLine("UpdateRecord End");
            return(countRecords);
        }
示例#22
0
        public SPSXsltExtension_Test()
        {
            SPSKeyValueList list = new SPSKeyValueList();

            list.Add("key0", "value0");
            list.Add("key1", "value1");
            list.Add("key2", "value2");

            Mock <Page>           mockPage           = MockManager.MockObject <Page>(Constructor.Mocked);
            SPSXsltCommandControl xsltCommandControl = new SPSXsltCommandControl
            {
                ID = "TestID"
            };

            _extension = new SPSXsltExtension(xsltCommandControl, mockPage.MockedInstance, list);

            MockManager.Verify();
        }
示例#23
0
        /// <summary>
        /// Selects the record.
        /// </summary>
        /// <param name="filterValues">The filter values.</param>
        /// <param name="addError">if set to <c>true</c> add the error to error subsystem.</param>
        internal int SelectRecord(SPSKeyValueList filterValues, bool addError)
        {
            Debug.WriteLine("SelectRecord");
            int recordCount = 0;

            try
            {
                SqlCommand sqlCommand = new SqlCommand(PrepareSelectFields() +
                                                       PrepareSelectForFilter(),
                                                       _connection);

                AddFilterParameters(sqlCommand, filterValues, false);

                Debug.WriteLine(sqlCommand.CommandText);

                _adapter = new SqlDataAdapter(sqlCommand);

                // Read
                recordCount = _adapter.Fill(_dataSet, _tableName);

                // The current data
                if (recordCount > 0)
                {
                    _dataRow = _dataSet.Tables[0].Rows[0];
                }
            }
            catch (Exception ex)
            {
                if (OnError != null && addError)
                {
                    OnError(this, new SPSErrorArgs(SPSSubSystemName, "Error selecting record.", ex));
                }

                DumpException("SelectRecord", ex);
            }
            finally
            {
                _connection.Close();
            }

            Debug.WriteLine("SelectRecord End");
            return(recordCount);
        }
示例#24
0
        public void SerializeDeserialize()
        {
            SPSKeyValueList keyValuesBefore = new SPSKeyValueList();

            SPSKeyValuePair keyValue0 = new SPSKeyValuePair("KeyA", "Value1");
            SPSKeyValuePair keyValue1 = new SPSKeyValuePair("KeyB", "Value2");

            keyValuesBefore.Add(keyValue0);
            keyValuesBefore.Add(keyValue1);

            string serialized = SPSKeyValueList.Serialize(keyValuesBefore);

            SPSKeyValueList keyValuesAfter = SPSKeyValueList.Deserialize(serialized);

            Assert.IsTrue(keyValuesAfter.Count == keyValuesBefore.Count);

            Assert.IsTrue(keyValuesAfter.Count == keyValuesBefore.Count);

            Assert.IsTrue(keyValuesAfter.Contains("KeyA"));
            Assert.IsTrue(keyValuesAfter.Contains("KeyB"));

            Assert.IsTrue(keyValuesAfter[0].Value == "Value1");
            Assert.IsTrue(keyValuesAfter[1].Value == "Value2");
        }
 /// <summary>
 /// Initializes the variable values.
 /// </summary>
 /// <param name="keyValueList">The key value list.</param>
 public void InitializeVariableValues(SPSKeyValueList keyValueList)
 {
     ClearVariableValues();
     keyValueList.ForEach(pair => _variableValues.Add(pair));
 }
 /// <summary>
 /// Copies the variable values.
 /// </summary>
 /// <param name="keyValueList">The key value list.</param>
 public void CopyVariableValues(SPSKeyValueList keyValueList)
 {
     keyValueList.Clear();
     _variableValues.ForEach(pair => keyValueList.Add(pair));
 }
示例#27
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SiteCreationEngine"/> class.
 /// </summary>
 /// <param name="listId">The list id.</param>
 public SiteCreationEngine(Guid listId)
 {
     _category   = listId.ToString("B");
     _properties = new SPSKeyValueList();
     GetDataFromConfigurationManager();
 }
示例#28
0
        public void Constructor()
        {
            SPSKeyValueList keyValues = new SPSKeyValueList();

            Assert.IsTrue(keyValues.Count == 0);
        }