private static void VerifyDataForEachField(PrivateApiResponse <Dictionary <string, object> > response, FieldQueryParameters field, int index, Operations op, bool searchMail = false) { if (BadRequestCases.Contains($"{field.ToString()}.{op.ToString()}")) { PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest)); } else if (IgnoredTempCases.Contains($"{field.ToString()}.{op.ToString()}")) { //Nothing to do, b/c the response does not contain for this parameters PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.OK)); } else { PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.OK)); PrAssert.That(response.Result["totalHits"], PrIs.GreaterThan(0), "The response is empty."); foreach (var result in JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(response.Result["hits"].ToString())) { var fieldName = field.GetEnumStringValue(); if (field == FieldQueryParameters.Body) { fieldName = "preview"; } Assertions[op](result[fieldName].ToString(), MappingValues[field](index, searchMail ? DateListMultipleMail.ElementAt(NumberOfMail / 2) : DateListSingleMail.ElementAt(NumberOfMail / 2)).ToString()); } } }
public static IDataSource Create( IQualifiedMember sourceMember, int dataSourceIndex, IChildMemberMappingData childMappingData) { var childMapperData = childMappingData.MapperData; if (!childMapperData.MapperContext.UserConfigurations.HasMappingFactories) { return(new NullDataSource(Constants.EmptyExpression)); } var childObjectMappingData = ObjectMappingDataFactory.ForChild( sourceMember, childMapperData.TargetMember, dataSourceIndex, childMappingData.Parent); var childCreationContext = new MappingCreationContext(childObjectMappingData); var mapping = ConfiguredMappingFactory .GetMappingOrNull(childCreationContext, out _); if (mapping == null) { return(new NullDataSource(Constants.EmptyExpression)); } var childObjectMapperData = childObjectMappingData.MapperData; var sourceMemberAccess = sourceMember.GetRelativeQualifiedAccess(childMapperData); var targetMemberAccess = childMapperData.GetTargetMemberAccess(); var mappingValues = new MappingValues( sourceMemberAccess, targetMemberAccess, childMapperData.ElementIndex, childMapperData.ElementKey, dataSourceIndex); var directAccessMapping = MappingFactory.GetDirectAccessMapping( mapping, childObjectMapperData, mappingValues, MappingDataCreationFactory.ForChild(mappingValues, childObjectMapperData)); var returnValue = childObjectMapperData .GetFinalisedReturnValue(directAccessMapping, out var returnsDefault); if (returnsDefault) { returnValue = Expression.Block(directAccessMapping, returnValue); } return(new AdHocDataSource(sourceMember, returnValue, childMapperData)); }
protected override IDictionary <string, object> GetMappingValue(KCMapObjectRequest request, PropertyDescriptor property) { PXResult <KCMapping> exportMappingRow = _mappingMaint.ExportMappingRow.Select(request.EntityType, property.Name, request.ViewName).FirstOrDefault(); if (exportMappingRow == null) { return(null); } KCMapping mapping = exportMappingRow.GetItem <KCMapping>(); KCAcumaticaMappingField acumaticaField = exportMappingRow.GetItem <KCAcumaticaMappingField>(); List <Dictionary <string, object> > mappingValue = MappingValues.GetValue(new KCMappingKey(acumaticaField.ViewDisplayName, request.Id)); return(mappingValue?.FirstOrDefault()); }
public Expression GetMapRepeatedCallFor( IObjectMappingData childMappingData, MappingValues mappingValues, ObjectMapperData declaredTypeMapperData) { if (ShortCircuitRecursion(childMappingData.MapperData)) { return(GetMappingShortCircuit(childMappingData)); } var inlineMappingBlock = MappingFactory.GetInlineMappingBlock( childMappingData, mappingValues, MappingDataCreationFactory.ForChild); return(inlineMappingBlock); }
public Expression GetMapRepeatedCallFor( IObjectMappingData mappingData, MappingValues mappingValues, ObjectMapperData declaredTypeMapperData) { var childMapperData = mappingData.MapperData; if (WillNotMap(childMapperData)) { return(Constants.EmptyExpression); } childMapperData.CacheMappedObjects = true; childMapperData.RegisterRepeatedMapperFunc(mappingData); var mapRepeatedCall = declaredTypeMapperData.GetMapRepeatedCall( childMapperData.TargetMember, mappingValues, mappingValues.DataSourceIndex); return(mapRepeatedCall); }