public async Task <ActionResult> DailyNotificationsListReportAsync(NotifySearchCriteria searchCriteria) { //var result = await TenderProxy.DailyNotificationsList(searchCriteria); var result = await _ApiClient.GetQueryResultAsync <NotifyModel>("Reports/DailyNotificationsList", searchCriteria.ToDictionary()); return(Json(new PaginationModel(result.Items, result.TotalCount, result.PageSize, result.PageNumber, null))); }
public IHttpActionResult MarkAllAsRead() { var criteria = new NotifySearchCriteria { OnlyNew = true, Start = 0, Count = int.MaxValue }; var retVal = _notifier.SearchNotifies(User.Identity.Name, criteria); foreach (var notifyEvent in retVal.NotifyEvents) { notifyEvent.New = false; _notifier.Upsert(notifyEvent); } return(Ok(retVal)); }
public NotifySearchResult SearchNotifies(string userId, NotifySearchCriteria criteria) { var query = _innerList.OrderByDescending(x => x.Created).Where(x => x.Creator == userId).AsQueryable(); if (criteria.Ids != null && criteria.Ids.Any()) { query = query.Where(x => criteria.Ids.Contains(x.Id)); } if (criteria.OnlyNew) { query = query.Where(x => x.New); } if (criteria.StartDate != null) { query = query.Where(x => x.Created >= criteria.StartDate); } if (criteria.EndDate != null) { query = query.Where(x => x.Created <= criteria.EndDate); } if (criteria.OrderBy != null) { var parts = criteria.OrderBy.Split(':'); if (parts.Count() > 0) { var fieldName = parts[0]; if (parts.Count() > 1 && String.Equals(parts[1], "desc", StringComparison.InvariantCultureIgnoreCase)) { query = query.OrderByDescending(fieldName); } else { query = query.OrderBy(fieldName); } } } var retVal = new NotifySearchResult { TotalCount = query.Count(), NewCount = query.Where(x => x.New).Count(), NotifyEvents = query.Skip(criteria.Start).Take(criteria.Count).ToList() }; return(retVal); }
public IHttpActionResult Search([FromUri] NotifySearchCriteria criteria) { var retVal = _notifier.SearchNotifies(User.Identity.Name, criteria); return(Ok(retVal)); }
public async Task <QueryResult <NotifyModel> > DailyNotificationsList(NotifySearchCriteria searchCriteria) { var tenders = await _reportsService.GetDailyNotificationsList(searchCriteria); return(tenders); }