public ActionResult Edit(long id) { Session[RefundRequest.ProcessRequestId] = null; // Used for gift certificate var request = ((IRefundRequestRepository)_repository).Get(id); var model = Mapper.Map <RefundRequest, RefundRequestResultEditModel>(request); var order = _orderRepository.GetOrder(request.OrderId); var productsInOrder = _electronicProductRepository.GetProductIdsForOrderItems(order.OrderDetails .Where(od => od.OrderItemStatus.OrderStatusState == OrderStatusState.FinalSuccess && od.DetailType == OrderItemType.ProductItem) .Select(od => od.OrderItemId).ToArray()); var cancellationReason = "N/A"; if (model.RefundType == RefundRequestType.CustomerCancellation) { var appointmentCancellationLogs = _eventAppointmentCancellationLogRepository.GetByEventIdCustomerId(model.EventId, model.CustomerId); if (!appointmentCancellationLogs.IsNullOrEmpty()) { var appointmentCancellationLog = appointmentCancellationLogs.FirstOrDefault(x => x.DateCreated > request.RequestedOn.AddMinutes(-3) && x.DateCreated < request.RequestedOn.AddMinutes(3)); if (appointmentCancellationLog != null) { cancellationReason = ((CancelAppointmentReason)appointmentCancellationLog.ReasonId).GetDescription(); } } } model.CancellationReason = cancellationReason; var products = _electronicProductRepository.GetAllProducts(); model.OfferFreeProduct = Mapper.Map <IEnumerable <Product>, IEnumerable <ProductstoOfferModel> >(products); if (productsInOrder != null && productsInOrder.Count() > 0) { foreach (var product in productsInOrder) { var temp = model.OfferFreeProduct.Where(p => p.ProductId == product.SecondValue).FirstOrDefault(); var orderDetail = order.OrderDetails.Where(od => od.OrderItemId == product.FirstValue).FirstOrDefault(); temp.ProductPriceinOrder = orderDetail.Price; temp.OrderItemId = orderDetail.OrderItemId; } } CompleteEditModel(model, request.CustomerId); model.PaymentEditModel.Amount = model.RequestedRefundAmount; var nameIdpair = _orgRoleUserRepository.GetNameIdPairofUsers(new[] { request.RequestedByOrgRoleUserId }).FirstOrDefault(); model.RequestedBy = nameIdpair != null ? nameIdpair.SecondValue : string.Empty; return(View(model)); }
public SourceCodeEditModel Get(SourceCodeEditModel model) { model.AllSignUpModes = SignUpMode.CallCenter.GetNameValuePairs().Select(dt => new OrderedPair <int, string>(dt.FirstValue, dt.SecondValue)); model.AllPackages = _packageRepository.GetAll().Select(m => new OrderedPair <long, string>(m.Id, m.Name)).OrderBy(m => m.SecondValue).ToArray(); model.AllTests = ((ITestRepository)_testRepository).GetAll().Select(m => new OrderedPair <long, string>(m.Id, m.Name)).OrderBy(m => m.SecondValue).ToArray(); var shippingOptions = _shippingOptionRepository.GetAllShippingOptions(); model.AllShippingOptions = shippingOptions != null?shippingOptions.Select(so => new OrderedPair <long, string>(so.Id, so.Name)).OrderBy(m => m.SecondValue).ToArray() : new OrderedPair <long, string> [0]; var products = _electronicProductRepository.GetAllProducts(); model.AllProducts = products != null?products.Select(po => new OrderedPair <long, string>(po.Id, po.Name)).OrderBy(m => m.SecondValue).ToArray() : new OrderedPair <long, string> [0]; return(model); }