Example #1
0
        public static BlockedDays BlockWeek(bool workdays = true, bool weekend = true)
        {
            BlockedDays blockedDays = BlockedDays.None;

            if (workdays)
            {
                blockedDays &= BlockedDays.Mo;
                blockedDays &= BlockedDays.Di;
                blockedDays &= BlockedDays.Mi;
                blockedDays &= BlockedDays.Do;
                blockedDays &= BlockedDays.Fr;
            }

            if (weekend)
            {
                blockedDays &= BlockedDays.Sa;
                blockedDays &= BlockedDays.So;
            }

            return(blockedDays);
        }
        public bool UpdateMessageBlocked(int msgId, int startHour = 7, int endHour = 7, BlockedDays blockedDays = BlockedDays.AllDays)
        {
            try
            {
                const string query = "UPDATE \"BlockedMessages\" SET \"StartHour\" = @startHour, \"EndHour\" = @endHour, \"Days\" = @days " +
                                     "WHERE \"Id\" = @msgId; ";

                Dictionary <string, object> args = new Dictionary <string, object>
                {
                    { "@msgId", msgId },
                    { "@startHour", startHour },
                    { "@endHour", endHour },
                    { "@days", blockedDays }
                };

                return(SqlNonQuery(query, args));
            }
            catch (Exception ex)
            {
                throw new Exception("Sql-Fehler Update BlockedMessage()\r\n" + ex.Message);
            }
        }
        /// <summary>
        /// Fügt eine Nachricht der "Blacklist" hinzu, sodass diese bei Empfang nicht weitergeleitet wird.
        /// Ist die Nachricht bereits in der Liste vorhanden, wird kein neuer Eintrag erstellt.
        /// Standartsperrzeit: immer
        /// </summary>
        /// <param name="msgId">Id der Nachricht, deren Weiterleitung gesperrt werden soll</param>
        /// <param name="startHour">Tagesstunde - Beginn der Sperre</param>
        /// <param name="endHour">Tagesstunde - Ende der Sperre</param>
        /// <param name="Days">Tage, an denen die Nachricht gesperrt sein soll, wie Wochenuhr/param>
        public bool InsertMessageBlocked(int msgId, int startHour = 7, int endHour = 7, BlockedDays blockedDays = BlockedDays.AllDays)
        {
            try
            {
                const string query = "INSERT OR IGNORE INTO \"BlockedMessages\" (\"Id\", \"StartHour\", \"EndHour\", \"Days\" ) VALUES " +
                               "(@msgId, @startHour, @endHour, @days)";

                Dictionary<string, object> args = new Dictionary<string, object>
                {
                    { "@msgId", msgId },
                    { "@startHour", startHour },
                    { "@endHour", endHour },
                    { "@days", blockedDays }
                };

                return SqlNonQuery(query, args);
            }
            catch (Exception ex)
            {
                throw new Exception("Sql-Fehler InsertBlockedMessage()\r\n" + ex.Message);
            }
        }