示例#1
0
        public ActionResult Abort(int?id)
        {
            if (id != null)
            {
                bool result = _orderService.AbortOrder(id.Value, User.Identity.GetUserId());
                var  order  = _orderService.GetOrder(id.Value, i => i.Seller, i => i.Buyer,
                                                     i => i.Buyer.ApplicationUser, i => i.Seller.ApplicationUser, i => i.CurrentStatus);
                if (result && order != null)
                {
                    if (order.JobId != null)
                    {
                        BackgroundJob.Delete(order.JobId);
                        order.JobId = null;
                    }

                    _orderService.SaveOrder();

                    MarketHangfire.SetSendEmailChangeStatus(order.Id, order.Seller.ApplicationUser.Email, order.CurrentStatus.DuringName, Url.Action("SellDetails", "Order", new { id = order.Id }, protocol: Request.Url.Scheme));

                    MarketHangfire.SetSendEmailChangeStatus(order.Id, order.Buyer.ApplicationUser.Email, order.CurrentStatus.DuringName, Url.Action("BuyDetails", "Order", new { id = order.Id }, protocol: Request.Url.Scheme));

                    _orderService.SaveOrder();
                    return(RedirectToAction("BuyDetails", "Order", new { id }));
                }
            }
            return(HttpNotFound());
        }