public IQueryable <WorkNotification> SelectWorkNotifications(WorkNotificationFilterVM filterData)
        {
            if (filterData.DateFrom != null)
            {
                filterData.DateFrom = filterData.DateFrom?.Date;
            }
            if (filterData.DateTo != null)
            {
                filterData.DateTo = filterData.DateTo?.Date;
                filterData.DateTo = filterData.DateTo?.AddHours(23);
                filterData.DateTo = filterData.DateTo?.AddMinutes(59);
                filterData.DateTo = filterData.DateTo?.AddSeconds(59);
                filterData.DateTo = filterData.DateTo?.AddMilliseconds(999);
            }

            return(repo.AllReadonly <WorkNotification>()
                   .Where(x => x.DateExpired == null &&
                          x.CourtId == filterData.CourtId &&
                          x.UserId == filterData.UserId &&
                          x.DateCreated.Date <= filterData.DateCreate &&
                          (filterData.WorkNotificationTypeId <= 0 || filterData.WorkNotificationTypeId == x.WorkNotificationTypeId) &&
                          (filterData.SourceType <= 0 || x.SourceType == filterData.SourceType) &&
                          (filterData.SourceId <= 0 || x.SourceId == filterData.SourceId) &&
                          (
                              (filterData.ReadTypeId != WorkNotificationFilterVM.ReadTypeRead && x.DateRead == null) ||
                              (filterData.ReadTypeId != WorkNotificationFilterVM.ReadTypeUnRead && x.DateRead >= filterData.DateFrom && x.DateRead <= filterData.DateTo)
                          )
                          ));
        }
        public async Task <IViewComponentResult> InvokeAsync(string view, WorkNotificationFilterVM filter)
        {
            ViewBag.userId = userContext.UserId;
            if (filter == null)
            {
                filter = workNotificationService.MakeDefaultFilter();
            }
            switch (view)
            {
            case "MyNotifications":
            {
                return(await Task.FromResult <IViewComponentResult>(View(view, filter)));
            }

            case "NotificationCount":
            {
                var notifications = workNotificationService.SelectWorkNotifications(filter).ToList();
                int modelCnt      = notifications.Count();
                return(await Task.FromResult <IViewComponentResult>(View(view, modelCnt)));
            }

            default:
                return(null);
            }
        }
Ejemplo n.º 3
0
        public IActionResult Dashboard()
        {
            ViewBag.WorkNotificationTypeId_ddl = service.GetDDL_WorkNotificationTypes(0);
            ViewBag.ReadTypeId_ddl             = service.ReadTypeId_SelectDDL();
            WorkNotificationFilterVM model = service.MakeDefaultFilter();

            return(View(model));
        }
Ejemplo n.º 4
0
        public IActionResult ListData(IDataTablesRequest request, WorkNotificationFilterVM filterData)
        {
            filterData.UserId     = userContext.UserId;
            filterData.CourtId    = userContext.CourtId;
            filterData.SourceType = 0;
            filterData.SourceId   = 0;
            var data = service.SelectWorkNotifications(filterData);

            return(request.GetResponse(data));
        }
Ejemplo n.º 5
0
        public IActionResult DashboardReload(WorkNotificationFilterVM filterData)
        {
            ViewBag.WorkNotificationTypeId_ddl = service.GetDDL_WorkNotificationTypes(0);
            ViewBag.ReadTypeId_ddl             = service.ReadTypeId_SelectDDL();
            filterData.UserId     = userContext.UserId;
            filterData.CourtId    = userContext.CourtId;
            filterData.SourceType = 0;
            filterData.SourceId   = 0;

            return(PartialView("_Dashboard", filterData));
        }
        public WorkNotificationFilterVM MakeDefaultFilter()
        {
            WorkNotificationFilterVM model = new WorkNotificationFilterVM();

            model.ReadTypeId = WorkNotificationFilterVM.ReadTypeUnRead;
            model.DateFrom   = DateTime.Now;
            model.DateCreate = DateTime.Now;
            model.DateTo     = DateTime.Now;
            model.UserId     = userContext.UserId;
            model.CourtId    = userContext.CourtId;
            return(model);
        }
Ejemplo n.º 7
0
        public IQueryable <WorkNotification> SelectWorkNotifications(WorkNotificationFilterVM filterData)
        {
            if (filterData.DateFrom != null)
            {
                filterData.DateFrom = filterData.DateFrom?.Date;
            }
            if (filterData.DateTo != null)
            {
                filterData.DateTo = filterData.DateTo?.Date;
                filterData.DateTo = filterData.DateTo?.AddHours(23);
                filterData.DateTo = filterData.DateTo?.AddMinutes(59);
                filterData.DateTo = filterData.DateTo?.AddSeconds(59);
                filterData.DateTo = filterData.DateTo?.AddMilliseconds(999);
            }

            var result = repo.AllReadonly <WorkNotification>()
                         .Include(x => x.WorkNotificationType)
                         .Include(x => x.User)
                         .ThenInclude(x => x.LawUnit)
                         .Include(x => x.FromUser)
                         .ThenInclude(x => x.LawUnit)
                         .Include(x => x.Court)
                         .Include(x => x.FromCourt)
                         .Where(x => x.CourtId == filterData.CourtId)
                         .Where(x => x.UserId == filterData.UserId)
                         .Where(x => x.DateCreated.Date <= filterData.DateCreate)
                         .Where(x => filterData.WorkNotificationTypeId <= 0 || filterData.WorkNotificationTypeId == x.WorkNotificationTypeId)
                         .Where(x => filterData.SourceType <= 0 || x.SourceType == filterData.SourceType)
                         .Where(x => filterData.SourceId <= 0 || x.SourceId == filterData.SourceId)
                         .Where(x => (filterData.ReadTypeId != WorkNotificationFilterVM.ReadTypeRead && x.DateRead == null) ||
                                (filterData.ReadTypeId != WorkNotificationFilterVM.ReadTypeUnRead && x.DateRead >= filterData.DateFrom && x.DateRead <= filterData.DateTo))
                         .ToList();

            foreach (var item in result)
            {
                item.SourceUrl = GetTaskObjectUrl(item.SourceType, item.SourceId, item.WorkNotificationTypeId);
            }
            return(result.AsQueryable());
        }