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")); }
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")); }
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")); }