//edit public ActionResult Edit(int id) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageReturnRequests)) return AccessDeniedView(); var returnRequest = _orderService.GetReturnRequestById(id); if (returnRequest == null) //No return request found with the specified id return RedirectToAction("List"); var model = new ReturnRequestModel(); PrepareReturnRequestModel(model, returnRequest, false); return View(model); }
protected bool PrepareReturnRequestModel(ReturnRequestModel model, ReturnRequest returnRequest, bool excludeProperties) { if (model == null) throw new ArgumentNullException("model"); if (returnRequest == null) throw new ArgumentNullException("returnRequest"); var opv = _orderService.GetOrderProductVariantById(returnRequest.OrderProductVariantId); if (opv == null) return false; model.Id = returnRequest.Id; model.ProductVariantId = opv.ProductVariantId; model.ProductName = opv.ProductVariant.FullProductName; model.OrderId = opv.OrderId; model.CustomerId = returnRequest.CustomerId; var customer = returnRequest.Customer; model.CustomerInfo = customer.IsRegistered() ? customer.Email : _localizationService.GetResource("Admin.Customers.Guest"); model.Quantity = returnRequest.Quantity; model.ReturnRequestStatusStr = returnRequest.ReturnRequestStatus.GetLocalizedEnum(_localizationService, _workContext); model.CreatedOn = _dateTimeHelper.ConvertToUserTime(returnRequest.CreatedOnUtc, DateTimeKind.Utc); if (!excludeProperties) { model.ReasonForReturn = returnRequest.ReasonForReturn; model.RequestedAction = returnRequest.RequestedAction; model.CustomerComments = returnRequest.CustomerComments; model.StaffNotes = returnRequest.StaffNotes; model.ReturnRequestStatusId = returnRequest.ReturnRequestStatusId; } //model is successfully prepared return true; }
public ActionResult List(GridCommand command) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageReturnRequests)) return AccessDeniedView(); var returnRequests = _orderService.SearchReturnRequests(0, 0, 0, null, command.Page - 1, command.PageSize); var returnRequestModels = new List<ReturnRequestModel>(); foreach (var rr in returnRequests) { var m = new ReturnRequestModel(); if (PrepareReturnRequestModel(m, rr, false)) returnRequestModels.Add(m); } var gridModel = new GridModel<ReturnRequestModel> { Data = returnRequestModels, Total = returnRequests.TotalCount, }; return new JsonResult { Data = gridModel }; }
public ActionResult NotifyCustomer(ReturnRequestModel model) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageReturnRequests)) return AccessDeniedView(); var returnRequest = _orderService.GetReturnRequestById(model.Id); if (returnRequest == null) //No return request found with the specified id return RedirectToAction("List"); //var customer = returnRequest.Customer; var opv = _orderService.GetOrderProductVariantById(returnRequest.OrderProductVariantId); int queuedEmailId = _workflowMessageService.SendReturnRequestStatusChangedCustomerNotification(returnRequest, opv, _localizationSettings.DefaultAdminLanguageId); if (queuedEmailId > 0) SuccessNotification(_localizationService.GetResource("Admin.ReturnRequests.Notified")); return RedirectToAction("Edit", returnRequest.Id); }
public ActionResult Edit(ReturnRequestModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageReturnRequests)) return AccessDeniedView(); var returnRequest = _orderService.GetReturnRequestById(model.Id); if (returnRequest == null) //No return request found with the specified id return RedirectToAction("List"); if (ModelState.IsValid) { returnRequest.ReasonForReturn = model.ReasonForReturn; returnRequest.RequestedAction = model.RequestedAction; returnRequest.CustomerComments = model.CustomerComments; returnRequest.StaffNotes = model.StaffNotes; returnRequest.ReturnRequestStatusId = model.ReturnRequestStatusId; returnRequest.UpdatedOnUtc = DateTime.UtcNow; _customerService.UpdateCustomer(returnRequest.Customer); //activity log _customerActivityService.InsertActivity("EditReturnRequest", _localizationService.GetResource("ActivityLog.EditReturnRequest"), returnRequest.Id); SuccessNotification(_localizationService.GetResource("Admin.ReturnRequests.Updated")); return continueEditing ? RedirectToAction("Edit", returnRequest.Id) : RedirectToAction("List"); } //If we got this far, something failed, redisplay form PrepareReturnRequestModel(model, returnRequest, true); return View(model); }