Example #1
0
        /// <summary>
        /// Call the initialize client user code and create a new sync blob with the clientId.
        /// </summary>
        private void InitializeNewClient(Guid userId, string resolution)
        {
            _requestDescription.ProviderParams = new List <SqlSyncProviderFilterParameterInfo>(_syncConfiguration.FilterParameters.Count);

            // Loop through the filter parameter configuration and create a list of parameters in the request description
            // that also contains the value.
            //Note: A single query string parameter can be assigned to multiple tables.
            foreach (var filterParameter in _syncConfiguration.FilterParameters)
            {
                string value = null;
                if (filterParameter.QueryStringKey.Equals("userid"))
                {
                    value = userId.ToString();
                }
                else if (filterParameter.QueryStringKey.Equals("resolution"))
                {
                    value = resolution;
                }
                else
                {
                    value = _serviceHost.GetQueryStringItem(filterParameter.QueryStringKey);
                }
                _requestDescription.ProviderParams.Add(new SqlSyncProviderFilterParameterInfo
                {
                    SqlParameterName = filterParameter.SqlParameterName,
                    QueryStringKey   = filterParameter.QueryStringKey,
                    TableName        = filterParameter.TableName,
                    Value            = WebUtil.ChangeType(value, filterParameter.ValueType)
                });
            }
        }