public RecordsDto GetItems(int pageSize, int pageNumber, string search) { pageSize = 3; var query = _recordRepository.GetAllQueryable(); if (!string.IsNullOrEmpty(search)) { query = query.Where(g => g.Client.Name.ToUpper().Contains(search.ToUpper())); } var _totalRecords = query.Count(); //kilkist zagalna var _pageCount = (int)Math.Ceiling(_totalRecords / (double)pageSize); var items = query.Include(a => a.Client) .Include(a => a.Procedure) .Include(a => a.Product) .Skip((pageSize * pageNumber) - pageSize) .Take(pageSize) .ToList() .Select(s => s.MapToDto()) .ToList(); var dto = new RecordsDto { pageItems = items, pageCount = _pageCount }; return(dto); }
public static RecordsViewModel MapToViewModel(this RecordsDto dto) { if (dto == null) { return(null); } return(new RecordsViewModel { Items = dto.pageItems.Select(g => g.MapToViewModel()).ToList(), Count = dto.pageCount }); }
public Option <JObject> CreateRecordsDto(User user, TimeFrame timeFrame) { var topTrackList = _billboardDbContext.TopTrackLists.FirstOrDefault(ttl => (ttl.TimeFrame == timeFrame) && (ttl.User.Id == user.Id)); if (topTrackList == null) { return(Option.None <JObject>()); } var tracks = _billboardDbContext.Tracks.Where(t => t.TopTrackList.TopTrackListId == topTrackList.TopTrackListId).ToList(); var numberOnes = tracks.OrderByDescending(t => t.TimeAtNumberOne).Take(3); var topInCharts = tracks.OrderByDescending(t => t.TimeOnChart).Take(3); var recordsDto = new RecordsDto { LongestNumberOne = CreateSingleRecordList(numberOnes), LongestTimeInChart = CreateSingleRecordList(topInCharts), LongestNumberOneCons = null, LongestTimeInChartCons = null }; return(Option.Some(JObject.Parse(JsonConvert.SerializeObject(recordsDto)))); }
/// <summary> /// this method is used to create a success resoponse with successStatus class object for early return situations /// </summary> /// <param name="code">status code</param> /// <param name="data">data for response</param> /// <param name="records">records for pagination</param> /// <returns>it will return a success response with particular statusCode</returns> public static HttpResponseMessage CreateCompleteSuccessResponse(HttpStatusCode code, object data, RecordsDto records) { var successStatus = new SuccessStatusDto() { Data = data, Record = records }; return(CreateResponse(code, successStatus)); }