private async void dgvPayList_CellContentClick(object sender, DataGridViewCellEventArgs e) { DataGridView view = (DataGridView)sender; if ((view.Columns[e.ColumnIndex] is DataGridViewButtonColumn) && (e.RowIndex >= 0)) { await Task.Run(() => { PayLine line = new PayLine(); string str = view.Rows[e.RowIndex].Cells["TransId"].Value.ToString(); string str2 = view.Rows[e.RowIndex].Cells["IdGet"].Value.ToString(); view.Rows[e.RowIndex].Cells["Status"].Value = line.Get(str, str2).ToString(); }); } }
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; } } }