public virtual ActionResult Payment(int orderId, Guid userId) { var user = _userBusiness.Find(userId); ViewBag.PaymentGatewayId = int.Parse(AppSettings.DefaultPaymentGatewayId);//_paymentGatewayBusiness.GetAll().First().PaymentGatewayId; if (user == null) { return(View(MVC.Order.Views.NotFound)); } var rep = SignIn(user, true); if (!rep.IsSuccessful) { return(View(MVC.Shared.Views.Error, (object)rep.Message)); } var order = _orderBusiness.Find(orderId, "OrderItems,Transactions,User,Address"); if (order == null || order.UserId != userId) { return(View(MVC.Order.Views.NotFound)); } var priceCheck = CheckPrice(order); ViewBag.PayedPrice = priceCheck.payedPrice; ViewBag.CompletePayment = priceCheck.payedPrice > 0; ViewBag.Price = priceCheck.price; ViewBag.Addresses = _addressBusiness.GetAll(userId); ViewBag.Warnings = _pricingItemBusiness.Value.GetDescriptions(order.OrderItems?.Select(x => x.PricingItemId).ToList()); return(View(order)); }
public virtual ViewResult ZarinPalVerify(string Status, string Authority) { ViewBag.PaymentGateway = BankNames.ZarinPal; if (!string.IsNullOrEmpty(Status) && !string.IsNullOrEmpty(Authority)) { var transaction = _transactionBusiness.Find(Authority.Trim()); if (transaction.IsNull()) { ViewBag.ErrorMessage = LocalMessage.PaymentException; return(View(viewName: MVC.Transaction.Views.Failed, model: transaction)); } var _order = _orderBusiness.Find(transaction.OrderId); var gateWay = _paymentGatewayBusiness.Find(transaction.PaymentGatewayId); if (gateWay.IsNull()) { ViewBag.ErrorMessage = LocalMessage.PaymentException; return(View(viewName: MVC.Transaction.Views.Failed, model: transaction)); } var result = PaymentFactory.GetInstance(gateWay.BankName).Verify(gateWay, transaction); if (result.IsSuccessful) { return(View(viewName: MVC.Transaction.Views.Success, model: transaction)); } ViewBag.ErrorMessage = result.Message; return(View(viewName: MVC.Transaction.Views.Failed, model: transaction)); } ViewBag.ErrorMessage = LocalMessage.RedirectException; return(View(viewName: MVC.Transaction.Views.Failed, model: new Transaction())); }
public ActionResult Details(int?id) { if (id == null) { return(View(ViewNamesConstant.FrontendHomeError)); } Order Order = OrderBusiness.Find(id); if (Order == null) { return(View(ViewNamesConstant.FrontendHomeError)); } ViewBag.Ecards = EcardBusiness.AllNoTracking.Where(x => x.Draft != true).ToList(); return(View(ViewNamesConstant.AdminOrdersDetails, Order)); }
// GET: Orders/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Order Order = OrderBusiness.Find(id); if (Order == null) { return(HttpNotFound()); } ViewBag.Ecards = EcardBusiness.AllNoTracking.Where(x => x.Draft != true).ToList(); return(View(ViewNamesConstant.AdminOrdersDetails, Order)); }
public virtual ViewResult Edit(int orderId) { ViewBag.Editable = true; ViewBag.Client = false; ViewBag.OrderStatuses = GetOrderStatusList(); ViewBag.LangTypes = EnumExtension.FilterEnumWithAttributeOf <LangType, VisibleAttribute>().Select(x => new SelectListItem { Text = x.GetDescription(), Value = x.GetDisplayName() }).ToList(); var order = _orderBusiness.Find(orderId, "all"); ViewBag.LangType = order.LangType; if (order == null) { return(View(MVC.Shared.Views.Error)); } var details = _orderDetailBusiness.Value.GetAll(orderId); order.OrderItems.ForEach((item) => { item.OrderDetails = details.Where(x => x.OrderItemId == item.OrderItemId).ToList(); }); var settingRep = _settingBusiness.Get(); ViewBag.Location = order.AddressId == null ? "35.701076,51.391528" : order.Address.Location; ViewBag.OfficeUserId = GetOfficeList(order.OfficeUserId); return(View(order)); }
public virtual ActionResult CompleteOrder(int orderId, string block = "discount") { ViewBag.Block = block; var order = _orderBusiness.Find(orderId, "OrderItems"); if (order == null) { return(View(MVC.Shared.Views.Error)); } LoadRelatedInfo(true, order.LangType); ViewBag.LangType = order.LangType; var userId = (User as ICurrentUserPrincipal).UserId; if (userId != order.UserId) { return(RedirectToAction(MVC.Order.ActionNames.History, MVC.Order.Name)); } return(View(order)); }