Skip to content

Commit

Permalink
Almost done with reports
Browse files Browse the repository at this point in the history
  • Loading branch information
sec11008 committed Dec 10, 2015
1 parent f909655 commit 85c218e
Show file tree
Hide file tree
Showing 3 changed files with 157 additions and 33 deletions.
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ namespace TeamDBAwesome.Controllers
{ {
public class GetAllInvoicesController : ApiController public class GetAllInvoicesController : ApiController
{ {
public HttpResponseMessage Get(int custId) public HttpResponseMessage Get()
{ {
HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.OK); HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.OK);


Expand Down
179 changes: 149 additions & 30 deletions TeamDBAwesome/TeamDBAwesome/js/adminController.js
Original file line number Original file line Diff line number Diff line change
@@ -1,6 +1,6 @@
// This controller will hold logic for the employee Portal homepage (Order List, Logout), Customer Info, Media Center, and Reports // This controller will hold logic for the employee Portal homepage (Order List, Logout), Customer Info, Media Center, and Reports


angular.module('routerApp').controller('adminController', function ($scope, $http, $log, $timeout, $cookies, urlService, $anchorScroll, $location, $q, $state, $rootScope, HolderService) { angular.module('routerApp').controller('adminController', function ($scope, $http, $log, $timeout, $cookies, urlService, $anchorScroll, $location, $q, $state, $rootScope, HolderService, uiGridConstants) {
/* Retrieve Url */ /* Retrieve Url */
var url = urlService.web; var url = urlService.web;
$cookies.put('PAGE', 'Admin'); $cookies.put('PAGE', 'Admin');
Expand Down Expand Up @@ -366,36 +366,155 @@ angular.module('routerApp').controller('adminController', function ($scope, $htt
//End Playlist Editor //End Playlist Editor


//Reports //Reports
$scope.inventoryGridOptions = {
enableFiltering: true,
showColumnFooter: true,
columnDefs: [
{ field: 'Title', displayName: 'Track Title' },
{ field: 'Artist' },
{ field: 'Album' },
{ field: 'MediaType', displayName: 'Track Title' },
{ field: 'Genre' },
{ field: 'Composer' },
{ field: 'Milliseconds' },
{ field: 'UnitPrice' },
{ field: 'Bytes' }
]
}


$scope.inventoryGridOptions.data = [ $scope.showInventory = false;
{ $scope.showSales = false;
"Title": "Test", $scope.inReport = false;
"Artist": "Test",
"Album": "Test", $scope.toInventory = function () {
"Address": "Test", $scope.showInventory = true;
"MediaType": "Test", $scope.inReport = true;
"Genre": "Test", }
"Composer": "Test",
"Milliseconds": "Test", $scope.toSales = function () {
"UnitPrice": "Test", $scope.showSales = true;
"Bytes": "Test" $scope.inReport = true;
} }
]
$scope.toReports = function () {
$scope.showInventory = false;
$scope.showSales = false;
$scope.inReport = false;
}

$scope.getPlaylists = function () {
$scope.playlists = [];
$http.get("http://localhost:50031/api/GetPlaylistList")
.success(function (response) {
$scope.playlists = angular.copy(response);
$scope.playlistGridOptions.data = angular.copy(response);
console.log(response);
})
}

$scope.getReports = function () {
$scope.getInventory();
console.log("inventory");
$scope.getSales();
console.log("sales");


}
$scope.getInventory = function () {
$scope.inventoryGridOptions.data = [];
$http.get("http://localhost:50031/api/GetAllTracks")
.success(function (response) {
$scope.inventoryGridOptions.data = angular.copy(response);
console.log(response);
})
}
$scope.getSales = function () {
$scope.salesGridOptions.data = [];
$http.get("http://localhost:50031/api/GetAllInvoices")
.success(function (response) {
$scope.salesGridOptions.data = angular.copy(response);
console.log(response);
})
}

$scope.inventoryGridOptions = {
enableFiltering: true,
showColumnFooter: true,
showGridFoorter: true,
columnDefs: [
{ field: 'TrackName', displayName: 'Track Title', width:'20%' },
{ field: 'artist' },
{ field: 'AlbumTitle' },
{ field: 'MediaType', displayName: 'Track Title' },
{ field: 'Genre' },
{ field: 'Composer' },
{ field: 'Milliseconds',
filters: [
{
condition: uiGridConstants.filter.GREATER_THAN,
placeholder: 'greater than'
},
{
condition: uiGridConstants.filter.LESS_THAN,
placeholder: 'less than'
}
],
width: '8%'
},
{ field: 'UnitPrice', width : '5%' },
{ field: 'Bytes' }
]
}

$scope.salesGridOptions = {
enableFiltering: true,
showColumnFooter: true,
showGridFoorter: true,
columnDefs: [
{ field: 'invoiceId', displayName: 'Invoice Id',
filters: [
{
condition: uiGridConstants.filter.GREATER_THAN,
placeholder: 'greater than'
},
{
condition: uiGridConstants.filter.LESS_THAN,
placeholder: 'less than'
}
]
},
{ field: 'customerId', displayName: 'Customer Id',
filters: [
{
condition: uiGridConstants.filter.GREATER_THAN,
placeholder: 'greater than'
},
{
condition: uiGridConstants.filter.LESS_THAN,
placeholder: 'less than'
}
]
},
{ field: 'invoiceDate', displayName: 'Date' },
{ field: 'address', displayName: 'Street Address' },
{ field: 'city', displayName: 'City' },
{ field: 'state', displayName: 'State' },
{ field: 'country', displayName: 'Country' },
{ field: 'post', displayName: 'Postal Code' },
{field: 'total',
filters: [
{
condition: uiGridConstants.filter.GREATER_THAN,
placeholder: 'greater than'
},
{
condition: uiGridConstants.filter.LESS_THAN,
placeholder: 'less than'
}
]
}
]
}

$scope.inventoryGridOptions.data = [
{
"Title": "Test",
"Artist": "Test",
"Album": "Test",
"Address": "Test",
"MediaType": "Test",
"Genre": "Test",
"Composer": "Test",
"Milliseconds": "Test",
"UnitPrice": "Test",
"Bytes": "Test"
}
]


//End Reports //End Reports


Expand Down
9 changes: 7 additions & 2 deletions TeamDBAwesome/TeamDBAwesome/pages/admin-view.html
Original file line number Original file line Diff line number Diff line change
@@ -1,4 +1,4 @@
<div ng-controller='adminController'> <div ng-controller='adminController' ng-init="getReports();">
<!-- <div class="text-center"> <!-- <div class="text-center">
<h1 class=''>Results View here</h1> <h1 class=''>Results View here</h1>
</div><br /><br /> </div><br /><br />
Expand All @@ -18,5 +18,10 @@ <h1 class=''>Results View here</h1>
milliseconds, bytes, and/or composer. These can be summary reports by artist name, by milliseconds, bytes, and/or composer. These can be summary reports by artist name, by
compose, genre, etc. The report needs to work for all combinations. This is utilizing the compose, genre, etc. The report needs to work for all combinations. This is utilizing the
media dimension--> media dimension-->
<div id="inventory" ui-grid="inventoryGridOptions" class="grid" ng-if=""></div> <a ng-hide="inReport" ng-click="toInventory();" class="btn btn-lg btn-primary center-block">View Inventory Report</a><br />
<a ng-hide="inReport" ng-click="toSales();" class="btn btn-lg btn-primary center-block">View Sales Report</a><br />
<a ng-show="inReport" ng-click="toReports();" class="btn btn-lg btn-primary center-block">Back</a><br />

<div id="inventory" ui-grid="inventoryGridOptions" class="grid" ng-if="showInventory" style="height : 700px;"></div>
<div id="sales" ui-grid="salesGridOptions" class="grid" ng-if="showSales" style="height : 700px;"></div>
</div> </div>

0 comments on commit 85c218e

Please sign in to comment.