-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathResetPassword.aspx.cs
110 lines (85 loc) · 3.98 KB
/
ResetPassword.aspx.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class ResetPassword : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSendVerify_OnClick(object sender, EventArgs e)
{
try
{
var db = new DataClassesDataContext();
var query = (from t in db.WebUserTables
where t.Username == txtUsername3.Text
select t).SingleOrDefault();
if (query == null)
{
lblResult.ForeColor = Color.Red;
lblResult.Text = "نام کاربری با این نام وجود ندارد";
txtUsername3.Text = "";
return;
}
Regex regexMobile = new Regex(@"(^(09|9)[0-3][0-9]\d{7}$)");
Regex regexEmail = new Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
if (regexMobile.IsMatch(txtUsername3.Text))
{
if (query.VerifyMobile == false)
{
lblResult.ForeColor = Color.Red;
lblResult.Text = "نام کاربری اعتبار سنجی نشده است";
txtUsername3.Text = "";
}
SmsWs sms = new SmsWs();
var code = new Random().Next(100000, 999999);
query.Password = FormsAuthentication.HashPasswordForStoringInConfigFile(code.ToString(), "md5");
var smsEntity = new SmsEntity();
smsEntity.Receptor = query.Mobile;
smsEntity.Message = "کلمه عبور جدید: " + code + "\r\nhttp:\\mapino.ir";
if (sms.Insert(smsEntity))
{
lblResult.ForeColor = Color.Green;
lblResult.Text = "پیامک بازنشانی کلمه عبور با موفقیت ارسال شد";
db.SubmitChanges();
}
}
else if (regexEmail.IsMatch(txtUsername3.Text))
{
if (query.VerifyEmail == false)
{
lblResult.ForeColor = Color.Red;
lblResult.Text = "نام کاربری اعتبار سنجی نشده است";
txtUsername3.Text = "";
}
var code = new Random().Next(100000, 999999);
query.Password = FormsAuthentication.HashPasswordForStoringInConfigFile(code.ToString(), "md5");
string emailBody = "کاربر گرامی: " + query.Name + "\n" +
"این ایمیل از سایت مپی نو برای شما ارسال شده است." +
"\n" +
"کلمه عبور شما بازنشانی شده است و کلمه عبور جدیدی به درخواست شما ارسال گردیده است." +
"\n" +
"تاریخ: " + FarsiLibrary.Utils.PersianDate.Now.ToString("yy/mm/dd") + "\n" + "\n" +
"کلمه عبور جدید :" + code + "\n" +
"لطفا پس از ورود کلمه عبور خود را تغییر دهید";
if (GlobalFunction.SendEmail(query.Email, "بازنشانی حساب کاربری - mapino.ir", emailBody) == true)
{
lblResult.ForeColor = Color.Green;
lblResult.Text = "ایمیل بازنشانی کلمه عبور با موفقیت ارسال شد";
db.SubmitChanges();
}
}
}
catch (Exception ex)
{
ErrorClass.Insert(ex.Message,ex.StackTrace,"کاربر سایت");
throw;
}
}
}