Ejemplo n.º 1
0
        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();
                });
            }
        }
Ejemplo n.º 2
0
        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;
                }
            }
        }