public ActionResult Detail(long id, string mode) { var model = new DetailViewModel(); var detailModel = new List <PaymentDetailViewModel>(); Payment payment = paymentProvider.GetPayment(id); var paymentDetail = paymentProvider.GetPaymentDetail(id); var orderDetail = orderProvider.GetOrderDetail(payment.OrderId); var order = orderProvider.GetOrder(payment.OrderId); mapper.Map(payment, model); mapper.Map(paymentDetail, detailModel); //model.ServiceCharge = order.ServiceCharge; model.TaxValue = order.TaxAmount; model.DeliveryCharge = order.DeliveryCharge; model.DiscValue = order.DiscValue; model.OrderId = order.Id; model.UnitPriceMode = orderProvider.GetUnitPriceMode(order.UnitPriceMode); model.List = detailModel; model.OrderDetails = mapper.Map <List <OrderViewModel.OrderDetailEntryViewModel> >(orderDetail); ViewBag.mode = mode.XorString(); if (!IsDetailModeValid(ViewBag.mode)) { return(RedirectToAction("Index", "Home", new { area = String.Empty })); } return(View(model)); }