Esempio n. 1
0
        IEnumerable <string> BuildQueryFromTo(SharepointSearchTo sharepointSearchTo, IExecutionEnvironment env, ISharepointFieldTo sharepointFieldTo, int update)
        {
            var warewolfEvalResult = env.Eval(sharepointSearchTo.ValueToMatch, update);
            var fieldType          = sharepointFieldTo.GetFieldType();

            if (sharepointSearchTo.SearchType == "In")
            {
                var startSearchTerm = $"{SharepointSearchOptions.GetStartTagForSearchOption(sharepointSearchTo.SearchType)}<FieldRef Name=\"{sharepointSearchTo.InternalName}\"></FieldRef>";

                startSearchTerm += "<Values>";
                if (warewolfEvalResult.IsWarewolfAtomListresult)
                {
                    startSearchTerm = AddAtomListResult(sharepointFieldTo, warewolfEvalResult, fieldType, startSearchTerm);
                }
                else
                {
                    startSearchTerm = AddAtomResult(sharepointFieldTo, warewolfEvalResult, fieldType, startSearchTerm);
                }
                startSearchTerm += "</Values>";
                startSearchTerm += SharepointSearchOptions.GetEndTagForSearchOption(sharepointSearchTo.SearchType);
                yield return(startSearchTerm);
            }
            else
            {
                var iterator = new WarewolfIterator(warewolfEvalResult);
                while (iterator.HasMoreData())
                {
                    yield return($"{SharepointSearchOptions.GetStartTagForSearchOption(sharepointSearchTo.SearchType)}<FieldRef Name=\"{sharepointSearchTo.InternalName}\"></FieldRef><Value Type=\"{fieldType}\">{CastWarewolfValueToCorrectType(iterator.GetNextValue(), sharepointFieldTo.Type)}</Value>{SharepointSearchOptions.GetEndTagForSearchOption(sharepointSearchTo.SearchType)}");
                }
            }
        }
Esempio n. 2
0
        public static IDev2TOFn CreateNewDTO(IDev2TOFn dto, int index = 0, bool inserted = false, string initializeWith = "")
        {
            IDev2TOFn toReturn = null;

            TypeSwitch.Do(dto,
                          // ReSharper disable ImplicitlyCapturedClosure
                          TypeSwitch.Case <ActivityDTO>(x => toReturn = new ActivityDTO(initializeWith, "", index, inserted)),
                          // ReSharper restore ImplicitlyCapturedClosure
                          TypeSwitch.Case <DataSplitDTO>(x =>
            {
                var dataSplitDto = dto as DataSplitDTO;
                if (dataSplitDto != null)
                {
                    toReturn = new DataSplitDTO(initializeWith, dataSplitDto.SplitType, dataSplitDto.At, index, false, inserted);
                }
            }),
                          TypeSwitch.Case <DataMergeDTO>(x =>
            {
                var dataMergeDto = dto as DataMergeDTO;
                if (dataMergeDto != null)
                {
                    toReturn = new DataMergeDTO(initializeWith, dataMergeDto.MergeType, dataMergeDto.At, index, dataMergeDto.Padding, dataMergeDto.Alignment, inserted);
                }
            }),
                          TypeSwitch.Case <CaseConvertTO>(x =>
            {
                var caseConvertTO = dto as CaseConvertTO;
                if (caseConvertTO != null)
                {
                    toReturn = CaseConverterFactory.CreateCaseConverterTO(initializeWith, caseConvertTO.ConvertType, caseConvertTO.Result, index);
                }
            }),
                          TypeSwitch.Case <BaseConvertTO>(x =>
            {
                var baseConvertTO = dto as BaseConvertTO;
                if (baseConvertTO != null)
                {
                    toReturn = new BaseConvertTO(initializeWith, baseConvertTO.FromType, baseConvertTO.ToType, baseConvertTO.ToExpression, index, inserted);
                }
            }),
                          // ReSharper disable ImplicitlyCapturedClosure
                          TypeSwitch.Case <GatherSystemInformationTO>(x => toReturn =
                                                                          new GatherSystemInformationTO(enTypeOfSystemInformationToGather.FullDateTime,
                                                                                                        initializeWith, index, inserted)),
                          TypeSwitch.Case <XPathDTO>(x => toReturn              = new XPathDTO(initializeWith, "", index, inserted)),
                          TypeSwitch.Case <FindRecordsTO>(() => toReturn        = new FindRecordsTO("", "", index, inserted)),
                          TypeSwitch.Case <DecisionTO>(() => toReturn           = new DecisionTO(initializeWith, "", "", index, inserted)),
                          TypeSwitch.Case <JsonMappingTo>(() => toReturn        = new JsonMappingTo(initializeWith, index, inserted)),
                          TypeSwitch.Case <SharepointSearchTo>(() => toReturn   = new SharepointSearchTo(initializeWith, "=", "", index, inserted)),
                          TypeSwitch.Case <SharepointReadListTo>(() => toReturn = new SharepointReadListTo("", initializeWith, "", "")),
                          //REPLACE WITH SHAREPOINT DELETE ACTIVITY
                          //TypeSwitch.Case<SharepointReadListTo>(() => toReturn = new SharepointReadListTo("", initializeWith, "")),
                          TypeSwitch.Case <AssignObjectDTO>(x => toReturn = new AssignObjectDTO(initializeWith, "", index, inserted)),
                          TypeSwitch.Default(() => toReturn = null));

            return(toReturn);
        }
        IEnumerable <string> BuildQueryFromTo(SharepointSearchTo sharepointSearchTo, IExecutionEnvironment env, ISharepointFieldTo sharepointFieldTo, int update)
        {
            WarewolfIterator iterator = new WarewolfIterator(env.Eval(sharepointSearchTo.ValueToMatch, update));

            while (iterator.HasMoreData())
            {
                var fieldType = sharepointFieldTo.GetFieldType();
                yield return(string.Format("{0}<FieldRef Name=\"{1}\"></FieldRef><Value Type=\"{2}\">{3}</Value>{4}", SharepointSearchOptions.GetStartTagForSearchOption(sharepointSearchTo.SearchType), sharepointSearchTo.InternalName, fieldType, CastWarewolfValueToCorrectType(iterator.GetNextValue(), sharepointFieldTo.Type), SharepointSearchOptions.GetEndTagForSearchOption(sharepointSearchTo.SearchType)));
            }
        }
        public void SharepointSearchTo_GetRuleSet_OnValueToMatchNoValue_ReturnTwoRules()
        {
            //------------Setup for test--------------------------
            var searchTo = new SharepointSearchTo {
                SearchType = "Equals", ValueToMatch = string.Empty
            };

            VerifyCorrectRulesForEachField(searchTo, "ValueToMatch", new List <Type> {
                typeof(IsStringEmptyRule), typeof(IsValidExpressionRule)
            });
        }
        public void SharepointSearchTo_GetRuleSet_OnValueToMatchWithValue_ReturnOneRules()
        {
            //------------Setup for test--------------------------
            var searchTo = new SharepointSearchTo {
                SearchType = "Equals", ValueToMatch = "Bob"
            };

            VerifyCorrectRulesForEachField(searchTo, "ValueToMatch", new List <Type> {
                typeof(IsValidExpressionRule)
            });
        }
        public void SharepointSearchTo_GetRuleSet_OnFieldNameNoValue_ReturnTwoRules()
        {
            //------------Setup for test--------------------------
            var searchTo = new SharepointSearchTo {
                FieldName = string.Empty
            };

            VerifyCorrectRulesForEachField(searchTo, "FieldName", new List <Type> {
                typeof(IsStringEmptyRule)
            });
        }
        public void SharepointSearchTo_IsSearchCriteriaEnabled_SetValue_FiresNotifyPropertyChanged()
        {
            //------------Setup for test--------------------------
            var        searchTo = new SharepointSearchTo();
            const bool isSearchCriteriaEnabled = true;
            //------------Execute Test---------------------------
            var notifyPropertyChanged = TestUtils.PropertyChangedTester(searchTo, () => searchTo.IsSearchCriteriaEnabled, () => searchTo.IsSearchCriteriaEnabled = isSearchCriteriaEnabled);

            //------------Assert Results-------------------------
            Assert.AreEqual(isSearchCriteriaEnabled, searchTo.IsSearchCriteriaEnabled);
            Assert.IsTrue(notifyPropertyChanged);
        }
        public void SharepointSearchTo_IndexNum_SetValue_FiresNotifyPropertyChanged()
        {
            //------------Setup for test--------------------------
            var       searchTo = new SharepointSearchTo();
            const int indexNum = 5;
            //------------Execute Test---------------------------
            var notifyPropertyChanged = TestUtils.PropertyChangedTester(searchTo, () => searchTo.IndexNumber, () => searchTo.IndexNumber = indexNum);

            //------------Assert Results-------------------------
            Assert.AreEqual(indexNum, searchTo.IndexNumber);
            Assert.IsTrue(notifyPropertyChanged);
        }
        public void SharepointSearchTo_CanAdd_SearchTypeWithData_ReturnTrue()
        {
            //------------Setup for test--------------------------
            var searchTo = new SharepointSearchTo {
                SearchType = "Contains", FieldName = "Title"
            };
            //------------Execute Test---------------------------
            var canAdd = searchTo.CanAdd();

            //------------Assert Results-------------------------
            Assert.IsTrue(canAdd);
        }
Esempio n. 10
0
        public void SharepointSearchTo_CanRemove_FieldNameEmptyWithData_ReturnFalse()
        {
            //------------Setup for test--------------------------
            var searchTo = new SharepointSearchTo {
                FieldName = "Contains"
            };
            //------------Execute Test---------------------------
            var canRemove = searchTo.CanRemove();

            //------------Assert Results-------------------------
            Assert.IsFalse(canRemove);
        }
Esempio n. 11
0
        static void VerifyCorrectRulesForEachField(SharepointSearchTo searchTo, string fieldName, List <Type> ruleTypes)
        {
            //------------Execute Test---------------------------
            var rulesSet = searchTo.GetRuleSet(fieldName, "");

            //------------Assert Results-------------------------
            Assert.IsNotNull(rulesSet);
            Assert.AreEqual(ruleTypes.Count, rulesSet.Rules.Count);
            var returnedRuleTypes = rulesSet.Rules.Select(rule => rule.GetType());

            CollectionAssert.AreEqual(ruleTypes, returnedRuleTypes.ToList());
        }
Esempio n. 12
0
        public void SharepointSearchTo_CanAdd_FieldNameEmpty_ReturnFalse()
        {
            //------------Setup for test--------------------------
            var searchTo = new SharepointSearchTo {
                SearchType = "Equal", FieldName = string.Empty
            };
            //------------Execute Test---------------------------
            var canAdd = searchTo.CanAdd();

            //------------Assert Results-------------------------
            Assert.IsFalse(canAdd);
        }
Esempio n. 13
0
        public void SharepointSearchTo_CanRemove_FieldNameEmpty_ReturnTrue()
        {
            //------------Setup for test--------------------------
            var searchTo = new SharepointSearchTo {
                FieldName = string.Empty
            };
            //------------Execute Test---------------------------
            var canRemove = searchTo.CanRemove();

            //------------Assert Results-------------------------
            Assert.IsTrue(canRemove);
        }
Esempio n. 14
0
        public void SharepointSearchTo_SearchCriteria_SetValue_FiresNotifyPropertyChanged()
        {
            //------------Setup for test--------------------------
            var          searchTo       = new SharepointSearchTo();
            const string searchCriteria = "MyValue";
            //------------Execute Test---------------------------

            var notifyPropertyChanged = TestUtils.PropertyChangedTester(searchTo, () => searchTo.ValueToMatch, () => searchTo.ValueToMatch = searchCriteria);

            //------------Assert Results-------------------------
            Assert.AreEqual(searchCriteria, searchTo.ValueToMatch);
            Assert.IsTrue(notifyPropertyChanged);
        }
Esempio n. 15
0
        public static IDev2TOFn CreateNewDTO(IDev2TOFn dto, int index, bool inserted, string initializeWith)
        {
            IDev2TOFn toReturn = null;

            TypeSwitch.Do(dto,

                          TypeSwitch.Case <ActivityDTO>(x => toReturn = new ActivityDTO(initializeWith, "", index, inserted)),

                          TypeSwitch.Case <DataSplitDTO>(x =>
            {
                if (dto is DataSplitDTO dataSplitDto)
                {
                    toReturn = new DataSplitDTO(initializeWith, dataSplitDto.SplitType, dataSplitDto.At, index, false, inserted);
                }
            }),
                          TypeSwitch.Case <DataMergeDTO>(x =>
            {
                if (dto is DataMergeDTO dataMergeDto)
                {
                    toReturn = new DataMergeDTO(initializeWith, dataMergeDto.MergeType, dataMergeDto.At, index, dataMergeDto.Padding, dataMergeDto.Alignment, inserted);
                }
            }),
                          TypeSwitch.Case <CaseConvertTO>(x =>
            {
                if (dto is CaseConvertTO caseConvertTO)
                {
                    toReturn = CaseConverterFactory.CreateCaseConverterTO(initializeWith, caseConvertTO.ConvertType, caseConvertTO.Result, index);
                }
            }),
                          TypeSwitch.Case <BaseConvertTO>(x =>
            {
                if (dto is BaseConvertTO baseConvertTO)
                {
                    toReturn = new BaseConvertTO(initializeWith, baseConvertTO.FromType, baseConvertTO.ToType, baseConvertTO.ToExpression, index, inserted);
                }
            }),

                          TypeSwitch.Case <GatherSystemInformationTO>(x => toReturn =
                                                                          new GatherSystemInformationTO(enTypeOfSystemInformationToGather.FullDateTime,
                                                                                                        initializeWith, index, inserted)),
                          TypeSwitch.Case <XPathDTO>(x => toReturn              = new XPathDTO(initializeWith, "", index, inserted)),
                          TypeSwitch.Case <FindRecordsTO>(() => toReturn        = new FindRecordsTO("", "", index, inserted)),
                          TypeSwitch.Case <DecisionTO>(() => toReturn           = new DecisionTO(initializeWith, "", "", index, inserted)),
                          TypeSwitch.Case <JsonMappingTo>(() => toReturn        = new JsonMappingTo(initializeWith, index, inserted)),
                          TypeSwitch.Case <SharepointSearchTo>(() => toReturn   = new SharepointSearchTo(initializeWith, "=", "", index, inserted)),
                          TypeSwitch.Case <SharepointReadListTo>(() => toReturn = new SharepointReadListTo("", initializeWith, "", "")),
                          TypeSwitch.Case <AssignObjectDTO>(x => toReturn       = new AssignObjectDTO(initializeWith, "", index, inserted)),
                          TypeSwitch.Default(() => toReturn = null));

            return(toReturn);
        }
        public void Equals_EmptyTos_IsEqual()
        {
            //---------------Set up test pack-------------------
            var listTo  = new SharepointSearchTo();
            var listTo1 = new SharepointSearchTo();

            //---------------Assert Precondition----------------
            Assert.IsNotNull(listTo);
            //---------------Execute Test ----------------------
            var @equals = listTo.Equals(listTo1);

            //---------------Test Result -----------------------
            Assert.IsTrue(@equals);
        }
Esempio n. 17
0
        public void SharepointSearchTo_SearchType_SetValue_FiresNotifyPropertyChanged()
        {
            //------------Setup for test--------------------------
            var          searchTo   = new SharepointSearchTo();
            const string searchType = "MyValue";
            //------------Execute Test---------------------------
            // ReSharper disable ImplicitlyCapturedClosure
            var notifyPropertyChanged = TestUtils.PropertyChangedTester(searchTo, () => searchTo.SearchType, () => searchTo.SearchType = searchType);

            // ReSharper restore ImplicitlyCapturedClosure
            //------------Assert Results-------------------------
            Assert.AreEqual(searchType, searchTo.SearchType);
            Assert.IsTrue(notifyPropertyChanged);
        }
Esempio n. 18
0
        public void SharepointSearchTo_Constructor_Default_SetsProperties()
        {
            //------------Setup for test--------------------------
            //------------Execute Test---------------------------
            var searchTo = new SharepointSearchTo();

            //------------Assert Results-------------------------
            Assert.IsNotNull(searchTo);
            Assert.AreEqual("Field Name", searchTo.FieldName);
            Assert.AreEqual("", searchTo.ValueToMatch);
            Assert.AreEqual("Equal", searchTo.SearchType);
            Assert.AreEqual(0, searchTo.IndexNumber);
            Assert.IsFalse(searchTo.Inserted);
            Assert.IsFalse(searchTo.IsSearchCriteriaEnabled);
        }
        public void SavedSource_DifferentType_Is_NotEqual()
        {
            //---------------Set up test pack-------------------
            var sharePointServiceSourceDefinition = new SharePointServiceSourceDefinition
            {
                Id     = Guid.NewGuid(),
                Server = "A"
            };
            object differentObject = new SharepointSearchTo
            {
                InternalName = Guid.NewGuid().ToString(),
                FieldName    = "A"
            };

            //---------------Assert Precondition----------------
            Assert.IsFalse(sharePointServiceSourceDefinition.Equals(differentObject), "Equals operator can't compare to differently typed object.");
        }
        public void Equals_DiffentFieldNames_Object_Is_Not_IsEqua()
        {
            //---------------Set up test pack-------------------
            var listTo = new SharepointSearchTo {
                FieldName = "a"
            };
            var listTo1 = new SharepointSearchTo {
                FieldName = "A"
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(listTo);
            //---------------Execute Test ----------------------
            var @equals = listTo.Equals(listTo1);

            //---------------Test Result -----------------------
            Assert.IsFalse(@equals);
        }
        public void Equals_DiffentValueToMatch_Object_Is_Not_Equal_CaseSensitive()
        {
            //---------------Set up test pack-------------------
            var listTo = new SharepointSearchTo {
                FieldName = "A", ValueToMatch = "sss"
            };
            var listTo1 = new SharepointSearchTo {
                FieldName = "A", ValueToMatch = "dfdf"
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(listTo);
            //---------------Execute Test ----------------------
            var @equals = listTo.Equals(listTo1);

            //---------------Test Result -----------------------
            Assert.IsFalse(@equals);
        }
Esempio n. 22
0
        public void SharepointSearchTo_ParameterConstructor_SetsProperties()
        {
            //------------Setup for test--------------------------
            const string searchCriteria = "Bob";
            const string searchType     = ">";
            const int    indexNum       = 3;
            const string fieldName      = "Title";
            //------------Execute Test---------------------------
            var searchTo = new SharepointSearchTo(fieldName, searchType, searchCriteria, indexNum);

            //------------Assert Results-------------------------
            Assert.IsNotNull(searchTo);
            Assert.AreEqual(fieldName, searchTo.FieldName);
            Assert.AreEqual(searchCriteria, searchTo.ValueToMatch);
            Assert.AreEqual(searchType, searchTo.SearchType);
            Assert.AreEqual(indexNum, searchTo.IndexNumber);
            Assert.IsFalse(searchTo.Inserted);
            Assert.IsFalse(searchTo.IsSearchCriteriaEnabled);
        }
        public void Inserted_Different_Object_Is_Not_Equal()
        {
            //---------------Set up test pack-------------------
            var listTo = new SharepointSearchTo {
                FieldName = "A",
            };
            var listTo1 = new SharepointSearchTo {
                FieldName = "A",
            };

            //---------------Assert Precondition----------------
            Assert.IsTrue(listTo.Equals(listTo1));
            //---------------Execute Test ----------------------
            listTo.Inserted  = true;
            listTo1.Inserted = false;
            var @equals = listTo.Equals(listTo1);

            //---------------Test Result -----------------------
            Assert.IsFalse(@equals);
        }
        public void Equals_ValueToMatch__Object_Is_IsEqual()
        {
            //---------------Set up test pack-------------------
            var listTo = new SharepointSearchTo()
            {
                FieldName = "a", ValueToMatch = "A"
            };
            var listTo1 = new SharepointSearchTo()
            {
                FieldName = "a", ValueToMatch = "A"
            };;

            //---------------Assert Precondition----------------
            Assert.IsNotNull(listTo);
            //---------------Execute Test ----------------------
            var @equals = listTo.Equals(listTo1);

            //---------------Test Result -----------------------
            Assert.IsTrue(@equals);
        }
        public void IsSearchCriteriaFocused_Same_Object_Is_Equal()
        {
            //---------------Set up test pack-------------------
            var listTo = new SharepointSearchTo {
                FieldName = "A",
            };
            var listTo1 = new SharepointSearchTo {
                FieldName = "A",
            };

            //---------------Assert Precondition----------------
            Assert.IsTrue(listTo.Equals(listTo1));
            //---------------Execute Test ----------------------
            listTo.IsSearchCriteriaFocused  = true;
            listTo1.IsSearchCriteriaFocused = true;
            var @equals = listTo.Equals(listTo1);

            //---------------Test Result -----------------------
            Assert.IsTrue(@equals);
        }
        IEnumerable <string> BuildQueryFromTo(SharepointSearchTo sharepointSearchTo, IExecutionEnvironment env, ISharepointFieldTo sharepointFieldTo, int update)
        {
            var warewolfEvalResult = env.Eval(sharepointSearchTo.ValueToMatch, update);
            var fieldType          = sharepointFieldTo.GetFieldType();

            if (sharepointSearchTo.SearchType == "In")
            {
                var startSearchTerm = string.Format("{0}<FieldRef Name=\"{1}\"></FieldRef>", SharepointSearchOptions.GetStartTagForSearchOption(sharepointSearchTo.SearchType), sharepointSearchTo.InternalName);

                startSearchTerm += "<Values>";
                if (warewolfEvalResult.IsWarewolfAtomListresult)
                {
                    var listResult = warewolfEvalResult as CommonFunctions.WarewolfEvalResult.WarewolfAtomListresult;
                    if (listResult != null)
                    {
                        foreach (var warewolfAtom in listResult.Item)
                        {
                            var valueString = warewolfAtom.ToString();
                            if (valueString.Contains(","))
                            {
                                var listOfValues = valueString.Split(',');
                                startSearchTerm = listOfValues.Select(listOfValue => CastWarewolfValueToCorrectType(listOfValue, sharepointFieldTo.Type)).Aggregate(startSearchTerm, (current, value) => current + string.Format("<Value Type=\"{0}\">{1}</Value>", fieldType, value));
                            }
                            else
                            {
                                var value = CastWarewolfValueToCorrectType(valueString, sharepointFieldTo.Type);
                                startSearchTerm += string.Format("<Value Type=\"{0}\">{1}</Value>", fieldType, value);
                            }
                        }
                    }
                }
                else
                {
                    var scalarResult = warewolfEvalResult as CommonFunctions.WarewolfEvalResult.WarewolfAtomResult;
                    if (scalarResult != null)
                    {
                        var valueString = scalarResult.Item.ToString();
                        if (valueString.Contains(","))
                        {
                            var listOfValues = valueString.Split(',');
                            startSearchTerm = listOfValues.Select(listOfValue => CastWarewolfValueToCorrectType(listOfValue, sharepointFieldTo.Type)).Aggregate(startSearchTerm, (current, value) => current + string.Format("<Value Type=\"{0}\">{1}</Value>", fieldType, value));
                        }
                        else
                        {
                            var value = CastWarewolfValueToCorrectType(valueString, sharepointFieldTo.Type);
                            startSearchTerm += string.Format("<Value Type=\"{0}\">{1}</Value>", fieldType, value);
                        }
                    }
                }
                startSearchTerm += "</Values>";
                startSearchTerm += SharepointSearchOptions.GetEndTagForSearchOption(sharepointSearchTo.SearchType);
                yield return(startSearchTerm);
            }
            else
            {
                WarewolfIterator iterator = new WarewolfIterator(warewolfEvalResult);
                while (iterator.HasMoreData())
                {
                    yield return(string.Format("{0}<FieldRef Name=\"{1}\"></FieldRef><Value Type=\"{2}\">{3}</Value>{4}", SharepointSearchOptions.GetStartTagForSearchOption(sharepointSearchTo.SearchType), sharepointSearchTo.InternalName, fieldType, CastWarewolfValueToCorrectType(iterator.GetNextValue(), sharepointFieldTo.Type), SharepointSearchOptions.GetEndTagForSearchOption(sharepointSearchTo.SearchType)));
                }
            }
        }