//---------------------------------------------------------- #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); } } }
//------------------------------------------ #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); } }
//------------------------------------------ #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); } }
//---------------------------------------------------------------------- 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); }
//------------------------------------------ #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); }
//--------------------------------------------------------------------------- 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); } }
//--------------------------------------------------------------------------- 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); } }
//------------------------------------------ #endregion #region --------------Update-------------- public static ExecuteCommandStatus Update(MailListUsersEntity mailListUsers) { return(MailListUsersSqlDataPrvider.Instance.Update(mailListUsers)); }