public IEnumerable <OperationDTO> GetAllOperations(int productId, SortOperationState sortOrder)
        {
            IQueryable <Operation> operations = uow.OperationRepository.GetOperations(productId);

            operations = SortOperations(operations, sortOrder);

            return(mapper.Map <IEnumerable <OperationDTO> >(operations.AsEnumerable()));
        }
        public IQueryable <Operation> SortOperations(IQueryable <Operation> operations, SortOperationState sortOrder)
        {
            switch (sortOrder)
            {
            case SortOperationState.UserAsc:
                operations = operations.OrderBy(s => s.AppUser.UserName);
                break;

            case SortOperationState.UserDesc:
                operations = operations.OrderByDescending(s => s.AppUser.UserName);
                break;

            case SortOperationState.TypeAsc:
                operations = operations.OrderBy(s => s.OperationType);
                break;

            case SortOperationState.TypeDesc:
                operations = operations.OrderByDescending(s => s.OperationType);
                break;

            case SortOperationState.AmountAsc:
                operations = operations.OrderBy(s => s.Amount);
                break;

            case SortOperationState.AmountDesc:
                operations = operations.OrderByDescending(s => s.Amount);
                break;

            case SortOperationState.DateAsc:
                operations = operations.OrderBy(s => s.DateTime);
                break;

            default:
                operations = operations.OrderByDescending(s => s.DateTime);
                break;
            }
            return(operations);
        }
 //GET: api/Operation/id
 public IEnumerable <OperationDTO> GetOperations(int id, [FromQuery] SortOperationState sortOrder)
 {
     return(operationService.GetAllOperations(id, sortOrder));
 }