public static int Signup(string email, string password) { int num = -1; string str = RandomPassword.Create(6, true); List <SqlParameter> parameter = new List <SqlParameter> { new SqlParameter("@Email", email), new SqlParameter("@Password", password), new SqlParameter("@StateId", 1), new SqlParameter("@ConfirmCode", str) }; num = (int)DataProvider.GetValue(parameter, "sp_InsertUser"); if (num > 0) { EmailManager.Send(email, "کد تایید ایمیل", str); } return(num); }
private void AnalizeCommand(String msg) { try { var js = new JavaScriptSerializer(); var obj = js.Deserialize <Message>(msg); if (CheckClientVersion(obj.Version) == false) { return; } Dictionary <string, object> dic = (Dictionary <string, object>)obj.Data; this.LastRequestTime = DateTime.Now; this.LastCommand = obj.Command; OnPropertyChanged("LastRequest"); OnPropertyChanged("LastCommand"); switch (obj.Command) { case Commands.Login: { string email = dic["email"].ToString(); string password = dic["password"].ToString(); ProccessLogin(email, password, obj.SystemId); break; } case Commands.Signup: { string email = dic["email"].ToString(); string password = dic["password"].ToString(); var result = DatabaseManager.Signup(email, password); SendCommand(Commands.Signup, new { result = result }); break; } case Commands.Confirm: { ProccessConfirm(dic); break; } case Commands.RegisterSite: { RegisterSite(dic); break; } case Commands.DeleteSite: { var siteId = Convert.ToInt32(dic["id"]); var result = DatabaseManager.DeleteSite(siteId); SendCommand(Commands.DeleteSite, new { result = result }); if (result == true) { var status = DatabaseManager.GetStatus(this.UserId); RizehServer.UpdateClientsStatus("sites", status.TotalSites); } break; } case Commands.UpdateSite: { UpdateSite(dic); break; } case Commands.NextSite: { ProccessNextSite(); break; } case Commands.UserWebsiteList: { RizehServer.ProccessUserWebsiteList(this.UserId); break; } case Commands.UserPayments: { ProccessUserPayments(this.UserId); break; } case Commands.ProductList: { var list = DatabaseManager.GetProductsList(); SendCommand(Commands.ProductList, new { list = list }); break; } case Commands.Pays: { var result = false; var url = ""; var id = (int)dic["id"]; var cost = DatabaseManager.GetProductCost(id) * 10; var payline = new PayLine(); var id_get = payline.Send(cost); var pay = new Payments() { ProductId = id, UserId = UserId, IdGet = id_get, Status = 0, Amount = cost }; result = DatabaseManager.InsertPayment(pay); if (result == true && id_get > 0) { url = String.Format("http://payline.ir/payment/gateway-{0}", id_get); } else { result = false; } SendCommand(Commands.Pays, new { result = result, url = url }); break; } case Commands.ChangePassword: { var result = DatabaseManager.ChangePassword(UserId, dic["oldPassword"].ToString(), dic["newPassword"].ToString()); SendCommand(Commands.ChangePassword, new { result = result }); break; } case Commands.ResetPassword: { var email = dic["email"].ToString(); var userId = DatabaseManager.GetUserIdFromEmail(email); if (userId > 0) { var key = Cryptor.EncryptRijndael(userId.ToString(), "Rizeh.com"); var link = String.Format("http://www.rizeh.com/reset.aspx?key={0}", key); EmailManager.Send(email, "بازنشانی رمز عبور در ریزه", Settings.Default.ResetPasswordEmail.Replace("[Url]", link)); SendCommand(Commands.ResetPassword, new { result = true }); } else { SendCommand(Commands.ResetPassword, new { result = false }); } break; } default: { break; } } } catch (Exception ex) { OnExeptionOccured(MethodInfo.GetCurrentMethod().Name, ex.Message); if (InvalidCmdCount >= 5) { this.Disconnect(); } else { InvalidCmdCount = InvalidCmdCount + 1; } } }
private void ProccessLogin(string email, string password, string systemId) { int userId; var result = DatabaseManager.Login(email, password, this.ClientIP, systemId, out userId); if (result == LoginStatus.IsValid) { this.UserId = userId; OnPropertyChanged("UserId"); this.IsAuthenticated = true; OnPropertyChanged("IsAuthenticated"); var dtSites = DatabaseManager.GetUserWebsites(userId); var status = DatabaseManager.GetStatus(userId); //______________________________________________________________________________________________ //واکشی سایت بعدی برای نمایش bool mustClear = false; var url = "http://www.rizeh.com"; var vSite = DatabaseManager.GetRandomSite(this.UserId, LastSiteId, this.ClientIP, tblVisitedSites, out mustClear); if (mustClear) { tblVisitedSites.Clear(); } if (vSite != null) { url = vSite.Url; LastSiteId = vSite.SiteId; if (tblVisitedSites.Rows.Find(vSite.SiteId) == null) { var row = tblVisitedSites.NewRow(); row["SiteId"] = vSite.SiteId; tblVisitedSites.Rows.Add(row); } } //______________________________________________________________________________________________ var data = new { result = result, totalUsers = status.TotalUsers, sites = status.TotalSites, scores = status.Scores, url = url, onlines = GetTotalOnlines(), dtSites = dtSites }; SendCommand(Commands.Login, data); RizehServer.UpdateClientsStatus("onlines", RizehServer.Clients.Where(c => c.IsAuthenticated == true).Count()); return; } else if (result == LoginStatus.IsNotApproved) { var code = DatabaseManager.GetConfirmCode(email); EmailManager.Send(email, "کد تایید ایمیل", code); } SendCommand(Commands.Login, new { result = result }); }