private ExtSupplierDTO SupplierRecordAdded(SupplierDTO newRecord, Object additionalData)
        {
            SuppliersMergeParameter mergeParam = additionalData as SuppliersMergeParameter;

            ExtSupplierDTO supplierDetail = newRecord.Clone() as ExtSupplierDTO;

            supplierDetail.LastUpdateTime = AdjustClientUtcTimeToServerTime(newRecord.LastUpdateTime, mergeParam.ClientServerTimeDifference);
            supplierDetail.SystemUserID   = mergeParam.SystemUserID;

            try
            {
                mergeParam.DataAccessObject.AddSupplier(supplierDetail);
            }
            catch (SqlException ex)
            {
                switch (ex.Number)
                {
                // Duplicate record found.
                case 2627:

                    break;

                default:
                    // Re-throw the exception if we don't recognise the error code.
                    throw;
                }
            }

            return(supplierDetail);
        }
        private ExtSupplierDTO SupplierRecordUpdated(ExtSupplierDTO originalData, SupplierDTO updatedData, Object additionalData)
        {
            SuppliersMergeParameter mergeParam = additionalData as SuppliersMergeParameter;

            ExtSupplierDTO supplierDetail = updatedData.Clone() as ExtSupplierDTO;

            supplierDetail.LastUpdateTime = AdjustClientUtcTimeToServerTime(updatedData.LastUpdateTime, mergeParam.ClientServerTimeDifference);
            supplierDetail.SystemUserID   = mergeParam.SystemUserID;

            mergeParam.DataAccessObject.UpdateSupplier(supplierDetail);
            return(supplierDetail);
        }