Beispiel #1
0
        public void UpdateCounters_Queued(string email, long timeNow, int howMany, IMyLog log)
        {
            SqlCmdBuilder cmd = new SqlCmdBuilder(TABLE_NAME);

            cmd.Add("[LastMsgQueuedUtc]", SqlExtensions.SqlDateUtcNow().ToString());
            cmd.AddInc("[NoOfQueuedMessages]", howMany);
            cmd.AddDec("[RemainingMessages]", howMany);
            cmd.Add("[AccountStatus]", String.Format("CASE WHEN {0}={1} THEN {2} ELSE {0} END",
                                                     "[AccountStatus]",
                                                     Data_AppUserFile.eUserStatus.verified_welcome_No_sent.ToIntString(),
                                                     Data_AppUserFile.eUserStatus.verified_welcome_queued.ToIntString()));

            string strCmd = cmd.GetSql_Update(string.Format("WHERE [Email] like '{0}'", email));

            using (SqlDisposable s = new SqlDisposable(Db, strCmd))
            {
                if (s.Reader.RecordsAffected != 1)
                {
                    log.Error("StoreNew: *** unexpected RecordsAffected != 1");
                }
            }
        }