Exemple #1
0
        public ActionResult ResolveDispute([Bind(Include = "transaction")] ResolveDispute model, Resolve SelectedResolve, Int32 ProductID, string NewAmount, Int32 DisputeID)
        {
            if (ModelState.IsValid)
            {
                string  id      = User.Identity.GetUserId();
                AppUser manager = db.Users.Find(id);

                Product     SelectedProduct     = db.Accounts.Find(ProductID);
                Transaction transactionToChange = db.Transactions.Find(DisputeID);
                Dispute     disputeToChange     = db.Disputes.Find(DisputeID);
                transactionToChange.Comments = model.transaction.Comments;

                if (SelectedResolve == Resolve.Accepted)
                {
                    transactionToChange.Amount = disputeToChange.Amount;

                    //How does this affect the other transfer transaction
                }
                else if (SelectedResolve == Resolve.Adjusted)
                {
                    if (NewAmount == "" || NewAmount == null)
                    {
                        return(View(model));
                    }
                    decimal newAmount = Convert.ToDecimal(NewAmount);

                    if (newAmount <= 0)
                    {
                        return(View(model));
                    }

                    if (transactionToChange.TransactionType == "Withdrawal")
                    {
                        newAmount = -newAmount;
                    }

                    transactionToChange.Amount = newAmount;
                }

                SelectedProduct.Balance             = GetBalance(SelectedProduct);
                disputeToChange.Status              = SelectedResolve.ToString();
                disputeToChange.Manager             = manager;
                db.Entry(disputeToChange).State     = EntityState.Modified;
                db.Entry(transactionToChange).State = EntityState.Modified;
                db.Entry(SelectedProduct).State     = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(model));
        }
Exemple #2
0
        public ActionResult ResolveDispute(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Dispute dispute = db.Disputes.Find(id);

            if (dispute == null)
            {
                return(HttpNotFound());
            }
            Transaction    transaction = db.Transactions.Find(dispute.DisputeID);
            ResolveDispute model       = new ResolveDispute();

            model.dispute     = dispute;
            model.transaction = transaction;
            ViewBag.id        = transaction.Account.ProductID;
            ViewBag.disputeid = dispute.DisputeID;
            return(View(model));
        }