public async Task <IPagedResponse <Location> > GetWarehousesAsync(int pageSize = 10, int pageNumber = 1)
        {
            Logger?.LogInformation("{0} has been invoked", nameof(GetWarehousesAsync));

            var response = new PagedResponse <Location>();

            try
            {
                // Get query
                var query = DbContext.Locations;

                // Set information for paging
                response.PageSize   = pageSize;
                response.PageNumber = pageNumber;
                response.ItemsCount = await query.CountAsync();

                // Retrieve items, set model for response
                response.Model = await query.Paging(pageSize, pageNumber).ToListAsync();
            }
            catch (Exception ex)
            {
                response.SetError(Logger, nameof(GetWarehousesAsync), ex);
            }

            return(response);
        }
        public async Task <IPagedResponse <Customer> > GetAllCustomers(int pageSize = 10, int pageNumber = 1)
        {
            Logger?.LogDebug("{0} has been invoked", nameof(GetAllCustomers));

            var response = new PagedResponse <Customer>();

            try
            {
                // Get query
                var query = customerRepository.GetAllCustomers(pageSize, pageNumber);
                // Set information for paging
                response.PageSize   = pageSize;
                response.PageNumber = pageNumber;
                response.ItemsCount = await query.CountAsync();

                // Retrieve items, set model for response
                response.Model = await query.Paging(pageSize, pageNumber).ToListAsync();
            }
            catch (Exception ex)
            {
                response.SetError(ex, Logger);
            }

            return(response);
        }
Beispiel #3
0
        public async Task <IPagedResponse <Product> > GetProductsAsync(int pageSize = 10, int pageNumber = 1, int?productCategoryID = null)
        {
            Logger?.LogInformation("'{0}' has been invoked", nameof(GetProductsAsync));

            var response = new PagedResponse <Product>();

            try
            {
                // Get query
                var query = DbContext.GetProducts(productCategoryID);

                // Set information for paging
                response.PageSize   = pageSize;
                response.PageNumber = pageNumber;
                response.ItemsCount = await query.CountAsync();

                // Retrieve items, set model for response
                response.Model = await query.Paging(pageSize, pageNumber).ToListAsync();
            }
            catch (Exception ex)
            {
                response.SetError(Logger, nameof(GetProductsAsync), ex);
            }

            return(response);
        }
        public async Task <IPagedResponse <Currency> > GetCurrenciesAsync(Int32 pageSize = 10, Int32 pageNumber = 1)
        {
            Logger?.LogDebug("{0} has been invoked", nameof(GetCurrenciesAsync));

            var response = new PagedResponse <Currency>();

            try
            {
                // Get query
                var query = SalesRepository.GetCurrencies();

                // Set information for paging
                response.PageSize   = (Int32)pageSize;
                response.PageNumber = (Int32)pageNumber;
                response.ItemsCount = await query.CountAsync();

                // Retrieve items, set model for response
                response.Model = await query
                                 .Paging(pageSize, pageNumber)
                                 .ToListAsync();
            }
            catch (Exception ex)
            {
                response.SetError(ex, Logger);
            }

            return(response);
        }
        public async Task <IPagedResponse <OrderInfo> > GetOrdersAsync(int pageSize = 10, int pageNumber = 1, short?orderStatusID = null, int?customerID = null, int?employeeID = null, int?shipperID = null, short?currencyID = null, Guid?paymentMethodID = null)
        {
            Logger?.LogDebug("{0} has been invoked", nameof(GetOrdersAsync));

            var response = new PagedResponse <OrderInfo>();

            try
            {
                // Get query
                var query = DbContext.GetOrders(orderStatusID, customerID, employeeID, shipperID, currencyID, paymentMethodID);

                // Set information for paging
                response.PageSize   = pageSize;
                response.PageNumber = pageNumber;
                response.ItemsCount = await query.CountAsync();

                // Retrieve items, set model for response
                response.Model = await query
                                 .Paging(pageSize, pageNumber)
                                 .ToListAsync();

                response.Message = string.Format("Page {0} of {1}, Total of rows: {2}", response.PageNumber, response.PageCount, response.ItemsCount);

                Logger?.LogInformation(response.Message);
            }
            catch (Exception ex)
            {
                response.SetError(Logger, nameof(GetOrdersAsync), ex);
            }

            return(response);
        }
Beispiel #6
0
        public async Task <IPagedResponse <TestDTO> > GetTestsSummaryAsync(int pageSize = 5, int pageNumber = 1)
        {
            var response = new PagedResponse <TestDTO>();

            try
            {
                // Get query
                IQueryable <Test> query = _evalUOW.Tests.GetAll();

                // Set information for paging
                response.PageSize   = pageSize;
                response.PageNumber = pageNumber;
                response.ItemsCount = await query.CountAsync();

                // Retrieve items, set model for response
                var testList = await query.Paging(pageSize, pageNumber).ToListAsync();

                var testListDTO = new List <TestDTO>();
                foreach (var tes in testList)
                {
                    testListDTO.Add(_mapper.MapTest(tes));
                }

                response.Model = testListDTO;
            }
            catch (Exception ex)
            {
                response.SetError(nameof(GetTestsSummaryAsync), ex);
            }

            return(response);
        }
        public async Task <IPagedResponse <OrderInfo> > GetOrdersAsync(Int32 pageSize = 10, Int32 pageNumber = 1, Int16?currencyID = null, Int32?customerID = null, Int32?employeeID = null, Int16?orderStatusID = null, Guid?paymentMethodID = null, Int32?shipperID = null)
        {
            Logger?.LogDebug("{0} has been invoked", nameof(GetOrdersAsync));

            var response = new PagedResponse <OrderInfo>();

            try
            {
                // Get query
                var query = SalesRepository
                            .GetOrders(currencyID, customerID, employeeID, orderStatusID, paymentMethodID, shipperID);

                // Set information for paging
                response.PageSize   = (Int32)pageSize;
                response.PageNumber = (Int32)pageNumber;
                response.ItemsCount = await query.CountAsync();

                // Retrieve items, set model for response
                response.Model = await query
                                 .Paging(pageSize, pageNumber)
                                 .ToListAsync();
            }
            catch (Exception ex)
            {
                response.SetError(ex, Logger);
            }

            return(response);
        }
Beispiel #8
0
        public async Task <IPagedResponse <ResultDTO> > GetResultsForUserByTestAsync(string userName, int testId, int pageSize = 5, int pageNumber = 1)
        {
            var response = new PagedResponse <ResultDTO>();

            try
            {
                IQueryable <Result> query = _evalUOW.Results.GetAll().Where(x => x.TestId == testId && x.UserName == userName);

                response.PageSize   = pageSize;
                response.PageNumber = pageNumber;
                response.ItemsCount = await query.CountAsync();

                var resultList = await query.Paging(pageSize, pageNumber).ToListAsync();

                var resultListDTO = new List <ResultDTO>();
                foreach (var res in resultList)
                {
                    resultListDTO.Add(_mapper.MapResult(res));
                }

                response.Model = resultListDTO;
            }
            catch (Exception ex)
            {
                response.SetError(nameof(GetResultsForUserByTestAsync), ex);
            }

            return(response);
        }
        public async Task <IPagedResponse <OrderInfo> > GetOrdersAsync(SearchOrdersRequest request)
        {
            Logger?.LogDebug("'{0}' has been invoked", nameof(GetOrdersAsync));

            var response = new PagedResponse <OrderInfo>();

            try
            {
                // Get query
                var query = DbContext
                            .GetOrders(request.OrderStatusID, request.CustomerID, request.EmployeeID, request.ShipperID, request.CurrencyID, request.PaymentMethodID);

                // Set information for paging
                response.PageSize   = (int)request.PageSize;
                response.PageNumber = (int)request.PageNumber;
                response.ItemsCount = await query.CountAsync();

                // Retrieve items, set model for response
                response.Model = await query
                                 .Paging((int)request.PageSize, (int)request.PageNumber)
                                 .ToListAsync();

                response.Message = string.Format("Page {0} of {1}, Total of rows: {2}", response.PageNumber, response.PageCount, response.ItemsCount);

                Logger?.LogInformation(response.Message);
            }
            catch (Exception ex)
            {
                response.SetError(Logger, nameof(GetOrdersAsync), ex);
            }

            return(response);
        }
Beispiel #10
0
        public async Task <IPagedResponse <Product> > GetProductsAsync(int pageSize = 10, int pageNumber = 1)
        {
            Logger?.LogDebug("{0} has been invoked", nameof(GetProductsAsync));

            var response = new PagedResponse <Product>();

            try
            {
                //Get Query
                var query = DbContext.Product;

                //Set information for paging
                response.PageSize   = pageSize;
                response.PageNumber = pageNumber;
                response.ItemsCount = await query.CountAsync();

                response.Model = await query
                                 .Paging(pageSize, pageNumber)
                                 .ToListAsync();
            }
            catch (Exception ex)
            {
                response.SetError(Logger, nameof(GetProductsAsync), ex);
            }


            return(response);
        }
Beispiel #11
0
        public async Task <IPagedResponse <Author> > GetAuthorsAsync(int pageSize = 10, int pageNumber = 1)
        {
            Logger?.LogDebug($"{nameof(GetAuthorsAsync)} has been invoked");

            var response = new PagedResponse <Author>();

            try
            {
                var query = BlogRepository.GetAuthors();

                // set paging information
                response.PageSize   = pageSize;
                response.PageNumber = pageNumber;
                response.ItemsCount = await query.CountAsync();

                // Retrieve items, set model for response.
                response.Model = await query
                                 .Paging(pageSize, pageNumber)
                                 .ToListAsync();
            }
            catch (Exception ex)
            {
                response.SetError(ex, Logger);
            }

            return(response);
        }
Beispiel #12
0
        public async Task <IPagedResponse <Product> > GetProductsAsync(Int32 pageSize = 10, Int32 pageNumber = 1, Int32?productCategoryID = null)
        {
            Logger?.LogInformation("{0} has been invoked", nameof(GetProductsAsync));

            var response = new PagedResponse <Product>();

            try
            {
                // Get query
                var query = ProductionRepository.GetProducts(productCategoryID);

                // Set information for paging
                response.PageSize   = (Int32)pageSize;
                response.PageNumber = (Int32)pageNumber;
                response.ItemsCount = await query.CountAsync();

                // Retrieve items, set model for response
                response.Model = await query.Paging(pageSize, pageNumber).ToListAsync();
            }
            catch (Exception ex)
            {
                response.SetError(ex, Logger);
            }

            return(response);
        }
Beispiel #13
0
        public async Task <IPagedResponse <ResultDTO> > GetResultsByUserAsync(string userName, int pageSize = 5, int pageNumber = 1)
        {
            var response = new PagedResponse <ResultDTO>();

            try
            {
                if (!System.Text.RegularExpressions.Regex.IsMatch(userName, @"^[a-zA-Z0-9]+$"))
                {
                    throw new UserNameException("username should be alphanumeric");
                }
                // Get query
                IQueryable <Result> query = _evalUOW.Results.GetAll().Where(x => x.UserName == userName);

                // Set information for paging
                response.PageSize   = pageSize;
                response.PageNumber = pageNumber;
                response.ItemsCount = await query.CountAsync();

                // Retrieve items, set model for response
                var resultList = await query.Paging(pageSize, pageNumber).ToListAsync();

                var resultListDTO = new List <ResultDTO>();
                if (resultList != null)
                {
                    foreach (var res in resultList)
                    {
                        resultListDTO.Add(_mapper.MapResult(res));
                    }
                }
                else
                {
                    resultListDTO = null;
                }
                response.Model = resultListDTO;
            }
            catch (Exception ex)
            {
                response.SetError(nameof(GetResultsByUserAsync), ex);
            }

            return(response);
        }
        public async Task <IActionResult> GetProductsAsync(int?pageSize = 10, int?pageNumber = 1, string name = "", string sortBy = "popularity")
        {
            Logger?.LogDebug("'{0}' has been invoked", nameof(GetProductsAsync));

            var response = new PagedResponse <Product>();

            try
            {
                // Get query from repository
                var query = Service.DbContext.GetProducts(name);

                // Sorting list
                if (sortBy == "popularity")
                {
                    query = query.OrderByDescending(item => item.Likes);
                }
                else
                {
                    query = query.OrderBy(item => item.ProductName);
                }

                // Set paging's information
                response.PageSize   = (int)pageSize;
                response.PageNumber = (int)pageNumber;
                response.ItemsCount = await query.CountAsync();

                // Retrieve items by page size and page number, set model for response
                response.Model = await query.Paging(response.PageSize, response.PageNumber).ToListAsync();

                response.Message = string.Format("Page {0} of {1}, Total of products: {2}.", pageNumber, response.PageCount, response.ItemsCount);

                Logger?.LogInformation(response.Message);
            }
            catch (Exception ex)
            {
                response.SetError(Logger, nameof(GetProductsAsync), ex);
            }

            return(response.ToHttpResponse());
        }