public async Task <IActionResult> Index(int?page, int?pageSize) { if (!page.HasValue || !pageSize.HasValue) { return(StatusCode(400, String.Format("Invalid parameter(s)."))); } //Get data var data = await _repo.GetInvoices(); if (data == null) { return(StatusCode(500, "Invoices could not be found.")); } //Convert to viewmodel var result = new List <InvoiceViewModel>(); foreach (var invoice in data) { var debtor = invoice.Debtor; var debtorModel = new DebtorViewModel(); debtorModel.SetProperties(debtor, true, true); var invoiceModel = new InvoiceViewModel { InvoiceNumber = invoice.InvoiceNumber, CustomerId = invoice.CustomerId, Total = invoice.Total, Discount = invoice.Discount, Comment = invoice.Comment, CreatedOn = invoice.CreatedOn, ExpiredOn = invoice.ExpiredOn, Debtor = debtorModel, IsPaid = invoice.IsPaid, Concept = invoice.Concept }; result.Add(invoiceModel); } var totalPages = ((result.Count() - 1) / pageSize.Value) + 1; var requestedData = result.Skip((page.Value - 1) * pageSize.Value).Take(pageSize.Value).ToList(); var paging = new PaginationResult <InvoiceViewModel>(page.Value, totalPages, requestedData); var pagingResult = new PaginationResultViewModel <InvoiceViewModel> { Data = paging.Data, TotalPages = paging.TotalPages, CurrentPage = paging.CurrentPage }; return(Ok(pagingResult)); }
public async Task <IActionResult> Index(int?page, int?pageSize) { if (!page.HasValue || !pageSize.HasValue) { return(StatusCode(400, String.Format("Invalid parameter(s)."))); } //Get data var data = await _repo.GetDebtors(); if (data == null) { return(StatusCode(500, "Debtors could not be found.")); } //Convert to viewmodel var result = new List <DebtorViewModel>(); foreach (var debtor in data) { //Debtor --> Address var hasAddress = debtor.Addresses.ToList()[0]; var address = await _addressRepository.GetAddressByPostalAndNumber(hasAddress.Number, hasAddress.PostalCode); //Address model var addressViewModel = new AddressViewModel(); addressViewModel.SetProperties(address); //Debtor model var debtorModel = new DebtorViewModel(); debtorModel.Address = addressViewModel; debtorModel.SetProperties(debtor, false, false); result.Add(debtorModel); } var totalPages = ((result.Count() - 1) / pageSize.Value) + 1; var requestedData = result.Skip((page.Value - 1) * pageSize.Value).Take(pageSize.Value).ToList(); var paging = new PaginationResult <DebtorViewModel>(page.Value, totalPages, requestedData); var pagingResult = new PaginationResultViewModel <DebtorViewModel> { Data = paging.Data, TotalPages = paging.TotalPages, CurrentPage = paging.CurrentPage }; return(Ok(pagingResult)); }
public async Task <IActionResult> Index(int?page, int?pageSize) { if (!page.HasValue || !pageSize.HasValue) { return(StatusCode(400, String.Format("Invalid parameter(s)."))); } //Get data var data = await _repo.GetUsers(); if (data == null) { return(StatusCode(500, "Users could not be found.")); } //Convert to viewmodel var result = data.Select(s => new UserViewModel { Email = s.Email, Password = s.Password, FirstName = s.FirstName, LastName = s.LastName, CompanyName = s.CompanyName, Role = s.Role, Picture = s.Picture, NameLabel = s.CompanyName == null ? s.FirstName + " " + s.LastName : s.CompanyName }); var totalPages = ((result.Count() - 1) / pageSize.Value) + 1; var requestedData = result.Skip((page.Value - 1) * pageSize.Value).Take(pageSize.Value).ToList(); var paging = new PaginationResult <UserViewModel>(page.Value, totalPages, requestedData); var pagingResult = new PaginationResultViewModel <UserViewModel> { Data = paging.Data, TotalPages = paging.TotalPages, CurrentPage = paging.CurrentPage }; return(Ok(pagingResult)); }
public async Task <IActionResult> Index(int?page, int?pageSize) { if (!page.HasValue || !pageSize.HasValue) { return(StatusCode(400, String.Format("Invalid parameter(s)."))); } // Get users var data = await _userRepository.GetAllUsers(); if (data == null) { return(StatusCode(404, String.Format("Unable to find any users."))); } // Convert to viewmodel var result = data.Select(s => new UserViewModel { UserId = s.UserId, Role = s.Role, FirstName = s.FirstName, LastName = s.LastName, Email = s.Email, Password = s.Password, Picture = s.Picture }).ToList(); var totalPages = ((result.Count - 1) / pageSize.Value) + 1; var requestedData = result.Skip((page.Value - 1) * pageSize.Value).Take(pageSize.Value).ToList(); var paging = new PaginationResult <UserViewModel>(page.Value, totalPages, requestedData); var pagingResult = new PaginationResultViewModel <UserViewModel> { Data = paging.Data, TotalPages = paging.TotalPages, CurrentPage = paging.CurrentPage }; return(Ok(pagingResult)); }
public async Task <IActionResult> IndexByRoom(string room, int?page, int?pageSize) { if (!page.HasValue || !pageSize.HasValue || String.IsNullOrEmpty(room)) { return(StatusCode(400, String.Format("Invalid parameter(s)."))); } // Get reservations var data = await _reservationRepository.GetByRoom(room, null, null); if (data == null) { return(StatusCode(404, String.Format("Unable to find any rooms."))); } // Convert to view model var result = data.Select(x => new ReservationViewModel { ReservationId = x.ReservationId, UserId = x.UserId, RoomCode = x.RoomCode, StartTime = x.StartTime, EndTime = x.EndTime, Description = x.Description }); var totalPages = result.Count() < pageSize.Value ? 1 : (int)Math.Ceiling((double)(result.Count() / pageSize.Value)); var requestedData = result.Skip((page.Value - 1) * pageSize.Value).Take(pageSize.Value).ToList(); var paging = new PaginationResult <ReservationViewModel>(page.Value, totalPages, requestedData); var pagingResult = new PaginationResultViewModel <ReservationViewModel> { Data = paging.Data.OrderBy(o => o.StartTime).ToList(), TotalPages = paging.TotalPages, CurrentPage = paging.CurrentPage }; return(Ok(pagingResult)); }
public async Task <IActionResult> Index(int?page, int?pageSize) { if (!page.HasValue || !pageSize.HasValue) { return(StatusCode(400, String.Format("Invalid parameter(s)."))); } // Get rooms var data = await _roomRepository.GetAll(); if (data == null) { return(StatusCode(404, String.Format("Unable to find any rooms."))); } // Convert to view model var result = data.Select(x => new RoomViewModel { RoomCode = x.RoomCode, HasSmartboard = x.HasSmartboard, HasComputer = x.HasComputer, HasWindows = x.HasWindows, StudentCapacity = x.StudentCapacity }).ToList(); var totalPages = ((result.Count - 1) / pageSize.Value) + 1; var requestedData = result.Skip((page.Value - 1) * pageSize.Value).Take(pageSize.Value).ToList(); var paging = new PaginationResult <RoomViewModel>(page.Value, totalPages, requestedData); var pagingResult = new PaginationResultViewModel <RoomViewModel> { Data = paging.Data, TotalPages = paging.TotalPages, CurrentPage = paging.CurrentPage }; return(Ok(pagingResult)); }
public async Task <IActionResult> Index(int?page, int?pageSize) { if (!page.HasValue || !pageSize.HasValue) { return(StatusCode(400, String.Format("Invalid parameter(s)."))); } // Get reservations var data = await _issueRepository.GetAll(); if (data == null) { return(StatusCode(404, String.Format("Unable to find any issues."))); } // Convert to view model var result = data.Select(x => new IssueViewModel { IssueId = x.IssueId, RoomCode = x.RoomCode, CreatedOn = x.CreatedOn, Resolved = x.Resolved, Description = x.Description }).ToList(); var totalPages = ((result.Count - 1) / pageSize.Value) + 1; var requestedData = result.Skip((page.Value - 1) * pageSize.Value).Take(pageSize.Value).ToList(); var paging = new PaginationResult <IssueViewModel>(page.Value, totalPages, requestedData); var pagingResult = new PaginationResultViewModel <IssueViewModel> { Data = paging.Data, TotalPages = paging.TotalPages, CurrentPage = paging.CurrentPage }; return(Ok(pagingResult)); }