public HttpResponseMessage GetReturnRequestById(HttpRequestMessage request, int id) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = request.CreateErrorResponse(HttpStatusCode.NotFound, "No items found"); if (true) { var returnRequest = _returnRequestService.GetReturnRequestById(id); if (returnRequest == null) { //No return request found with the specified id Url.Route("ReturnRequestSearchModel", null); string uri = Url.Link("ReturnRequestSearchModel", null); response.Headers.Location = new Uri(uri); return response; } var model = new ReturnRequestVM(); PrepareReturnRequestModel(model, returnRequest, false); response = request.CreateResponse <ReturnRequestVM>(HttpStatusCode.OK, model); } else { response = AccessDeniedView(request); //response = request.CreateResponse(HttpStatusCode.Unauthorized, "Unauthorized user"); } return response; })); }
protected virtual void PrepareReturnRequestModel(ReturnRequestVM 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) { model.ProductId = orderItem.ProductId; model.ProductName = orderItem.Product.Name; model.OrderId = orderItem.OrderId; model.AttributeInfo = orderItem.AttributeDescription; model.CustomOrderNumber = orderItem.Order.CustomOrderNumber; } model.Id = returnRequest.Id; model.CustomNumber = returnRequest.CustomNumber; 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, _baseService.WorkContext); var download = _downloadService.GetDownloadById(returnRequest.UploadedFileId); model.UploadedFileGuid = download != null ? download.DownloadGuid : Guid.Empty; 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 HttpResponseMessage NotifyCustomer(HttpRequestMessage request, ReturnRequestVM model, bool continueEditing = false) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = request.CreateErrorResponse(HttpStatusCode.NotFound, "No items found"); if (true) { var returnRequest = _returnRequestService.GetReturnRequestById(model.Id); if (returnRequest == null) { //No return request found with the specified id Url.Route("ReturnRequestSearchModel", null); string uri = Url.Link("ReturnRequestSearchModel", null); response.Headers.Location = new Uri(uri); return response; } var orderItem = _orderService.GetOrderItemById(returnRequest.OrderItemId); if (orderItem == null) { LogError(_localizationService.GetResource("Admin.ReturnRequests.OrderItemDeleted")); Url.Route("GetReturnRequestById", new { id = returnRequest.Id }); string nUri = Url.Link("GetReturnRequestById", new { id = returnRequest.Id }); response.Headers.Location = new Uri(nUri); return response; } int queuedEmailId = _workflowMessageService.SendReturnRequestStatusChangedCustomerNotification(returnRequest, orderItem, orderItem.Order.CustomerLanguageId); //if (queuedEmailId > 0) // SuccessNotification(_localizationService.GetResource("Admin.ReturnRequests.Notified")); _baseService.Commit(); } else { response = AccessDeniedView(request); // response = request.CreateResponse(HttpStatusCode.Unauthorized, "Unauthorized user"); } return response; })); }
public HttpResponseMessage ReturnRequestList(HttpRequestMessage request, ReturnRequestListVM model, int pageIndex = 0, int pageSize = int.MaxValue) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = request.CreateErrorResponse(HttpStatusCode.NotFound, "No items found"); if (true) { var rrs = model.ReturnRequestStatusId == -1 ? null : (ReturnRequestStatus?)model.ReturnRequestStatusId; var startDateValue = model.StartDate == null ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.StartDate.Value, _dateTimeHelper.CurrentTimeZone); var endDateValue = model.EndDate == null ? null : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.EndDate.Value, _dateTimeHelper.CurrentTimeZone).AddDays(1); var returnRequests = _returnRequestService.SearchReturnRequests(0, 0, 0, model.CustomNumber, rrs, startDateValue, endDateValue, pageIndex, pageSize); var returnRequestModels = new List <ReturnRequestVM>(); foreach (var rr in returnRequests) { var m = new ReturnRequestVM(); PrepareReturnRequestModel(m, rr, false); returnRequestModels.Add(m); } var gridModel = new DataSourceResult { Data = returnRequestModels, Total = returnRequests.TotalCount, }; response = request.CreateResponse <DataSourceResult>(HttpStatusCode.OK, gridModel); } else { //response = request.CreateResponse(HttpStatusCode.Unauthorized, "Unauthorized user"); response = AccessDeniedView(request); } return response; })); }
public HttpResponseMessage EditReturnRequest(HttpRequestMessage request, ReturnRequestVM model, bool continueEditing = false) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = request.CreateErrorResponse(HttpStatusCode.NotFound, "No items found"); if (true) { var returnRequest = _returnRequestService.GetReturnRequestById(model.Id); if (returnRequest == null) { //No return request found with the specified id Url.Route("ReturnRequestSearchModel", null); string uri = Url.Link("ReturnRequestSearchModel", null); response.Headers.Location = new Uri(uri); return response; } 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); _baseService.Commit(); //SuccessNotification(_localizationService.GetResource("Admin.ReturnRequests.Updated")); if (continueEditing) { Url.Route("GetReturnRequestById", new { id = returnRequest.Id }); string nUri = Url.Link("GetReturnRequestById", new { id = returnRequest.Id }); response.Headers.Location = new Uri(nUri); } else { Url.Route("ReturnRequestSearchModel", null); string nuri = Url.Link("ReturnRequestSearchModel", null); response.Headers.Location = new Uri(nuri); } } else { //If we got this far, something failed, redisplay form PrepareReturnRequestModel(model, returnRequest, true); response = request.CreateResponse <ReturnRequestVM>(HttpStatusCode.OK, model); } } else { response = AccessDeniedView(request); // response = request.CreateResponse(HttpStatusCode.Unauthorized, "Unauthorized user"); } return response; })); }