public HttpResponseMessage GetBySellStartDate([FromUri] PaginatedModel pagingModel, [FromBody] string sellStartDate) { var date = Convert.ToDateTime(sellStartDate); var products = _productService.GetBySellStartDate(date); if (pagingModel != null) { int count = products.Count(); int CurrentPage = pagingModel.PageNumber; int PageSize = pagingModel.PageSize; int TotalCount = count; int TotalPages = (int)Math.Ceiling(count / (double)PageSize); var items = products.Skip((CurrentPage - 1) * PageSize).Take(PageSize).ToList(); var previousPage = CurrentPage > 1 ? "Yes" : "No"; var nextPage = CurrentPage < TotalPages ? "Yes" : "No"; // object which we are going to send in header var paginationMetadata = new { totalCount = TotalCount, pageSize = PageSize, currentPage = CurrentPage, totalPages = TotalPages, previousPage, nextPage }; // Setting Header HttpContext.Current.Response.Headers.Add("Paging-Headers", JsonConvert.SerializeObject(paginationMetadata)); } if (products != null) { return(Request.CreateResponse(HttpStatusCode.OK, products)); } return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "No product found with this name")); }
public HttpResponseMessage GetSumOfTraffic([FromUri] PaginatedModel pagingModel) { //TO DO - check which date parameters should be used - [SellStartDate],[SellEndDate] ??? var lineTotal = _purchasingService.GetSumOfTraffic(DateTime.UtcNow, DateTime.UtcNow); if (pagingModel != null) { int count = lineTotal.Count(); int CurrentPage = pagingModel.PageNumber; int PageSize = pagingModel.PageSize; int TotalCount = count; int TotalPages = (int)Math.Ceiling(count / (double)PageSize); var items = lineTotal.Skip((CurrentPage - 1) * PageSize).Take(PageSize).ToList(); var previousPage = CurrentPage > 1 ? "Yes" : "No"; var nextPage = CurrentPage < TotalPages ? "Yes" : "No"; var paginationMetadata = new { totalCount = TotalCount, pageSize = PageSize, currentPage = CurrentPage, totalPages = TotalPages, previousPage, nextPage }; // Setting Header HttpContext.Current.Response.Headers.Add("Paging-Headers", JsonConvert.SerializeObject(paginationMetadata)); } if (lineTotal != null) { return(Request.CreateResponse(HttpStatusCode.OK, lineTotal)); } return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Failed")); }
public void BeforeEach() { InitializeComponents(); fixture.Customize <Lodgment>(c => c .Without(x => x.Spot) .Without((y => y.Reviews))); fixture.Customize <BookingStatus>(c => c .Without(x => x.Bookings)); fixture.Customize <Booking>(c => c .Without(b => b.Lodgment)); moqService = new Mock <ILodgmentsService>(MockBehavior.Strict); controller = new LodgmentsController(moqService.Object); controller.ControllerContext = controllerContext; expectedLodgment = fixture.Create <Lodgment>(); lodgmentOptions = fixture.Create <LodgmentOptionsModel>(); lodgmentId = fixture.Create <int>(); bookingConfirmationModel = fixture.Create <BookingConfirmationModel>(); expectedBooking = fixture.Create <Booking>(); expectedLodgments = fixture.CreateMany <Lodgment>(); paginatedLodgments = fixture.Create <PaginatedModel <Lodgment> >(); paging = fixture.Create <PagingModel>(); fileModel = fixture.Create <FileModel>(); expectedUrls = fixture.CreateMany <string>().ToList(); }
protected async Task <PaginatedModel <T> > GetPaginatedElementsAsync(IQueryable <T> query, PagingModel pagingModel, string defaultKey = "Id") { PaginatedModel <T> paginated = null; if (query == null) { throw new ArgumentException("Query cannot be null."); } if (pagingModel == null) { pagingModel = new PagingModel(); } var orderParam = await GetDefaultPagingOrder(pagingModel, defaultKey); var total = query.Count(); paginated = new PaginatedModel <T> (pagingModel, total); var isAscending = pagingModel.Direction.Equals("asc", StringComparison.InvariantCultureIgnoreCase); paginated.Data = query.OrderByField(orderParam, isAscending).Skip(pagingModel.Offset).Take(pagingModel.Limit).ToList(); return(paginated); }
public void BeforeEach() { InitializeComponents(); fixture.Customize <Spot>(c => c .Without(x => x.Region)); fixture.Customize <Lodgment>(c => c .Without(x => x.Spot) .Without(y => y.Reviews) .Without(y => y.Bookings)); fixture.Customize <CategorySpot>(c => c .Without(x => x.Category) .Without(x => x.Spot)); moqService = new Mock <IRegionsService>(MockBehavior.Strict); controller = new RegionsController(moqService.Object); controller.ControllerContext = controllerContext; expectedRegions = fixture.CreateMany <Region>(); expectedSpot = fixture.Create <Spot>(); expectedSpots = fixture.CreateMany <Spot>(); paginatedSpots = fixture.Create <PaginatedModel <Spot> >(); paginatedRegions = fixture.Create <PaginatedModel <Region> >(); paging = fixture.Create <PagingModel>(); spot = fixture.Create <Spot>(); regionId = fixture.Create <int>(); }
public void BeforeEach() { fixture = new Fixture().Customize(new AutoMoqCustomization()); fixture.Customize <Spot>(c => c .Without(x => x.Region)); fixture.Customize <Lodgment>(c => c .Without(x => x.Spot) .Without(y => y.Bookings) .Without(y => y.Reviews)); fixture.Customize <CategorySpot>(c => c .Without(x => x.Category) .Without(x => x.Spot)); moqRepository = new Mock <IRegionsRepository>(MockBehavior.Strict); moqSpotsService = new Mock <ISpotsService>(MockBehavior.Strict); expectedSpot = fixture.Create <Spot>(); expectedRegions = fixture.CreateMany <Region>(); spot = fixture.Create <Spot>(); expectedRegion = fixture.Create <Region>(); regionId = fixture.Create <int>(); expectedPaginatedSpots = fixture.Create <PaginatedModel <Spot> >(); expectedPaginatedRegions = fixture.Create <PaginatedModel <Region> >(); paging = fixture.Create <PagingModel>(); service = new RegionsService(moqRepository.Object, moqSpotsService.Object); }
public async Task <PaginatedModel <Booking> > GetBookingsAsync(PagingModel pagingModel) { PaginatedModel <Booking> paginatedBookings = await repository.GetBookingsAsync(pagingModel); return(paginatedBookings); }
/// <inheritdoc /> public override bool Execute(PaginatedModel <TReturn> model) { return(ExecuteAsync(model).GetAwaiter().GetResult()); }
public async Task <PaginatedModel <User> > GetUsersAsync(PagingModel pagingModel) { PaginatedModel <User> paginatedUsers = await repository.GetUsersAsync(pagingModel); return(paginatedUsers); }