//我的罚款 /* * 注意返回的模型类为IEnumerable<Borrow>,而非IEnumerable<Fine> */ public ActionResult MyFine(Reader reader, string returnUrl) { if (reader.Id == 0) { return(RedirectToAction("Login", "Reader")); } else { borrowProcessor.ProcessShowFine(reader); IEnumerable <Borrow> borrows = repository.Borrows.Where(u => u.ReaderId == reader.Id && u.DateShouldBeReturn < DateTime.Now); FineViewModel fv = new FineViewModel(borrows); return(View(fv)); } }
protected override void CreatePopupActions() { PopupActionsList.Add( new JournalAction( "Перейти в недовезённый заказ", selectedItems => true, selectedItems => true, selectedItems => { var selectedNodes = selectedItems.OfType <UndeliveredOrderJournalNode>(); var selectedNode = selectedNodes.FirstOrDefault(); if (selectedNode != null) { _gtkDlgOpener.OpenOrderDlg(this, selectedNode.OldOrderId); } } ) ); PopupActionsList.Add( new JournalAction( "Перейти в новый заказ", selectedItems => { var selectedNodes = selectedItems.OfType <UndeliveredOrderJournalNode>(); var selectedNode = selectedNodes.FirstOrDefault(); return(selectedNode != null && selectedNode.NewOrderId > 0); }, selectedItems => true, selectedItems => { var selectedNodes = selectedItems.OfType <UndeliveredOrderJournalNode>(); var selectedNode = selectedNodes.FirstOrDefault(); if (selectedNode != null) { _gtkDlgOpener.OpenOrderDlg(this, selectedNode.NewOrderId); } } ) ); PopupActionsList.Add( new JournalAction( "Закрыть недовоз", selectedItems => { var selectedNodes = selectedItems.OfType <UndeliveredOrderJournalNode>(); var selectedNode = selectedNodes.FirstOrDefault(); return(selectedNode != null && selectedNode.UndeliveryStatus != UndeliveryStatus.Closed && _canCloseUndeliveries); }, selectedItems => true, selectedItems => { var selectedNodes = selectedItems.OfType <UndeliveredOrderJournalNode>(); var selectedNode = selectedNodes.FirstOrDefault(); if (selectedNode == null) { return; } UndeliveredOrder undeliveredOrder = UoW.GetById <UndeliveredOrder>(selectedNode.Id); undeliveredOrder.Close(CurrentEmployee); UoW.Save(undeliveredOrder); UoW.Commit(); } ) ); PopupActionsList.Add( new JournalAction( "Создать штраф", selectedItems => true, selectedItems => true, selectedItems => { var selectedNodes = selectedItems.OfType <UndeliveredOrderJournalNode>(); var selectedNode = selectedNodes.FirstOrDefault(); if (selectedNode == null) { return; } FineViewModel fineViewModel = new FineViewModel( EntityUoWBuilder.ForCreate(), UnitOfWorkFactory, _undeliveryViewOpener, _employeeService, _driverEmployeeJournalFactory.CreateWorkingDriverEmployeeAutocompleteSelectorFactory(), _employeeSettings, _commonServices ); var undeliveredOrder = UoW.GetById <UndeliveredOrder>(selectedNode.Id); fineViewModel.UndeliveredOrder = undeliveredOrder; fineViewModel.RouteList = new RouteListItemRepository().GetRouteListItemForOrder(UoW, undeliveredOrder.OldOrder)?.RouteList; TabParent.AddSlaveTab(this, fineViewModel); } ) ); }