コード例 #1
0
ファイル: AssignmentHistoryService.cs プロジェクト: evkap/DVS
		public IEnumerable<AssignmentHistoryViewModel> GetHistories(AssignmentFilters filter)
		{
			var historyFilter = BuildFilter(filter);
			historyFilter = _dashboardConditionFilters.GetElementFilter(filter, DashboardConditionFilterContext<AppraiserOrder>.AppraiserOrderListContext, historyFilter);

			return _appraiserOrderDeliveryService.GetAppraiserOrderListItems(historyFilter.ToFuncWithPagging(filter)).Select(CreateAssignmentHistoryViewModel).ToArray();
		}
コード例 #2
0
ファイル: AssignmentHistoryService.cs プロジェクト: evkap/DVS
		public int AllHistoriesCount(AssignmentFilters filters)
		{
			var historyFilter = BuildFilter(filters);
			historyFilter = _dashboardConditionFilters.GetElementFilter(filters, DashboardConditionFilterContext<AppraiserOrder>.AppraiserOrderListContext, historyFilter);

			return _appraiserOrderDeliveryService.GetAppraiserOrderListItemsCount(historyFilter.ToFunc(filters));
		}
コード例 #3
0
ファイル: AssignmentHistoryService.cs プロジェクト: evkap/DVS
		private ElementFilter<AssignmentColumnName, AppraiserOrderListItem, AssignmentFilters> BuildFilter(AssignmentFilters filter)
		{
			var notShowStatuses = new[] { OrderStatus.CreationProcess.ToString(), OrderStatus.Draft.ToString() };
			var pendingAssignment = OrderStatus.PendingAssignment.ToString();

			return ShorFilter.AddFilter<AssignmentColumnName, AppraiserOrderListItem, AssignmentFilters>(f => false, e => true).
				For(f => _securityContext.CurrentUser.Roles.All(e => e.RoleType == RoleType.Appraiser)).
				FilterBy(ao => ao.AppraiserOrder.Order.AcceptedAppraiserUserId != null && ao.AppraiserOrder.Order.AcceptedAppraiserUserId == _currentAppraiser.CurrentAppraiser.Id || ao.AppraiserOrder.IsDeclined).

				For(f => _securityContext.CurrentUser.Roles.Any(r => new[] { RoleType.CompanyAdminAndAppraiser, RoleType.AppraisalCompanyAdmin }.Contains(r.RoleType))).
				FilterBy(e => e.AppraiserOrder.Order.AcceptedAppraiserUserId == e.AppraiserOrder.AppraiserUser.Id && ((e.AppraiserOrder.Order.IsTestOrder && e.AppraiserOrder.Order.AcceptedAppraiserUserId == _currentAppraiser.CurrentAppraiser.Id) || !e.AppraiserOrder.Order.IsTestOrder) || e.AppraiserOrder.IsDeclined).

					For(e => true).FilterBy(e => !notShowStatuses.Contains(e.AppraiserOrder.Order.OrderStatusId)).
					For(e => true).FilterBy(e => e.AppraiserOrder.Order.OrderStatusId != pendingAssignment || (e.AppraiserOrder.IsDeclined)).

					AddQueryFilter(f => filter.To.HasValue, q =>
					{
						var time = filter.To.Value;
						var toDate = new DateTime(time.Year, time.Month, time.Day).AddDays(1);

						return q.Where(order => order.AppraiserOrder.Order.AcceptDate < toDate);
					}).

					AddQueryFilter(f => filter.From.HasValue, q =>
					{
						var time = filter.From.Value;
						var fromStart = new DateTime(time.Year, time.Month, time.Day);

						return q.Where(order => order.AppraiserOrder.Order.AcceptDate >= fromStart);
					}).

					AddOrders(AssignmentColumnName.OrderNumber, ao => ao.AppraiserOrder.Order.OrderPublicId).
					AddOrders(AssignmentColumnName.LoanNumber, ao => ao.AppraiserOrder.Order.GeneralInfo.LoanNumber).
					AddOrders(AssignmentColumnName.Borrower, ao => ao.AppraiserOrder.Order.GeneralInfo.BorrowerLastName + ao.AppraiserOrder.Order.GeneralInfo.BorrowerFirstName).
					AddOrder(AssignmentColumnName.Status, true, AppraiserOrderItemCollectionOrdersExtensions.AppraiserOrderStatusAscSorting()).
					AddOrder(AssignmentColumnName.Status, false, AppraiserOrderItemCollectionOrdersExtensions.AppraiserOrderStatusDescSorting()).
					AddOrders(AssignmentColumnName.LastActionDate, ao => ao.LastActionDate).
					AddOrders(AssignmentColumnName.AppraiserName, c => c.AppraiserOrder.AppraiserUser.User.LastName);
		}
コード例 #4
0
		public ActionResult Index()
		{
			var filters = new AssignmentHistoryFilterViewModel(new FiltersHelper(FiltersDetails));
			FiltersDetails.LastOrder.IsDesc = true;
			FiltersDetails.LastOrder.DefaultColumn = AssignmentColumnName.LastActionDate.ToString();
			var assignmentFilters = new AssignmentFilters
			{
				ColumnName = FiltersDetails.LastOrder.ToEnum(AssignmentColumnName.LastActionDate),
				IsAsc = !FiltersDetails.LastOrder.IsDesc,
				ItemsPerPage = FiltersDetails.PaggingDetails.ElementsPerPage,
				PageNumber = FiltersDetails.PaggingDetails.CurrentPage,
				From = AssignmentFilters.ParseDateTime(filters.FromDateFilter),
				To = AssignmentFilters.ParseDateTime(filters.ToDateFilter)
			};

			var elementsCoutn = _assignmentHistoryService.AllHistoriesCount(assignmentFilters);
			FiltersDetails.PaggingDetails.SetPageCount(elementsCoutn).CheckElementOnPage(elementsCoutn);
			assignmentFilters.PageNumber = FiltersDetails.PaggingDetails.CurrentPage;

			var result = _assignmentHistoryService.GetHistories(assignmentFilters);

			return DashboardView("Index", result);
		}