Esempio n. 1
0
        /// <summary>
        /// متد ذیل یک گذرواژه جدید هش شده را از طریق شناسه کاربری  برای کاربر ایجاد و در دیتا بیس قرار میدهد و ایمیل ارسال میکند
        /// </summary>
        /// <param name="userName"></param>
        public static void GenerateNewPasswordAndSendToUserByUserName(string userName)
        {
            try
            {
                //ساخت یک شی از دیتا تیبل
                DataAccessLayer.DataSetTableAdapters.UsersTableAdapter oUsersTableAdapter =
                    new DataAccessLayer.DataSetTableAdapters.UsersTableAdapter();
                //ساخت یک شی از تیبل آدابتر
                DataAccessLayer.DataSet.UsersDataTable oUsersDataTable =
                    new DataAccessLayer.DataSet.UsersDataTable();
                //فیل کردن تیبل آدابتر با متد مربوطه و دیتا تیبل
                oUsersTableAdapter.FillByUsername(oUsersDataTable, userName);
                //اگر کاربری وجود داشت
                if (oUsersDataTable.Count == 1)
                {
                    //یک رو جدید ایجاد و برابر  با خونه صفر دیتا تیبل قرار میدهیم
                    DataAccessLayer.DataSet.UsersRow oUsersRow = oUsersDataTable[0];

                    //Get User's data from DataSet
                    string strFullName  = oUsersRow.FullName;
                    string strUserEmail = oUsersRow.UserEmail;

                    //Generate random Password
                    string strNewPassword       = Tools.Utility.GetGuidWithoutDash().Substring(0, 8);
                    string strHashOfNewPassword = Tools.Utility.GetSha1(strNewPassword);

                    //گذرواژه جدید را در دیتا بیس ثبت میکنیم
                    oUsersRow.Password = strHashOfNewPassword;
                    //بروز رسانی دیتا بیس
                    oUsersTableAdapter.Update(oUsersDataTable);

                    //Assign Email Template
                    string strPathName  = System.Web.HttpContext.Current.Server.MapPath("~/App_Data/LocalizedEmailTemplates/ForgotPasswordUserEmail.htm");
                    string strEmailBody = Tools.File.Read(strPathName);

                    //جایگذاری اطلاعات کاربر با قالب
                    strEmailBody = strEmailBody
                                   .Replace("[FULL_NAME]", userName)
                                   .Replace("[USER_NAME]", userName)
                                   .Replace("[PASSWORD]", strNewPassword);

                    //ایجاد شی از میل آدرس
                    System.Net.Mail.MailAddress oMailAddress =
                        new System.Net.Mail.MailAddress(strUserEmail, strFullName, System.Text.Encoding.UTF8);

                    //################################
                    //کدهای مربوط به ارسال ایمیل
                    //################################
                }
            }

            //در صورت بروز خطا
            catch (Exception ex)
            {
                //میتوان خطا را لاگ نمود
                throw (ex);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// متد ذیل یک گذرواژه جدید از طریق  رایانامه  برای کاربر ایجاد و ایمیل ارسال میکند
        /// </summary>
        /// <param name="userEmail"></param>
        public static void GenerateNewPasswordAndSendToUserByUserEmail(string userEmail)
        {
            try
            {
                DataAccessLayer.DataSetTableAdapters.UsersTableAdapter oUsersTableAdapter =
                    new DataAccessLayer.DataSetTableAdapters.UsersTableAdapter();

                DataAccessLayer.DataSet.UsersDataTable oUsersDataTable =
                    new DataAccessLayer.DataSet.UsersDataTable();

                oUsersTableAdapter.FillByUserEmail(oUsersDataTable, userEmail);

                if (oUsersDataTable.Count == 1)
                {
                    DataAccessLayer.DataSet.UsersRow oUsersRow = oUsersDataTable[0];

                    //Get User's data from DataSet
                    string strFullName = oUsersRow.FullName;
                    string strUserName = oUsersRow.UserName;

                    //Generate random Password
                    string strNewPassword       = Tools.Utility.GetGuidWithoutDash().Substring(0, 8);
                    string strHashOfNewPassword = Tools.Utility.GetSha1(strNewPassword);

                    oUsersRow.Password = strHashOfNewPassword;

                    oUsersTableAdapter.Update(oUsersDataTable);

                    //Assign Email Template
                    string strPathName  = System.Web.HttpContext.Current.Server.MapPath("~/App_Data/LocalizedEmailTemplates/ForgotPasswordUserEmail.htm");
                    string strEmailBody = Tools.File.Read(strPathName);

                    //جایگذاری اطلاعات کاربر با قالب
                    strEmailBody = strEmailBody
                                   .Replace("[FULL_NAME]", strFullName)
                                   .Replace("[USER_NAME]", strUserName)
                                   .Replace("[PASSWORD]", strNewPassword);

                    ////ایجاد شی از میل آدرس
                    System.Net.Mail.MailAddress oMailAddress =
                        new System.Net.Mail.MailAddress(userEmail, strFullName, System.Text.Encoding.UTF8);

                    //################################
                    //کدهای مربوط به ارسال ایمیل
                    //################################
                }
            }
            catch (Exception ex)
            {
                //میتوان خطا را لاگ نمود
                throw (ex);
            }
        }
Esempio n. 3
0
    //بدنه متد اینیشیالایز
    #region Initialize()

    /// <summary>
    /// در این متد مشخصات کاربر در فیلد های نام کامل و توضیحات قرار میگیرد
    /// </summary>
    private void Initialize()
    {
        divShowAvatar.Visible = false;
        //آواتار
        DataAccessLayer.DataSet.UploadsDataTable oUploadDataTable = new DataAccessLayer.DataSet.UploadsDataTable();

        DataAccessLayer.DataSetTableAdapters.UploadsTableAdapter oUploadTableAdaptor =
            new DataAccessLayer.DataSetTableAdapters.UploadsTableAdapter();

        oUploadTableAdaptor.FillByUploadId(oUploadDataTable, (int)Session["UserID"]);

        if (oUploadDataTable.Count == 1)
        {
            DataAccessLayer.DataSet.UploadsRow oUploadRow = oUploadDataTable[0];

            divImageOfAvatar.Visible = true;
            divShowAvatar.Visible    = true;
            imgAvatar.ImageUrl       = "~/Uploads/" + oUploadRow.UploadFileName;

            imgAvatar.ImageAlign = System.Web.UI.WebControls.ImageAlign.AbsMiddle;
        }

        //پروفایل
        //ایجاد یک شی از کلاس دیتا ست.یوزر تیبل آداپتر
        DataAccessLayer.DataSet.UsersDataTable oUserDataTable =
            new DataAccessLayer.DataSet.UsersDataTable();

        //ایجاد یک شی از کلاس دیتا ست تیبل آدابتر دات یوزر تیبل  آداپتر
        DataAccessLayer.DataSetTableAdapters.UsersTableAdapter oUserTableAdapter =
            new DataAccessLayer.DataSetTableAdapters.UsersTableAdapter();

        //پر نمودن شی ساخته شده از تیبل آداپتر با شی ساخته شده از دیتا تیبل با متد مربوطه
        oUserTableAdapter.FillByUserId(oUserDataTable, (int)Session["UserID"]);

        //بررسی اینکه آیا کاربری وجود داشته است یا خیر
        if (oUserDataTable.Count != 1)
        {
            string strErrorMessage =
                Resources.Messages.ErrorMessage017;
            DisplayErrorMessage(strErrorMessage);
            return;
        }

        //ایجاد یک شی از کلاس دیتاست . یوزر رو و مقدار دهی آن توسط شی ساخته شده از دیتا تیبل
        DataAccessLayer.DataSet.UsersRow oUserRow = oUserDataTable[0];

        txtFullName.Text    = oUserRow.FullName;
        txtDescription.Text = oUserRow.UserDescription;
    }
Esempio n. 4
0
    //بدنه ایونت کلیک برای آپدیت نمودن پروفایل
    #region UpdateProfile_btnSubmit_Click(object sender, EventArgs e)

    /// <summary>
    /// بروز رسانی صفحه پروفایل کاربر
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            //ایجاد یک شی از کلاس دیتا ست.یوزر تیبل آداپتر
            DataAccessLayer.DataSet.UsersDataTable oUsersDataTable =
                new DataAccessLayer.DataSet.UsersDataTable();

            //ایجاد یک شی از کلاس دیتا ست تیبل آدابتر دات یوزر تیبل  آداپتر
            DataAccessLayer.DataSetTableAdapters.UsersTableAdapter oUsersTableAdapter =
                new DataAccessLayer.DataSetTableAdapters.UsersTableAdapter();

            //پر نمودن شی ساخته شده از تیبل آداپتر با شی ساخته شده از دیتا تیبل با متد مربوطه
            oUsersTableAdapter.FillByUserId(oUsersDataTable, (int)Session["UserID"]);

            //بررسی اینکه آیا کاربری وجود داشته است یا خیر
            if (oUsersDataTable.Count != 1)
            {
                string strErrorMessage =
                    Resources.Messages.ErrorMessage017;
                DisplayErrorMessage(strErrorMessage);
                return;
            }

            //ایجاد یک شی از کلاس دیتاست . یوزر رو و مقدار دهی آن توسط شی ساخته شده از دیتا تیبل
            DataAccessLayer.DataSet.UsersRow oUsersRow = oUsersDataTable[0];

            txtFullName.Text =
                txtFullName.Text.Trim();

            oUsersRow.FullName = txtFullName.Text;

            txtDescription.Text =
                txtDescription.Text.Trim();

            oUsersRow.UserDescription = txtDescription.Text;

            //بروز رسانی تیبل آدابتر با دیتا تیبل
            oUsersTableAdapter.Update(oUsersDataTable);

            string strInformationMessage =
                string.Format(Resources.Messages.InformationMessage006);

            DisplayInformationMessage(strInformationMessage);
        }
    }
Esempio n. 5
0
    //بدنه متد بررسی برای ثبت نام
    #region CehckForRegisterUser()

    /// <summary>
    /// متد بررسی نام کاربری و ایمیل کاربر هنگام ثبت نام
    /// این متد چهار ورودی دارد
    /// به ترتیب
    /// دیتا تیبل - تیبل آداپتر - نام کاربری و رایانامه
    /// این متد یک رشته استرینگ حاوی پیام خطا برمیگرداند
    /// در صورتی که مشکل هنگام ثبت نام وجود نداشته باشد مقدار رشته خالی است
    /// </summary>
    /// <param name="oUserDataTable"></param>
    /// <param name="oUserTableAdapter"></param>
    /// <param name="username"></param>
    /// <param name="email"></param>
    /// <returns></returns>
    private string CheckRegistration(DataAccessLayer.DataSet.UsersDataTable oUserDataTable,
                                     DataAccessLayer.DataSetTableAdapters.UsersTableAdapter oUserTableAdapter,
                                     string username, string email)
    {
        //ایجاد یک پیام خطا
        string strErrorMessage = string.Empty;

        //پر نمودن شی ورودی تیبل آدابتر با شی ورودی دیتا تیبل و نام کاربری توسط متد مربوطه
        oUserTableAdapter.FillByUsername(oUserDataTable, username);

        //بررسی اینکه آیا نام کاربری وارد شده در سیستم وجود دارد یا خیر
        if (oUserDataTable.Count != 0)
        {
            if (string.IsNullOrEmpty(strErrorMessage) == false)
            {
                strErrorMessage += "<br/>";
            }

            strErrorMessage += Resources.Messages.ErrorMessage015;
        }

        //پر نمودن شی ورودی تیبل آدابتر با شی ورودی دیتا تیبل و رایانامه توسط متد مربوطه
        oUserTableAdapter.FillByUserEmail(oUserDataTable, email);

        //بررسی اینکه آیا رایانامه وارد شده در سیستم وجود دارد یا خیر
        if (oUserDataTable.Count != 0)
        {
            if (string.IsNullOrEmpty(strErrorMessage) == false)
            {
                strErrorMessage += "<br/>";
            }

            strErrorMessage += Resources.Messages.ErrorMessage016;
        }

        //ارسال پیام خطا ایجاد شده به عنوان خروجی متد
        return(strErrorMessage);
    }
Esempio n. 6
0
    //بدنه ایونت کلیک برای ثبت نام
    #region Register_btnSubmit_Click(object sender, EventArgs e)

    /// <summary>
    /// ایونت کلیک دکمه سابمیت
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        try
        {
            //ایجاد یک شی از دیتا تیبل
            DataAccessLayer.DataSet.UsersDataTable oUserDataTable = new DataAccessLayer.DataSet.UsersDataTable();

            //ایجاد یک شی از تیبل آداپتر
            DataAccessLayer.DataSetTableAdapters.UsersTableAdapter oUserTableAdapter =
                new DataAccessLayer.DataSetTableAdapters.UsersTableAdapter();

            //ایجاد یک پیام خطا از جنس استرینگ و مقدار دهی آن با متد بررسی نام کاربری و ایمیل
            string strErrorMessage =
                CheckRegistration(oUserDataTable, oUserTableAdapter, txtUsername.Text, txtEmail.Text);

            //بررسی مقدار خروجی متد
            if (string.IsNullOrEmpty(strErrorMessage) == false)
            {
                DisplayErrorMessage(strErrorMessage);
                return;
            }

            //ایجاد یک شی از یوزر رو و مقدار دهی آن با یک خط جدید
            DataAccessLayer.DataSet.UsersRow oUserRow = oUserDataTable.NewUsersRow();

            //مقدار دهی بقیه فیلد های جدول یوزرز در دیتا بیس با استفاده از شی یوزر رو

            //برای ایجاد انگیزه در یوزر که بعدا مثلا کاربرایی که زیاد لاگین کرده در صدر کاربران نمایش دهیم
            oUserRow.LoginCount          = 0;
            oUserRow.IsUserEmailVerified = true;
            oUserRow.UserName            = txtUsername.Text.ToLower();

            oUserRow.UserEmail = txtEmail.Text.ToLower();
            oUserRow.Mobile    = txtMobile.Text;
            //فعال یا غیر فعال نمودن کاربر در هنگام ثبت نام
            oUserRow.IsUserActive = true;
            //زمان ثبت نام را ذخیره میکنیم
            System.DateTime dtmNow =
                Tools.Utility.GetNow();

            //زمان اینسرت کردن اطلاعات یوزر در سایت رو بدست میاریم
            oUserRow.InsertTime = dtmNow;
            //زمانی که مثلا یوزر پروفایل رو آپدیت میکنه
            oUserRow.UpdateTime = dtmNow;
            //زمان آخرین لاگین را ذخیره میکنیم
            oUserRow.LastLoginTime = Tools.Utility.GetMinDateTime();
            //نقش کاربر رو مشخص میکنیم
            oUserRow.RoleId          = (int)Tools.Roles.User;
            oUserRow.UserDescription = string.Empty;
            oUserRow.FullName        = string.Empty;
            //گذر واژه رو هش میکنیم
            //اس اچ ای وان هر چی بهش بدین کر 40 تایی بر میگردونه
            oUserRow.Password = Tools.Utility.GetSha1(txtPassword.Text);

            string strUserEmailVerificationKey = Tools.Utility.GetGuidWithoutDash();
            oUserRow.UserEmailVerificationKey = strUserEmailVerificationKey;

            //افزودن خط جدید ایجاد شده به شی دیتا تیبل
            oUserDataTable.AddUsersRow(oUserRow);

            //افزودن دیتا تیبل ایجاد شده به تیبل آداپتر
            oUserTableAdapter.Update(oUserDataTable);
            //ارسال کلید تائید ایمیل
            //Tools.Email.SendEmailAfterRegistration(txtUsername.Text, txtPassword.Text, txtEmail.Text,"", strUserEmailVerificationKey);



            string strPathName  = System.Web.HttpContext.Current.Server.MapPath("~/App_Data/LocalizedEmailTemplates/Register.htm");
            string strEmailBody = Tools.File.Read(strPathName);

            //جایگذاری اطلاعات کاربر با قالب
            strEmailBody = strEmailBody
                           .Replace("[FULL_NAME]", oUserRow.FullName)
                           .Replace("[USER_NAME]", txtUsername.Text)
                           .Replace("[PASSWORD]", txtPassword.Text);

            //ایجاد شی از میل آدرس
            System.Net.Mail.MailAddress oMailAddress =
                new System.Net.Mail.MailAddress(oUserRow.UserEmail, oUserRow.FullName, System.Text.Encoding.UTF8);

            //################################
            //کدهای مربوط به ارسال ایمیل
            //################################

            //نمایش پیام موفقیت در ثبت نام
            string strInformationMessage =
                Resources.Messages.InformationMessage004;
            DisplayInformationMessage(strInformationMessage);
        }


        catch (ApplicationException ex0)
        {
            //متغیر ای ایکس را لاگ کنید
            throw (new ApplicationException(Resources.Messages.ErrorMessage020));
        }

        catch (Exception ex)
        {
            //متغیر ای ایکس را لاگ کنید
            string strErrorMessage = string.Format(Resources.Messages.ErrorMessage020);
            DisplayErrorMessage(strErrorMessage);
            return;
        }
    }
Esempio n. 7
0
    //ایونت تغییر گذرواژه
    #region ChangePassword_btnChangePassword_Click(object sender, EventArgs e)
    /// <summary>
    /// متد تغییر گذرواژه
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            try
            {
                //ایجاد یک شی از یوزرز دیتا تیبل
                DataAccessLayer.DataSet.UsersDataTable oUserDataTable = new DataAccessLayer.DataSet.UsersDataTable();
                //ایجاد یک شی از  یوزرز تیبل آدابتر
                DataAccessLayer.DataSetTableAdapters.UsersTableAdapter oUserTableAdapter =
                    new DataAccessLayer.DataSetTableAdapters.UsersTableAdapter();
                //فیل کردن تیبل آدابتر با دیتاتیبل و متد مربوطه
                oUserTableAdapter.FillByUsername(oUserDataTable, txtUsername.Text);

                //اگر مقداری وجود نداشت
                if (oUserDataTable.Count != 1)
                {
                    //نمایش پیغام خطا
                    litPageMessages.Text = string.Format
                                               (Resources.Messages.ErrorMessage021);
                }

                //در غیر اینصورت یک خط از مشخصات همان کاربر در هوا میگیریم
                DataAccessLayer.DataSet.UsersRow oUserRow = oUserDataTable[0];

                //مقدار دهی خط در دیتا بیس توسط کنترل های تکست باکس موجود در صفحه
                string strFullName    = oUserRow.FullName;
                string strUserEmail   = oUserRow.UserEmail;
                string strNewPassword = txtNewPassword.Text;
                //هش کردن گذر واژه
                string strHashOfNewPassword = Tools.Utility.GetSha1(strNewPassword);
                oUserRow.Password = strHashOfNewPassword;
                oUserTableAdapter.Update(oUserDataTable);
                //مراحل خواندن قالب از آدرس ذیل
                string strPathName  = System.Web.HttpContext.Current.Server.MapPath("~/App_Data/LocalizedEmailTemplates/ForgotPasswordUserEmail.htm");
                string strEmailBody = Tools.File.Read(strPathName);
                //جایگزینی مقادیر قالب توسط مقادیر مرتبط
                strEmailBody = strEmailBody
                               .Replace("[FULL_NAME]", strFullName)
                               .Replace("[USER_NAME]", txtUsername.Text)
                               .Replace("[PASSWORD]", strNewPassword);

                //ارسال رایانامه برای کاربر
                System.Net.Mail.MailAddress oMailAddress =
                    new System.Net.Mail.MailAddress(strUserEmail, strFullName, System.Text.Encoding.UTF8);

                //################################
                //کدهای مربوط به ارسال ایمیل
                //################################

                //نمایش پیغام موفقیت
                divPageMessages.Visible = true;
                litPageMessages.Text    = string.Format(Resources.Messages.InformationMessage007);
            }

            catch (ApplicationException ex0)
            {
                //متغیر ای ایکس را لاگ کنید
                throw (new ApplicationException(Resources.Messages.ErrorMessage020));
            }

            catch (Exception ex)
            {
                //متغیر ای ایکس را لاگ کنید
                string strErrorMessage = string.Format(Resources.Messages.ErrorMessage020);
                DisplayErrorMessage(strErrorMessage);
                return;
            }
        }
    }
Esempio n. 8
0
    //بدنه مربوط به متد اینیشیالایز
    #region Initialize()
    /// <summary>
    /// متد ذیل در هنگام بارگزاری صفحه اتفاق میفتد
    /// </summary>
    private void Initialize()
    {
        // تکميل فيلد {0} الزامی است
        rfvUsername.ErrorMessage =
            string.Format(Resources.Messages.ErrorMessage002, Resources.Captions.Username);

        // تکميل فيلد {0} الزامی است
        rfvPassword.ErrorMessage =
            string.Format(Resources.Messages.ErrorMessage002, Resources.Captions.Password);

        // تکميل فيلد {0} الزامی است
        rfvEmail.ErrorMessage =
            string.Format(Resources.Messages.ErrorMessage002, Resources.Captions.Email);

        // تکميل فيلد {0} الزامی است
        rfvEmail.ErrorMessage =
            string.Format(Resources.Messages.ErrorMessage002, Resources.Captions.Mobile);

        try
        {
            //غیر فعال کردن برخی از فیلدها
            txtUserID.Enabled     = false;
            txtRoleID.Enabled     = false;
            txtPassword.Enabled   = false;
            txtEmail.Enabled      = false;
            btnCreateUser.Visible = false;
            //تعریف یک رشته که حاوی یوزر آی دی از آدرس بار میباشد
            string strUserId = Request.Params["UserID"];

            //تعریف دیتا تیبل
            DataAccessLayer.DataSet.UsersDataTable oUserDataTable = new DataAccessLayer.DataSet.UsersDataTable();

            //تعریف تیبل آدابتر
            DataAccessLayer.DataSetTableAdapters.UsersTableAdapter oUserTableAdapters =
                new DataAccessLayer.DataSetTableAdapters.UsersTableAdapter();
            //فیل کردن تیبل آدابتر با دیتا تیبل و متد مربوطه
            oUserTableAdapters.FillByUserId(oUserDataTable, Convert.ToInt32(strUserId));

            //اگر کاربری وجود نداشت
            if (oUserDataTable.Count != 1)
            {
                string strErrorMessage = Resources.Messages.ErrorMessage013;
                DisplayErrorMessage(strErrorMessage);
                return;
            }

            //داشتن مشخصات کاربر در یک خط
            DataAccessLayer.DataSet.UsersRow oUserrow = oUserDataTable[0];

            //بایند کردن کنترل های صفحه از دیتا بیس
            txtEmail.Text    = oUserrow.UserEmail;
            txtPassword.Text = oUserrow.Password;
            txtRoleID.Text   = oUserrow.RoleId.ToString();
            txtUserID.Text   = oUserrow.UserId.ToString();
            txtUsername.Text = oUserrow.UserName;
            txtMobile.Text   = oUserrow.Mobile.ToString();

            //تطابق دراب دان لیست با نام رول که توسط رول آی دی گرفته شده است
            switch (txtRoleID.Text)
            {
            case "0":
            {
                ddlRoleId.SelectedValue = "0";
                break;
            }

            case "900":
            {
                ddlRoleId.SelectedValue = "900";
                break;
            }

            case "100":
            {
                ddlRoleId.SelectedValue = "100";
                break;
            }

            case "200":
            {
                ddlRoleId.SelectedValue = "200";
                break;
            }

            case "300":
            {
                ddlRoleId.SelectedValue = "300";
                break;
            }

            case "400":
            {
                ddlRoleId.SelectedValue = "400";
                break;
            }

            case "500":
            {
                ddlRoleId.SelectedValue = "500";
                break;
            }

            case "600":
            {
                ddlRoleId.SelectedValue = "600";
                break;
            }

            case "700":
            {
                ddlRoleId.SelectedValue = "700";
                break;
            }

            case "800":
            {
                ddlRoleId.SelectedValue = "800";
                break;
            }

            default:
            {
                ddlRoleId.SelectedValue = "0";
                break;
            }
            }

            //اگر کاربر فعال بود چک باکس مربوطه فعال شود
            if (oUserrow.IsUserActive == true)
            {
                chkUserActive.Checked = true;
            }
            //در غیر اینصورت غیر فعال شود
            else
            {
                chkUserActive.Checked = false;
            }

            //اگر ایمیل کاربر تائید شده بود چک باکس مربوطه فعال شود
            if (oUserrow.IsUserEmailVerified == true)
            {
                chkEmailVerified.Checked = true;
            }
            //در غیر اینصورت غیر فعال شود
            else
            {
                chkEmailVerified.Checked = false;
            }
        }
        catch (ApplicationException ex0)
        {
            //متغیر ای ایکس را لاگ کنید
            throw (new ApplicationException(Resources.Messages.ErrorMessage020));
        }

        catch (Exception ex)
        {
            //متغیر ای ایکس را لاگ کنید
            string strErrorMessage = string.Format(Resources.Messages.ErrorMessage020);
            DisplayErrorMessage(strErrorMessage);
            return;
        }
    }
Esempio n. 9
0
    //بدنه مربوط به ویرایش اطلاعات کاربر
    #region EditUsers_btnEdit_Click(object sender, EventArgs e)
    /// <summary>
    /// ایونت کلیک دکمه ویرایش
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnEdit_Click(object sender, EventArgs e)
    {
        try
        {
            //تعریف دیتا تیبل
            DataAccessLayer.DataSet.UsersDataTable oUserDataTable = new DataAccessLayer.DataSet.UsersDataTable();
            //تعریف تیبل آدابتر
            DataAccessLayer.DataSetTableAdapters.UsersTableAdapter oUserTableAdapter =
                new DataAccessLayer.DataSetTableAdapters.UsersTableAdapter();
            //فیل نمودن تیبل آدابتر با دیتا تیبل و متد مربوطه
            oUserTableAdapter.FillByUserId(oUserDataTable, Convert.ToInt32(txtUserID.Text));
            //داشتن مشخصات کاربر در یک خط
            DataAccessLayer.DataSet.UsersRow oUserRow = oUserDataTable[0];
            //اگر کاربری وجود نداشت
            if (oUserDataTable.Count != 1)
            {
                string strErrorMessage =
                    Resources.Messages.ErrorMessage017;
                DisplayErrorMessage(strErrorMessage);
                return;
            }
            //در غیر اینصورت مقادیر کنترل ها در دیتا بیس مینشیند
            oUserRow.IsUserEmailVerified = chkEmailVerified.Checked;
            oUserRow.IsUserActive        = chkUserActive.Checked;

            //نشاندن مقدار رشته ای رول در دیتابیس و تطابق آن با تکست باکس رول آی دی
            switch (ddlRoleId.SelectedItem.Text)
            {
            case "None":
            {
                //تطابق
                txtRoleID.Text = ddlRoleId.SelectedValue.ToString();
                //نشاندن در دیتابیس
                oUserRow.RoleId = 0;
                break;
            }

            case "User":
            {
                txtRoleID.Text  = ddlRoleId.SelectedValue.ToString();
                oUserRow.RoleId = 900;
                break;
            }

            case "Programmer":
            {
                txtRoleID.Text  = ddlRoleId.SelectedValue.ToString();
                oUserRow.RoleId = 100;
                break;
            }

            case "Administrator":
            {
                txtRoleID.Text  = ddlRoleId.SelectedValue.ToString();
                oUserRow.RoleId = 200;
                break;
            }

            case "Editor":
            {
                txtRoleID.Text  = ddlRoleId.SelectedValue.ToString();
                oUserRow.RoleId = 300;
                break;
            }

            case "SuperUser":
            {
                txtRoleID.Text  = ddlRoleId.SelectedValue.ToString();
                oUserRow.RoleId = 400;
                break;
            }

            case "Manager":
            {
                txtRoleID.Text  = ddlRoleId.SelectedValue.ToString();
                oUserRow.RoleId = 500;
                break;
            }

            case "SuperVisor":
            {
                txtRoleID.Text  = ddlRoleId.SelectedValue.ToString();
                oUserRow.RoleId = 600;
                break;
            }

            case "Reporter":
            {
                txtRoleID.Text  = ddlRoleId.SelectedValue.ToString();
                oUserRow.RoleId = 700;
                break;
            }

            case "SpecialUser":
            {
                txtRoleID.Text  = ddlRoleId.SelectedValue.ToString();
                oUserRow.RoleId = 800;
                break;
            }
            }

            //بروز رسانی دیتا بیس
            oUserTableAdapter.Update(oUserDataTable);

            //نمایش پیام موفقیت در عملیات
            divPageMessage.Visible = true;
            string strInformationMessage =
                Resources.Messages.InformationMessage009;
            litPageMessage.Text = strInformationMessage;

            string strPathName  = System.Web.HttpContext.Current.Server.MapPath("~/App_Data/LocalizedEmailTemplates/UserEdit.htm");
            string strEmailBody = Tools.File.Read(strPathName);

            //جایگذاری اطلاعات کاربر با قالب
            strEmailBody = strEmailBody
                           .Replace("[USER_NAME]", txtUsername.Text)
                           .Replace("[ROLE ID]", ddlRoleId.SelectedItem.Text)
                           .Replace("[ACTIVE]", chkUserActive.Checked.ToString())
                           .Replace("[VERIFIED]", chkEmailVerified.Checked.ToString());


            //ایجاد شی از میل آدرس
            System.Net.Mail.MailAddress oMailAddress =
                new System.Net.Mail.MailAddress(oUserRow.UserEmail, oUserRow.FullName, System.Text.Encoding.UTF8);

            //################################
            //کدهای مربوط به ارسال ایمیل
            //################################
        }
        catch (ApplicationException ex0)
        {
            //متغیر ای ایکس را لاگ کنید
            throw (new ApplicationException(Resources.Messages.ErrorMessage020));
        }

        catch (Exception ex)
        {
            //متغیر ای ایکس را لاگ کنید
            string strErrorMessage = string.Format(Resources.Messages.ErrorMessage020);
            DisplayErrorMessage(strErrorMessage);
            return;
        }
    }
Esempio n. 10
0
    //بدنه ایونت کلیک برای لاگین
    #region Login_btnSubmit_Click(object sender, EventArgs e)

    /// <summary>
    /// ایونت کلیک روی دکمه سابمیت
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        try
        {
            //چک نمودن ولید بودن صفحه
            if (Page.IsValid)
            {
                //ایجاد یک شی از کلاس دیتا ست.یوزر تیبل آداپتر
                DataAccessLayer.DataSet.UsersDataTable oUserDataTable = new DataAccessLayer.DataSet.UsersDataTable();

                //ایجاد یک شی از کلاس دیتا ست تیبل آدابتر دات یوزر تیبل  آداپتر
                DataAccessLayer.DataSetTableAdapters.UsersTableAdapter oUserTableAdapter =
                    new DataAccessLayer.DataSetTableAdapters.UsersTableAdapter();

                //پر نمودن شی ساخته شده از تیبل آداپتر با شی ساخته شده از دیتا تیبل با متد مربوطه
                oUserTableAdapter.FillByUsername(oUserDataTable, txtUsername.Text);

                //بررسی اینکه آیا کاربری وجود داشته است یا خیر
                if (oUserDataTable.Count != 1)
                {
                    string strErrorMessage = Resources.Messages.ErrorMessage013;
                    DisplayErrorMessage(strErrorMessage);
                    return;
                }

                //ایجاد یک شی از کلاس دیتاست . یوزر رو و مقدار دهی آن توسط شی ساخته شده از دیتا تیبل
                DataAccessLayer.DataSet.UsersRow oUserRow = oUserDataTable[0];

                //هش کردن گذرواژه
                string strPassword = Tools.Utility.GetSha1(txtPassword.Text);

                //بررسی یکسان بودن گذرواژه
                if (string.Compare(oUserRow.Password, strPassword, true) != 0)
                {
                    string strErrorMessage = Resources.Messages.ErrorMessage013;
                    DisplayErrorMessage(strErrorMessage);
                    return;
                }

                //بررسی فعال بودن کاربر
                if (oUserRow.IsUserActive == false)
                {
                    string strErrorMessage = string.Format(Resources.Messages.ErrorMessage014, txtUsername.Text);
                    DisplayErrorMessage(strErrorMessage);
                    return;
                }

                if (oUserRow.IsUserEmailVerified == false)
                {
                    // Your E-Mail was not verified by site! Please check your E-MailBox...
                    string strErrorMessage = string.Format(Resources.Messages.ErrorMessage019);
                    DisplayErrorMessage(strErrorMessage);
                    return;
                }

                //به تعداد لاگین های کاربر یکمقدار اضافه میکنیم
                oUserRow.LoginCount++;
                //زمان لاگین نمودن کاربر را توسط متد گت نو که در کلاس یوتیلیتی در فولدر مای وب اپلیکیشن هست ثبت میکنیم
                oUserRow.LastLoginTime = Tools.Utility.GetNow();

                //بروز رسانی تیبل آدابتر یوزر و بانک اطلاعاتی
                oUserTableAdapter.Update(oUserDataTable);

                //دو سشن شماره و نام کاربری ایجاد میکنیم
                //سشن ها متغیر های برای یک کاربر و برای تمام صفحات وب سایت هستند
                Session["UserID"]   = oUserRow.UserId;
                Session["Username"] = oUserRow.UserName;
                Session["RoleID"]   = oUserRow.RoleId;

                //کاربر را ساین این میکنیم
                System.Web.Security.FormsAuthentication.RedirectFromLoginPage(oUserRow.UserName, false);
            }
        }

        catch (ApplicationException ex0)
        {
            //متغیر ای ایکس را لاگ کنید
            throw (new ApplicationException(Resources.Messages.ErrorMessage020));
        }

        catch (Exception ex)
        {
            //متغیر ای ایکس را لاگ کنید
            string strErrorMessage = string.Format(Resources.Messages.ErrorMessage020);
            DisplayErrorMessage(strErrorMessage);
            return;
        }
    }
Esempio n. 11
0
    //بدنه ایجاد خبرنامه
    #region btnSubmit_Click(object sender, EventArgs e)
    /// <summary>
    /// ایونت ایجاد پست
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnCreateNewsletter_Click(object sender, EventArgs e)
    {
        //اگر وجود داشت از استریم ریدر یک شی میسازیم تا محتویات فایل را بخوانیم
        try
        {
            //با استفاده از دیتا تیبل و تیبل آدابتور یک خط جدید ایجاد میکنیم
            DataAccessLayer.DataSet.PostsDataTable oPostDataTable = new DataAccessLayer.DataSet.PostsDataTable();

            DataAccessLayer.DataSetTableAdapters.PostsTableAdapter oPostTableAdapter =
                new DataAccessLayer.DataSetTableAdapters.PostsTableAdapter();

            DataAccessLayer.DataSet.PostsRow oPostRow = oPostDataTable.NewPostsRow();


            DataAccessLayer.DataSet.UsersDataTable oUserDataTable = new DataAccessLayer.DataSet.UsersDataTable();

            DataAccessLayer.DataSetTableAdapters.UsersTableAdapter oUserTableAdapters =
                new DataAccessLayer.DataSetTableAdapters.UsersTableAdapter();

            oUserTableAdapters.Fill(oUserDataTable);


            //Sava To Database1
            //###########################################################################

            //مقدار دهی به خط ایجاد شده
            oPostRow.Body         = txtPost.Text;
            oPostRow.ExtendedBody = "";
            System.DateTime dtmNow =
                Tools.Utility.GetNow();
            oPostRow.InsertTime       = dtmNow;
            oPostRow.UpdateTime       = dtmNow;
            oPostRow.PostCategoryId   = 1;
            oPostRow.PostTypeId       = 29;
            oPostRow.Title            = txtSubject.Text;
            oPostRow.UserId           = (int)Session["UserId"];
            oPostRow.PublishTime      = dtmNow;
            oPostRow.PostVisitedCount = 0;
            oPostRow.Keywords         = "خبرنامه ";
            oPostRow.Password         = string.Empty;
            oPostRow.IsHot            = false;
            oPostRow.IsPostActive     = true;
            oPostRow.IsCommentEnabled = true;


            //خط جدید مقدار دهی شده را به دیتا تیبل اد میکنیم
            oPostDataTable.AddPostsRow(oPostRow);
            //تیبل آدابتر و بروز رسانی دیتا بیس
            oPostTableAdapter.Update(oPostDataTable);

            string strPathName  = System.Web.HttpContext.Current.Server.MapPath("~/App_Data/LocalizedEmailTemplates/News.htm");
            string strEmailBody = Tools.File.Read(strPathName);

            //جایگذاری اطلاعات کاربر با قالب
            strEmailBody = strEmailBody
                           .Replace("[Subject]", oPostRow.Title)
                           .Replace("[Body]", oPostRow.Body);


            if (oUserDataTable.Count != 0)
            {
                for (int i = 0; i < oUserDataTable.Count; i++)
                {
                    //ایجاد شی از میل آدرس
                    System.Net.Mail.MailAddress oMailAddress =
                        new System.Net.Mail.MailAddress(oUserDataTable[i].UserEmail);
                    //################################
                    //کدهای مربوط به ارسال ایمیل
                    //################################
                }
            }

            //نمایش پیام موفقیت
            string strInformationMessage =
                Resources.Messages.InformationMessage012;
            DisplayInformationMessage(strInformationMessage);
        }
        catch (ApplicationException ex0)
        {
            //متغیر ای ایکس را لاگ کنید
            throw (new ApplicationException(Resources.Messages.ErrorMessage020));
        }

        catch (Exception ex)
        {
            //متغیر ای ایکس را لاگ کنید
            string strErrorMessage = string.Format(Resources.Messages.ErrorMessage020);
            DisplayErrorMessage(strErrorMessage);
            return;
        }
    }