示例#1
0
        //----------------------------------------------------------
        #endregion



        #region ----------------InsertTestingDataForEmailList---------------
        //----------------------------------------------------------
        //InsertTestingDataForEmailList
        //----------------------------------------------------------
        public void InsertTestingDataForEmailList()
        {
            //----------------------------------------------------------------------
            MailListUsersEntity ArMailListUsers = new MailListUsersEntity();
            string arEmail = "armail{0}@site.com";

            ArMailListUsers.IsActive     = true;
            ArMailListUsers.ModuleTypeID = (int)StandardItemsModuleTypes.MailList;
            ArMailListUsers.LangID       = Languages.Ar;
            //----------------------------------------------------------------------
            MailListUsersEntity EnMailListUsers = new MailListUsersEntity();
            string enEmail = "enmail{0}@site.com";

            EnMailListUsers.IsActive     = true;
            EnMailListUsers.ModuleTypeID = (int)StandardItemsModuleTypes.MailList;
            EnMailListUsers.LangID       = Languages.Ar;
            //----------------------------------------------------------------------
            for (int i = 1; i <= 5; i++)
            {
                if (SiteSettings.Languages_HasArabicLanguages)
                {
                    ArMailListUsers.Email = string.Format(arEmail, i.ToString());
                    MailListUsersFactory.Create(ArMailListUsers);
                }
                if (SiteSettings.Languages_HasEnglishLanguages)
                {
                    EnMailListUsers.Email = string.Format(enEmail, i.ToString());
                    MailListUsersFactory.Create(EnMailListUsers);
                }
            }
        }
示例#2
0
        //------------------------------------------
        #endregion

        #region --------------GetObject--------------
        public static MailListUsersEntity GetObject(int ModuleTypeID, string email)
        {
            MailListUsersEntity mailListUsers = MailListUsersSqlDataPrvider.Instance.GetObject(ModuleTypeID, email);

            //return the object
            return(mailListUsers);
        }
        //------------------------------------------
        #endregion

        #region --------------Create--------------
        /// <summary>
        /// Converts the MailListUsers object properties to SQL paramters and executes the create MailListUsers procedure
        /// and updates the MailListUsers object with the SQL data by reference.
        /// <example>[Example]bool status=MailListUsersSqlDataPrvider.Instance.Create(mailListUsers);.</example>
        /// </summary>
        /// <param name="mailListUsers">The MailListUsers object.</param>
        /// <returns>The status of create query.</returns>
        public ExecuteCommandStatus Create(MailListUsersEntity mailListUsers)
        {
            using (SqlConnection myConnection = GetSqlConnection())
            {
                SqlCommand myCommand = new SqlCommand("MailListUsers_Create", myConnection);
                myCommand.CommandType = CommandType.StoredProcedure;
                // Set the parameters
                myCommand.Parameters.Add("@UserID", SqlDbType.Int, 4).Direction   = ParameterDirection.Output;
                myCommand.Parameters.Add("@Email", SqlDbType.NVarChar, 128).Value = mailListUsers.Email;
                myCommand.Parameters.Add("@IsActive", SqlDbType.Bit, 1).Value     = mailListUsers.IsActive;
                //myCommand.Parameters.Add("@JoinDate", SqlDbType.DateTime,8).Value = mailListUsers.JoinDate;
                myCommand.Parameters.Add("@GroupID", SqlDbType.Int, 4).Value       = mailListUsers.GroupID;
                myCommand.Parameters.Add("@ModuleTypeID", SqlDbType.Int, 4).Value  = (int)mailListUsers.ModuleTypeID;
                myCommand.Parameters.Add("@LangID", SqlDbType.Int, 4).Value        = (int)mailListUsers.LangID;
                myCommand.Parameters.Add("@Groups", SqlDbType.NVarChar, 128).Value = mailListUsers.Groups;
                //----------------------------------------------------------------------------------------------
                //OwnerID
                myCommand.Parameters.Add("@OwnerID", SqlDbType.UniqueIdentifier).Value = SitesHandler.GetOwnerIDAsGuid();
                //----------------------------------------------------------------------------------------------
                // Execute the command
                myConnection.Open();
                ExecuteCommandStatus status = (ExecuteCommandStatus)myCommand.ExecuteScalar();
                if (status == ExecuteCommandStatus.Done)
                {
                    //Get ID value from database and set it in object
                    mailListUsers.UserID = (int)myCommand.Parameters["@UserID"].Value;
                }
                myConnection.Close();
                return(status);
            }
        }
示例#4
0
        //------------------------------------------
        #endregion

        #region --------------GetObject--------------
        public static MailListUsersEntity GetObject(int userID)
        {
            MailListUsersEntity mailListUsers = MailListUsersSqlDataPrvider.Instance.GetObject(userID);

            //return the object
            return(mailListUsers);
        }
        //------------------------------------------
        #endregion

        #region --------------GetObject--------------
        public MailListUsersEntity GetObject(int ModuleTypeID, string email)
        {
            MailListUsersEntity mailListUsers = null;

            using (SqlConnection myConnection = GetSqlConnection())
            {
                SqlCommand myCommand = new SqlCommand("MailListUsers_GetOneByEmail", myConnection);
                myCommand.CommandType = CommandType.StoredProcedure;
                // Set the parameters
                myCommand.Parameters.Add("@ModuleTypeID", SqlDbType.Int, 4).Value = (int)ModuleTypeID;
                myCommand.Parameters.Add("@Email", SqlDbType.NVarChar, 128).Value = email;
                //----------------------------------------------------------------------------------------------
                //OwnerID
                myCommand.Parameters.Add("@OwnerID", SqlDbType.UniqueIdentifier).Value = SitesHandler.GetOwnerIDAsGuid();
                //----------------------------------------------------------------------------------------------
                // Execute the command
                myConnection.Open();
                using (SqlDataReader dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection))
                {
                    if (dr.Read())
                    {
                        mailListUsers = PopulateEntity(dr);
                    }
                    dr.Close();
                }
                myConnection.Close();
                return(mailListUsers);
            }
        }
示例#6
0
        //----------------------------------------------------------------------
        public static void SendActivationCodeMessage(MailListUsersEntity user)
        {
            // prepare message
            string body = string.Format(DynamicResource.GetText("MailList", "ActivationMailBody"), new string[3] {
                SitesHandler.GetSiteDomain(), Encryption.Encrypt(user.UserID.ToString()), user.Email
            });
            //string from =MailListEmailsFactory.MailFrom;
            MailListEmailsEntity mail = new MailListEmailsEntity();

            mail.Subject = DynamicResource.GetText("MailList", "ActivationMailSubject");
            mail.Body    = body;
            mail.To.Add(user.Email);
            MailListEmailsFactory.Send(mail);
        }
        //------------------------------------------
        #endregion

        #region --------------PopulateEntity--------------
        private MailListUsersEntity PopulateEntity(IDataReader reader)
        {
            //Create a new MailListUsers object
            MailListUsersEntity mailListUsers = new MailListUsersEntity();

            //Fill the object with data
            //UserID
            if (reader["UserID"] != DBNull.Value)
            {
                mailListUsers.UserID = (int)reader["UserID"];
            }
            //Email
            if (reader["Email"] != DBNull.Value)
            {
                mailListUsers.Email = (string)reader["Email"];
            }
            //IsActive
            if (reader["IsActive"] != DBNull.Value)
            {
                mailListUsers.IsActive = (bool)reader["IsActive"];
            }
            //JoinDate
            if (reader["JoinDate"] != DBNull.Value)
            {
                mailListUsers.JoinDate = (DateTime)reader["JoinDate"];
            }
            //GroupID
            if (reader["GroupID"] != DBNull.Value)
            {
                mailListUsers.GroupID = (int)reader["GroupID"];
            }
            //LangID
            if (reader["LangID"] != DBNull.Value)
            {
                mailListUsers.LangID = (Languages)reader["LangID"];
            }
            //ModuleTypeID
            if (reader["ModuleTypeID"] != DBNull.Value)
            {
                mailListUsers.ModuleTypeID = (int)reader["ModuleTypeID"];
            }
            //Groups
            if (reader["Groups"] != DBNull.Value)
            {
                mailListUsers.Groups = (string)reader["Groups"];
            }
            //Return the populated object
            return(mailListUsers);
        }
示例#8
0
        //------------------------------------------
        #endregion
        //-----------------------------------------------------------------------
        public static ExecuteCommandStatus RegisterInMailList(int moduleID, string email, Languages langID, bool isActive, bool requiredActivationCode)
        {
            MailListUsersEntity user = new MailListUsersEntity();

            user.ModuleTypeID = moduleID;
            user.Email        = email;
            user.LangID       = langID;
            user.IsActive     = isActive;
            ExecuteCommandStatus status = MailListUsersFactory.Create(user);

            if (status == ExecuteCommandStatus.Done && requiredActivationCode && !isActive)
            {
                SendActivationCodeMessage(user);
            }
            return(status);
        }
示例#9
0
        //---------------------------------------------------------------------------
        public static void UpdateMailListEmail(string oldEmail, UsersDataEntity usersDataObject)
        {
            MailListUsersEntity mlUser = MailListUsersFactory.GetObject(usersDataObject.ModuleTypeID, oldEmail);

            if (mlUser != null)
            {
                if (!string.IsNullOrEmpty(usersDataObject.Email))
                {
                    mlUser.Email = usersDataObject.Email;
                    MailListUsersFactory.Update(mlUser);
                }
                else
                {
                    MailListUsersFactory.Delete(mlUser.UserID);
                }
            }
            else
            {
                UsersDataFactory.RegisterInMailList(usersDataObject);
            }
        }
示例#10
0
        //---------------------------------------------------------------------------
        public static void UpdateMailListEmail(string oldEmail, MessagesEntity msg)
        {
            MailListUsersEntity mlUser = MailListUsersFactory.GetObject(msg.ModuleTypeID, oldEmail);

            if (mlUser != null)
            {
                if (!string.IsNullOrEmpty(msg.EMail))
                {
                    mlUser.Email = msg.EMail;
                    MailListUsersFactory.Update(mlUser);
                }
                else
                {
                    MailListUsersFactory.Delete(mlUser.UserID);
                }
            }
            else
            {
                MessagesFactory.RegisterInMailList(msg);
            }
        }
        //------------------------------------------
        #endregion

        public ExecuteCommandStatus Update(MailListUsersEntity mailListUsers)
        {
            using (SqlConnection myConnection = GetSqlConnection())
            {
                SqlCommand myCommand = new SqlCommand("MailListUsers_Update", myConnection);
                myCommand.CommandType = CommandType.StoredProcedure;
                // Set the parameters
                myCommand.Parameters.Add("@UserID", SqlDbType.Int, 4).Value        = mailListUsers.UserID;
                myCommand.Parameters.Add("@IsActive", SqlDbType.Bit, 1).Value      = mailListUsers.IsActive;
                myCommand.Parameters.Add("@GroupID", SqlDbType.Int, 4).Value       = mailListUsers.GroupID;
                myCommand.Parameters.Add("@Email", SqlDbType.NVarChar, 128).Value  = mailListUsers.Email;
                myCommand.Parameters.Add("@Groups", SqlDbType.NVarChar, 128).Value = mailListUsers.Groups;
                //----------------------------------------------------------------------------------------------
                //OwnerID
                myCommand.Parameters.Add("@OwnerID", SqlDbType.UniqueIdentifier).Value = SitesHandler.GetOwnerIDAsGuid();
                //----------------------------------------------------------------------------------------------
                // Execute the command
                myConnection.Open();
                ExecuteCommandStatus status = (ExecuteCommandStatus)myCommand.ExecuteScalar();
                myConnection.Close();
                return(status);
            }
        }
示例#12
0
        //------------------------------------------
        #endregion

        #region --------------Update--------------

        public static ExecuteCommandStatus Update(MailListUsersEntity mailListUsers)
        {
            return(MailListUsersSqlDataPrvider.Instance.Update(mailListUsers));
        }