protected virtual bool PrepareReturnRequestModel(ReturnRequestModel model, ReturnRequest returnRequest, bool excludeProperties) { if (model == null) throw new ArgumentNullException("model"); if (returnRequest == null) throw new ArgumentNullException("returnRequest"); var orderItem = _orderService.GetOrderItemById(returnRequest.OrderItemId); if (orderItem == null) return false; model.Id = returnRequest.Id; model.ProductId = orderItem.ProductId; model.ProductName = orderItem.Product.Name; model.OrderId = orderItem.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; }
//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); }
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 orderItem = _orderService.GetOrderItemById(returnRequest.OrderItemId); int queuedEmailId = _workflowMessageService.SendReturnRequestStatusChangedCustomerNotification(returnRequest, orderItem, _localizationSettings.DefaultAdminLanguageId); if (queuedEmailId > 0) SuccessNotification(_localizationService.GetResource("Admin.ReturnRequests.Notified")); return RedirectToAction("Edit", new {id = returnRequest.Id}); }
public ActionResult List(DataSourceRequest 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 DataSourceResult { Data = returnRequestModels, Total = returnRequests.TotalCount, }; return Json(gridModel); }
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.Quantity = model.Quantity; 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", new { id = returnRequest.Id}) : RedirectToAction("List"); } //If we got this far, something failed, redisplay form PrepareReturnRequestModel(model, returnRequest, true); return View(model); }
private void 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); model.Id = returnRequest.Id; model.ProductVariantId = opv.ProductVariantId; //product name if (!String.IsNullOrEmpty(opv.ProductVariant.Name)) model.ProductName = string.Format("{0} ({1})", opv.ProductVariant.Product.Name, opv.ProductVariant.Name); else model.ProductName = opv.ProductVariant.Product.Name; model.OrderId = opv.OrderId; model.CustomerId = returnRequest.CustomerId; 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; } }
public ActionResult List(GridCommand command) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageReturnRequests)) return AccessDeniedView(); var returnRequests = _orderService.SearchReturnRequests(0, 0, null); var gridModel = new GridModel<ReturnRequestModel> { Data = returnRequests.PagedForCommand(command).Select(x => { var m = new ReturnRequestModel(); PrepareReturnRequestModel(m, x, false); return m; }), Total = returnRequests.Count, }; return new JsonResult { Data = gridModel }; }
public ActionResult List(GridCommand command) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageReturnRequests)) return AccessDeniedView(); var returnRequests = new List<ReturnRequestModel>(); foreach (var rr in _orderService.SearchReturnRequests(0, 0, null).PagedForCommand(command)) { var m = new ReturnRequestModel(); if (PrepareReturnRequestModel(m, rr, false)) returnRequests.Add(m); } var gridModel = new GridModel<ReturnRequestModel> { Data = returnRequests, Total = returnRequests.Count, }; return new JsonResult { Data = gridModel }; }