コード例 #1
0
        public async Task <ActionResult> Reject(int ID)
        {
            if (ID == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            AssestsRequest _request = await db.AssestsRequests.FirstOrDefaultAsync(r => r.ID == ID);

            if (_request != null)
            {
                _request.StatusChangedOn = DateTime.Now;
                _request.Status          = "Rejected";
                _request.HasRejected     = true;
                _request.HasApproved     = false;

                await db.SaveChangesAsync();

                TempData["Notification"] = new Notification("Success", "New requsts has been rejected successfully");
            }
            else
            {
                TempData["Notification"] = new Notification("Error", "Invalid Requst. Please try again later.");
            }

            return(RedirectToAction("requests"));
        }
コード例 #2
0
        public async Task <ActionResult> Request(Payment model)
        {
            SAPIResponse _pv = await AppManager.GetPV(AppManager.User.Email);

            if (_pv != null && _pv.data != null)
            {
                AssestsRequest _request = new AssestsRequest();
                _request.UserID      = AppManager.User.ID;
                _request.Assest      = "Seratio Coin";
                _request.Quantity    = model.Quantity;
                _request.CreatedOn   = DateTime.Now;
                _request.Status      = "Pending";
                _request.HasRejected = false;
                _request.HasApproved = false;

                db.AssestsRequests.Add(_request);
                await db.SaveChangesAsync();

                TempData["Notification"] = new Notification("Success", "Your request has been processed successfully");
                return(RedirectToAction("requests"));
            }

            else
            {
                TempData["Notification"] = new Notification("Error", "You need to have your Personal Value Score calculated in order to make a transaction.");
            }

            return(RedirectToAction("request"));
        }
コード例 #3
0
        public async Task <ActionResult> Approve(int ID)
        {
            if (ID == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            AssestsRequest _request = await db.AssestsRequests.FirstOrDefaultAsync(r => r.ID == ID);

            if (_request != null)
            {
                _request.StatusChangedOn = DateTime.Now;
                _request.Status          = "Approved";
                _request.HasApproved     = true;
                _request.HasRejected     = false;

                await db.SaveChangesAsync();

                var _recipient = db.Users.FirstOrDefault(u => u.Email == _request.User.Email && u.IsDataActive);


                if (_recipient != null && !string.IsNullOrEmpty(_recipient.BCHash))
                {
                    if (!string.IsNullOrEmpty(_request.Assest))
                    {
                        var _duplicateAssets = (await Client.ListAssetsAsync(_request.Assest)).Result;

                        var _response = await Client.IssueMoreAsync(Rijndael.Decrypt(_recipient.BCHash), _request.Assest, (decimal)_request.Quantity);

                        if (string.IsNullOrEmpty(_response.Error))
                        {
                            TempData["Notification"] = new Notification("Success", $"More quantity of {_request.Assest} has been issued successfully");
                        }
                        else
                        {
                            TempData["Notification"] = new Notification("Error", _response.Error);
                        }
                    }
                    else
                    {
                        object _asset = new
                        {
                            name = _request.Assest,
                            open = true
                        };

                        var _response = await Client.IssueAsync(Rijndael.Decrypt(_recipient.BCHash), _asset, (int)_request.Quantity, 5);

                        if (string.IsNullOrEmpty(_response.Error))
                        {
                            TempData["Notification"] = new Notification("Success", "New Asset has been created successfully");
                        }
                        else
                        {
                            TempData["Notification"] = new Notification("Error", _response.Error);
                        }
                    }
                }
                else
                {
                    TempData["Notification"] = new Notification("Error", "Invalid Requst. Please try again later.");
                }
            }
            return(RedirectToAction("requests"));
        }