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); } }
public IActionResult Dashboard() { ViewBag.WorkNotificationTypeId_ddl = service.GetDDL_WorkNotificationTypes(0); ViewBag.ReadTypeId_ddl = service.ReadTypeId_SelectDDL(); WorkNotificationFilterVM model = service.MakeDefaultFilter(); return(View(model)); }
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)); }
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); }
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()); }