public void TestMultipleSearch1Field(Enums.ResourceType resourceType, ReadInvalidInputTestData.ItemState itemState, string fieldName, string firstCondition, string secondCondition) { ItemStateHelper.SearchParameters searchParameters = null; List <XmlResource> result = null; string fieldAlias = $"{resourceType.ToResourceName()}.{fieldName}"; var extraUrlParameters = new Dictionary <string, object>(); if (itemState != ReadInvalidInputTestData.ItemState.None) { extraUrlParameters.Add(DeletedDataFields.ItemState, itemState.ToLowerString()); } var itemStateType = itemState == ReadInvalidInputTestData.ItemState.None ? ReadInvalidInputTestData.ItemState.All : itemState; var extraConditionParam = new Dictionary <string, object>(extraUrlParameters); extraConditionParam["condition"] = $"{resourceType.ToResourceName()}.P_Id:ge={ItemStateHelper.RecordIds[itemStateType](resourceType, RecordNum, recordsIn90Days, recordsOver90Days, deletedRecordsMapping)["Min"]},{resourceType.ToResourceName()}.P_Id:le={ItemStateHelper.RecordIds[itemStateType](resourceType, RecordNum, recordsIn90Days, recordsOver90Days, deletedRecordsMapping)["Max"]}"; //Result code var resultCode = (fieldName == DeletedDataFields.P_UpdateDate) && (itemState == ReadInvalidInputTestData.ItemState.Deleted || itemState == ReadInvalidInputTestData.ItemState.All) && (firstCondition.ContainsStrings(new string[] { DateTimeValidator.Le, DateTimeValidator.Lt }) && secondCondition.ContainsStrings(new string[] { DateTimeValidator.Le, DateTimeValidator.Lt })) ? Enums.PublicAPIResultCode.DateTimeOutOfRange : Enums.PublicAPIResultCode.Success; //Read & verify data switch (fieldName) { case DeletedDataFields.P_UpdateDate: result = ItemStateHelper.GetAllResults(resourceType, fieldAlias, 0, MaxCount, extraConditionParam).Items; searchParameters = new ItemStateHelper.SearchParameters(fieldAlias, fieldAlias, firstCondition, secondCondition, result[Util.GetRandomNumber(20, 50)].DictionaryValues[fieldAlias].ToString(), result[Util.GetRandomNumber(120, 150)].DictionaryValues[fieldAlias].ToString()); ItemStateHelper.VerifySearchDate(resourceType, searchParameters, resultCode, extraUrlParameters, false); break; case DeletedDataFields.P_Id: searchParameters = new ItemStateHelper.SearchParameters(fieldAlias, fieldAlias, firstCondition, secondCondition, ItemStateHelper.RecordIds[itemStateType](resourceType, RecordNum, recordsIn90Days, recordsOver90Days, deletedRecordsMapping)["Min"] + RecordNum, ItemStateHelper.RecordIds[itemStateType](resourceType, RecordNum, recordsIn90Days, recordsOver90Days, deletedRecordsMapping)["Max"] - RecordNum); ItemStateHelper.VerifyMultiSearchOneFieldById(resourceType, searchParameters, extraUrlParameters); break; case DeletedDataFields.P_UpdateBy: result = ItemStateHelper.GetAllResults(resourceType, fieldAlias, 0, 0, extraConditionParam).Items; searchParameters = new ItemStateHelper.SearchParameters(fieldAlias, fieldAlias, firstCondition, secondCondition, ((result[1].DictionaryValues[$"{fieldAlias}"] as XmlResource).DictionaryValues["User"] as XmlResource).DictionaryValues["User.P_Id"].ToString(), ((result[7].DictionaryValues[$"{fieldAlias}"] as XmlResource).DictionaryValues["User"] as XmlResource).DictionaryValues["User.P_Id"].ToString() ); ItemStateHelper.VerifyMultiSearchOneFieldById(resourceType, searchParameters, extraUrlParameters); break; } }