コード例 #1
0
        public async Task <IActionResult> GoToId(ReturnReqestListModel model)
        {
            if (model.GoDirectlyToId == null)
            {
                return(RedirectToAction("List", "ReturnRequest"));
            }

            int.TryParse(model.GoDirectlyToId, out var id);

            //try to load a product entity
            var returnRequest = await _returnRequestService.GetReturnRequestById(id);

            if (returnRequest == null)
            {
                //not found
                return(RedirectToAction("List", "ReturnRequest"));
            }

            if (_workContext.CurrentCustomer.IsStaff() && returnRequest.StoreId != _workContext.CurrentCustomer.StaffStoreId)
            {
                return(RedirectToAction("List", "ReturnRequest"));
            }

            return(RedirectToAction("Edit", "ReturnRequest", new { id = returnRequest.Id }));
        }
コード例 #2
0
        public IActionResult List(DataSourceRequest command, ReturnReqestListModel model)
        {
            var returnRequestModels = _returnRequestViewModelService.PrepareReturnRequestModel(model, command.Page, command.PageSize);
            var gridModel           = new DataSourceResult
            {
                Data  = returnRequestModels.returnRequestModels,
                Total = returnRequestModels.totalCount,
            };

            return(Json(gridModel));
        }
コード例 #3
0
        public virtual ReturnReqestListModel PrepareReturnReqestListModel()
        {
            var model = new ReturnReqestListModel();

            //Return request status
            model.ReturnRequestStatus = ReturnRequestStatus.Pending.ToSelectList(false).ToList();
            model.ReturnRequestStatus.Insert(0, new SelectListItem {
                Text = _localizationService.GetResource("Admin.Common.All"), Value = "-1"
            });

            return(model);
        }
コード例 #4
0
        public async Task <IActionResult> List(DataSourceRequest command, ReturnReqestListModel model)
        {
            if (_workContext.CurrentCustomer.IsStaff())
            {
                model.StoreId = _workContext.CurrentCustomer.StaffStoreId;
            }
            var returnRequestModels = await _returnRequestViewModelService.PrepareReturnRequestModel(model, command.Page, command.PageSize);

            var gridModel = new DataSourceResult {
                Data  = returnRequestModels.returnRequestModels,
                Total = returnRequestModels.totalCount,
            };

            return(Json(gridModel));
        }
コード例 #5
0
        public IActionResult GoToId(ReturnReqestListModel model)
        {
            int id = int.Parse(model.GoDirectlyToId);

            //try to load a product entity
            var returnRequest = _returnRequestService.GetReturnRequestById(id);

            if (returnRequest != null)
            {
                return(RedirectToAction("Edit", "ReturnRequest", new { id = returnRequest.Id }));
            }

            //not found
            return(RedirectToAction("List", "ReturnRequest"));
        }
コード例 #6
0
        public IActionResult List()
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageReturnRequests))
            {
                return(AccessDeniedView());
            }

            var model = new ReturnReqestListModel();

            //Return request status
            model.ReturnRequestStatus = ReturnRequestStatus.Pending.ToSelectList(false).ToList();
            model.ReturnRequestStatus.Insert(0, new SelectListItem {
                Text = _localizationService.GetResource("Admin.Common.All"), Value = "-1"
            });

            return(View(model));
        }
コード例 #7
0
        public IActionResult List(DataSourceRequest command, ReturnReqestListModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageReturnRequests))
            {
                return(AccessDeniedView());
            }
            string customerId = string.Empty;

            if (!string.IsNullOrEmpty(model.SearchCustomerEmail))
            {
                var customer = _customerService.GetCustomerByEmail(model.SearchCustomerEmail.ToLowerInvariant());
                if (customer != null)
                {
                    customerId = customer.Id;
                }
                else
                {
                    customerId = "00000000-0000-0000-0000-000000000000";
                }
            }

            var returnRequests      = _returnRequestService.SearchReturnRequests("", customerId, "", (model.SearchReturnRequestStatusId >= 0 ? (ReturnRequestStatus?)model.SearchReturnRequestStatusId : null), command.Page - 1, command.PageSize);
            var returnRequestModels = new List <ReturnRequestModel>();

            foreach (var rr in returnRequests)
            {
                var rrmodel = new ReturnRequestModel();
                returnRequestModels.Add(PrepareReturnRequestModel(rrmodel, rr, true));
            }
            var gridModel = new DataSourceResult
            {
                Data  = returnRequestModels,
                Total = returnRequests.TotalCount,
            };

            return(Json(gridModel));
        }
コード例 #8
0
        public virtual async Task <(IList <ReturnRequestModel> returnRequestModels, int totalCount)> PrepareReturnRequestModel(ReturnReqestListModel model, int pageIndex, int pageSize)
        {
            string customerId = string.Empty;

            if (!string.IsNullOrEmpty(model.SearchCustomerEmail))
            {
                var customer = await _customerService.GetCustomerByEmail(model.SearchCustomerEmail.ToLowerInvariant());

                if (customer != null)
                {
                    customerId = customer.Id;
                }
                else
                {
                    customerId = "00000000-0000-0000-0000-000000000000";
                }
            }
            DateTime?startDateValue = (model.StartDate == null) ? null
                : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.StartDate.Value, _dateTimeHelper.CurrentTimeZone);

            DateTime?endDateValue = (model.EndDate == null) ? null
                : (DateTime?)_dateTimeHelper.ConvertToUtcTime(model.EndDate.Value, _dateTimeHelper.CurrentTimeZone);

            var returnRequests = await _returnRequestService.SearchReturnRequests(model.StoreId,
                                                                                  customerId,
                                                                                  "",
                                                                                  (model.SearchReturnRequestStatusId >= 0 ? (ReturnRequestStatus?)model.SearchReturnRequestStatusId : null),
                                                                                  pageIndex - 1,
                                                                                  pageSize,
                                                                                  startDateValue,
                                                                                  endDateValue);

            var returnRequestModels = new List <ReturnRequestModel>();

            foreach (var rr in returnRequests)
            {
                var rrmodel = new ReturnRequestModel();
                returnRequestModels.Add(await PrepareReturnRequestModel(rrmodel, rr, true));
            }
            return(returnRequestModels, returnRequests.TotalCount);
        }
コード例 #9
0
        public virtual async Task <(IList <ReturnRequestModel> returnRequestModels, int totalCount)> PrepareReturnRequestModel(ReturnReqestListModel model, int pageIndex, int pageSize)
        {
            string customerId = string.Empty;

            if (!string.IsNullOrEmpty(model.SearchCustomerEmail))
            {
                var customer = await _customerService.GetCustomerByEmail(model.SearchCustomerEmail.ToLowerInvariant());

                if (customer != null)
                {
                    customerId = customer.Id;
                }
                else
                {
                    customerId = "00000000-0000-0000-0000-000000000000";
                }
            }
            var returnRequests = await _returnRequestService.SearchReturnRequests(model.StoreId, customerId, "", (model.SearchReturnRequestStatusId >= 0 ? (ReturnRequestStatus?)model.SearchReturnRequestStatusId : null), pageIndex - 1, pageSize);

            var returnRequestModels = new List <ReturnRequestModel>();

            foreach (var rr in returnRequests)
            {
                var rrmodel = new ReturnRequestModel();
                returnRequestModels.Add(await PrepareReturnRequestModel(rrmodel, rr, true));
            }
            return(returnRequestModels, returnRequests.TotalCount);
        }