Пример #1
0
        /// <summary>
        /// Synchronization column mapping.
        /// </summary>
        /// <returns>List of <see cref="SynchronizationColumnMapping"/></returns>
        protected virtual ICollection <SynchronizationColumnMapping> GetSynchronizationColumnMappings()
        {
            SynchronizationColumnComparator dateEqualComparator   = EqualComparatorProvider.GetDateEqualComparator();
            SynchronizationColumnComparator stringEqualComparator = EqualComparatorProvider.GetStringEqualComparator();

            return(new List <SynchronizationColumnMapping> {
                new SynchronizationColumnMapping {
                    SourceColumnName = "AddressTypeId",
                    DestinationColumnName = "AddressTypeId"
                },
                new SynchronizationColumnMapping {
                    SourceColumnName = "CountryId",
                    DestinationColumnName = "CountryId"
                },
                new SynchronizationColumnMapping {
                    SourceColumnName = "RegionId",
                    DestinationColumnName = "RegionId"
                },
                new SynchronizationColumnMapping {
                    SourceColumnName = "CityId",
                    DestinationColumnName = "CityId"
                },
                new SynchronizationColumnMapping {
                    SourceColumnName = "Address",
                    DestinationColumnName = "Address",
                    Comparator = stringEqualComparator
                },
                new SynchronizationColumnMapping {
                    SourceColumnName = "Zip",
                    DestinationColumnName = "Zip",
                    Comparator = stringEqualComparator
                }
            });
        }
Пример #2
0
        /// <summary>
        /// Matches <paramref name="columnMapping"> source column value and <paramref name="columnMapping">
        /// destination value. If they are equal skips them. Fills <paramref name="columnMapping"> destination otherwise.
        /// </summary>
        /// <param name="source">Source entity.</param>
        /// <param name="destination">Destination entity.</param>
        /// <param name="columnMapping">Column mapping.</param>
        private void SynchronizeColumns(Entity source, Entity destination,
                                        SynchronizationColumnMapping columnMapping)
        {
            object sourceValue      = source.GetColumnValue(columnMapping.SourceColumnName);
            object destinationValue = destination.GetColumnValue(columnMapping.DestinationColumnName);
            SynchronizationColumnComparator equalComparator = columnMapping.Comparator ?? EqualComparator;

            if (!equalComparator(sourceValue, destinationValue))
            {
                destination.SetColumnValue(columnMapping.DestinationColumnName, sourceValue);
            }
        }
Пример #3
0
        protected override ICollection <SynchronizationColumnMapping> GetSynchronizationColumnMappings()
        {
            SynchronizationColumnComparator stringEqualComparator = EqualComparatorProvider.GetStringEqualComparator();
            var baseColumnMappings = base.GetSynchronizationColumnMappings();

            baseColumnMappings.Add(new SynchronizationColumnMapping {
                SourceColumnName      = "GPSN",
                DestinationColumnName = "GPSN",
                Comparator            = stringEqualComparator
            });
            baseColumnMappings.Add(new SynchronizationColumnMapping {
                SourceColumnName      = "GPSE",
                DestinationColumnName = "GPSE",
                Comparator            = stringEqualComparator
            });
            return(baseColumnMappings);
        }