예제 #1
0
        public Data_AppUserFile RetrieveOne(string email, IMyLog log)
        {
            Data_AppUserFile ret = null;
            var strCmd           = String.Format("SELECT * FROM {0} WHERE [Email] like '{1}'", TABLE_NAME, email);

            using (SqlDisposable s = new SqlDisposable(Db, strCmd))
            {
                if (s.Reader.Read())
                {
                    ret = readOneRecord(s.Reader);
                }
            }
            return(ret);
        }
예제 #2
0
        protected static string s_MsgFile_GetFileName(Int64 UtcTicks, string Email)
        {
            DateTime utc = new DateTime(UtcTicks, DateTimeKind.Utc);
            string   ret = string.Format("Ms2_{0:0000}{1:00}{2:00}x{3:00}{4:00}_{5}_{6}.txt",
                                         utc.Year,
                                         utc.Month,
                                         utc.Day,
                                         utc.Hour,
                                         utc.Minute,
                                         UtcTicks,
                                         Data_AppUserFile.EmailSaveChars(Email));

            return(ret);
        }
예제 #3
0
        public void Add(string tels, bool isConfirmed)
        {
            MobileNoHandler h      = new MobileNoHandler(tels);
            string          nextNo = "";

            while ((nextNo = h.RemoveAndReturnFirst()).Length > 0)
            {
                string err = Data_AppUserFile.Check_MobileNumber(nextNo, 0);
                if (err == null)
                {
                    if (!m_Dic.ContainsKey(nextNo))
                    {
                        m_Dic.Add(nextNo, new MobileNoWithState(nextNo, isConfirmed));
                    }
                    else
                    {
                        // already there
                        m_Dic[nextNo].IsConfirmed = isConfirmed;
                    }
                }
            }
        }
예제 #4
0
        private Data_AppUserFile readOneRecord(System.Data.SqlClient.SqlDataReader r)
        {
            Data_AppUserFile ret = Data_AppUserFile.CreateBlank();

            ret.UserName           = (string)r["UserName"];
            ret.NoSpam             = true;
            ret.MoblieAllNumbers   = (string)r["MobileNumbers"];
            ret.Email              = (string)r["Email"];
            ret.Password           = (string)r["Password"];
            ret.CreationDate       = r.SqlDateRead("CreationDateUtc");
            ret.CreationIp         = (string)r["CreationIp"];
            ret.ApiGuId            = (string)r["ApiGuId"];
            ret.NoOfQueuedMessages = (int)r["NoOfQueuedMessages"];
            ret.NoOfSentMessages   = (int)r["NoOfSentMessages"];
            ret.NoOfBytesSent      = (int)r["NoOfBytesSent"];
            ret.RemainingMessages  = (int)r["RemainingMessages"];
            ret.LastMsgQueued      = r.SqlDateRead("LastMsgQueuedUtc");
            //ret.LastMsgProcessed = r.SqlDateRead(["LastMsgProcessedUtc"]);
            ret.MinDelayInSeconds = (int)r["MinDelayInSeconds"];
            ret.AccountStatus     = (Data_AppUserFile.eUserStatus)r["AccountStatus"];
            return(ret);
        }
예제 #5
0
        public void StoreNew(Data_AppUserFile data, out bool fileArleadyUsed, IMyLog log)
        {
            fileArleadyUsed = false;

            if (HasAccount(data.Email, log))
            {
                fileArleadyUsed = true;
                return;
            }

            SqlCmdBuilder cmd = new SqlCmdBuilder(TABLE_NAME);

            cmd.Add("[UserName]", data.UserName.Quote());
            cmd.Add("[MobileNumbers]", data.MoblieAllNumbers.Quote());
            cmd.Add("[Email]", data.Email.Quote());
            cmd.Add("[Password]", data.Password.Quote());
            cmd.Add("[CreationDateUtc]", data.CreationDate.SqlDate().ToString());
            cmd.Add("[CreationIp]", data.CreationIp.Quote());
            cmd.Add("[ApiGuId]", data.ApiGuId.Quote());
            cmd.Add("[NoOfQueuedMessages]", data.NoOfQueuedMessages.ToString());
            cmd.Add("[NoOfSentMessages]", data.NoOfSentMessages.ToString());
            cmd.Add("[NoOfBytesSent]", data.NoOfBytesSent.ToString());
            cmd.Add("[RemainingMessages]", data.RemainingMessages.ToString());
            cmd.Add("[MinDelayInSeconds]", data.MinDelayInSeconds.ToString());
            cmd.Add("[AccountStatus]", data.AccountStatus.ToIntString());
            string strCmd = cmd.GetSql_InsertSelect();

            //System.Diagnostics.Debug.WriteLine(strCmd);//mg remove

            using (SqlDisposable s = new SqlDisposable(Db, strCmd))
            {
                if (s.Reader.RecordsAffected != 1)
                {
                    log.Error("StoreNew: *** unexpected RecordsAffected != 1");
                }
            }
        }
예제 #6
0
 public static void currentTelListBuilder(Data_AppUserFile d, TelListController.Locker _lock)
 {
     if (
         //(d.AccountStatus == Data_AppUserFile.eUserStatus.email_sent_for_verification) ||
         (d.AccountStatus == Data_AppUserFile.eUserStatus.verified_welcome_No_sent) ||
         (d.AccountStatus == Data_AppUserFile.eUserStatus.verified_welcome_queued) ||
         (d.AccountStatus == Data_AppUserFile.eUserStatus.verified_checkingTelNumbers) ||
         (d.AccountStatus == Data_AppUserFile.eUserStatus.blocked) ||
         (d.AccountStatus == Data_AppUserFile.eUserStatus.free_account))
     //(d.AccountStatus == Data_AppUserFile.eUserStatus.commercial_monthly) ||
     //(d.AccountStatus == Data_AppUserFile.eUserStatus.commercial_monthlyDifPrice) ||
     //(d.AccountStatus == Data_AppUserFile.eUserStatus.commercial_payassent) ||
     //(d.AccountStatus == Data_AppUserFile.eUserStatus.commercial_systemDuplication))
     {
         foreach (string t1 in d.MobileNumbers_AllConfirmed__.MobileNumberArray)
         {
             _lock.Locked.AddOneServer(t1);
         }
         foreach (string t1 in d.MobileNumbers_AllUnConfirmed__.MobileNumberArray)
         {
             _lock.Locked.AddOneServer(t1);
         }
     }
 }