Example #1
0
        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));
        }
Example #5
0
        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));
        }
Example #7
0
        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));
        }