Ejemplo n.º 1
0
        public static IDictionary <string, IList <string> > GetUserPushTokensByOs(String databaseName, Guid userId)
        {
            using (var conn = new System.Data.SqlClient.SqlConnection(Solution.CreateFromContext(databaseName).ConnectionString))
            {
                conn.Open();
                var cmd = new System.Data.SqlClient.SqlCommand("[admin].[GetUserPushTokens]", conn);
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                try
                {
                    System.Data.SqlClient.SqlCommandBuilder.DeriveParameters(cmd);
                }
                catch
                {
                    throw new Exception("Database does not support push notifications");
                }
                cmd.Parameters["@UserId"].Value = userId;

                var result = new Dictionary <string, IList <string> >();

                using (System.Data.SqlClient.SqlDataReader r = cmd.ExecuteReader())
                    while (r.Read())
                    {
                        string         token = r.GetString(0);
                        string         os    = r.GetString(1);
                        IList <string> tokens;
                        if (!result.TryGetValue(os, out tokens))
                        {
                            result.Add(os, tokens = new List <string>());
                        }
                        tokens.Add(token);
                    }

                return(result);
            }
        }
Ejemplo n.º 2
0
        public static void WriteWebDavLog(string databaseName, IDictionary <string, object> content)
        {
            using (var conn = new SqlConnection(Solution.CreateFromContext(databaseName).ConnectionString))
            {
                conn.Open();
                var cmd = new SqlCommand("[admin].[WriteWebDavLog]", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlCommandBuilder.DeriveParameters(cmd);

                for (int i = 1; i < cmd.Parameters.Count; i++)
                {
                    String pName = cmd.Parameters[i].ParameterName.Substring(1).ToLower();
                    object value;
                    if (content.TryGetValue(pName, out value))
                    {
                        cmd.Parameters[i].Value = value ?? DBNull.Value;
                    }
                    else
                    {
                        cmd.Parameters[i].Value = DBNull.Value;
                    }
                }
                try
                {
                    cmd.ExecuteNonQuery();
                }
                catch
                {
                }
            }
        }
Ejemplo n.º 3
0
        public static void WriteLog(String databaseName, Dictionary <String, object> dict)
        {
            using (var conn = new SqlConnection(Solution.CreateFromContext(databaseName).ConnectionString))
            {
                conn.Open();
                var cmd = new SqlCommand("[admin].[WriteLog]", conn);
                cmd.CommandType = CommandType.StoredProcedure;
                SqlCommandBuilder.DeriveParameters(cmd);

                for (int i = 1; i < cmd.Parameters.Count; i++)
                {
                    String pName = cmd.Parameters[i].ParameterName.Substring(1).ToLower();
                    if (dict.ContainsKey(pName))
                    {
                        cmd.Parameters[i].Value = (dict[pName] == null ? DBNull.Value : dict[pName]);
                    }
                }
                try
                {
                    cmd.ExecuteNonQuery();
                }
                catch
                {
                }
            }
        }
Ejemplo n.º 4
0
        public static bool CheckIfFilterShared(String scope)
        {
            String settingsFile = Solution.CreateFromContext(scope).SettingsFile;

            if (System.IO.File.Exists(settingsFile))
            {
                System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
                doc.Load(settingsFile);
                System.Xml.XmlNode node = doc.DocumentElement.SelectSingleNode(@"server/filterShared");
                if (node != null)
                {
                    System.Xml.XmlAttribute attr = node.Attributes["value"];
                    if (attr != null)
                    {
                        if (attr.Value == null)
                        {
                            return(false);
                        }
                        else
                        {
                            return(attr.Value.ToLower().Equals("yes"));
                        }
                    }
                }
            }
            return(false);
        }
Ejemplo n.º 5
0
        public static String GetConflictPolicy(String scope)
        {
            String settingsFile = Solution.CreateFromContext(scope).SettingsFile;

            if (System.IO.File.Exists(settingsFile))
            {
                System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
                doc.Load(settingsFile);
                System.Xml.XmlNode node = doc.DocumentElement.SelectSingleNode(@"server/conflictPolicy");
                if (node != null)
                {
                    System.Xml.XmlAttribute attr = node.Attributes["value"];
                    if (attr != null)
                    {
                        return(attr.Value);
                    }
                }
            }
            return(null);
        }
Ejemplo n.º 6
0
        public static void CheckCoreVersion(String scope, String coreVersion)
        {
            String settingsFile = Solution.CreateFromContext(scope).SettingsFile;

            if (System.IO.File.Exists(settingsFile))
            {
                System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
                doc.Load(settingsFile);
                System.Xml.XmlNode node = doc.DocumentElement.SelectSingleNode(@"client/supportedCore");
                if (node != null)
                {
                    System.Xml.XmlAttribute attr = node.Attributes["version"];
                    if (attr != null)
                    {
                        String configVersion = attr.Value;
                        CheckVersion(coreVersion, configVersion, "core");
                    }
                }
            }
        }