<script type="text/javascript">
google.charts.load('current', { packages: ['corechart'] });
$(document).ready(function () {
displayDashboard();
setInterval(function () {
displayDashboard();
}, 60000);
});
function displayDashboard() {
var dailyBookingChartData;
var monthlyChartData;
google.charts.setOnLoadCallback(getDailyBookingChartData);
google.charts.setOnLoadCallback(getMonthlyChartData);
}
function getDailyBookingChartData() {
$.ajax({
type: "POST",
url: "/services/dashboard.asmx/getBookedRoomsPerHour",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
dailyBookingChartData = data.d;
},
error: function () {
console.log("Error loading getDailyBookingChartData! Please try again.");
}
}).done(function () {
drawDailyBookingChart();
});
}
function drawDailyBookingChart() {
var jsonChartData = $.parseJSON(dailyBookingChartData);
var dataTable = new google.visualization.DataTable();
dataTable.addColumn('datetime', 'Time of Day');
dataTable.addColumn('number', 'Centralen');
dataTable.addColumn('number', 'Odenplan');
dataTable.addColumn('number', 'Strandvägen');
for (var i = 0; i < jsonChartData.length; i++) {
dataTable.addRow([new Date(jsonChartData[i].Tid), jsonChartData[i]["Centralen"], jsonChartData[i]["Odenplan"], jsonChartData[i]["Strandvägen"]]);
}
var options = {
bars: 'vertical',
hAxis: {
title: '',
format: 'H:mm',
minValue: 6,
maxValue: 23
},
vAxis: {
title: '# Mötesrum Bokningar',
format: 'decimal'
}
};
var columnChart = new google.charts.Bar(document.getElementById('dailyBookingChart'));
columnChart.draw(dataTable, google.charts.Bar.convertOptions(options));
}
function getMonthlyChartData() {
$.ajax({
type: "POST",
url: "/services/dashboard.asmx/getEstimatedAndDebitedStatisticsPerDay",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
monthlyChartData = data.d;
},
error: function () {
console.log("Error loading getMonthlyChartData! Please try again.");
}
}).done(function () {
drawMonthChart();
});
}
function drawMonthChart() {
var jsonChartData = $.parseJSON(monthlyChartData);
console.log(jsonChartData);
var dataTable = new google.visualization.DataTable();
dataTable.addColumn('date', 'Tid');
dataTable.addColumn('number', 'estimated');
dataTable.addColumn('number', 'debited');
for (var i = 0; i < jsonChartData.length; i++) {
dataTable.addRow([new Date(jsonChartData[i].Date), jsonChartData[i]["estimated"], jsonChartData[i]["debited"]]);
}
var options = {
hAxis: {
title: 'Month',
}
};
var lineChart = new google.charts.lineChart(document.getElementById('monthlyChart'));
lineChart.draw(dataTable, google.charts.lineChart.convertOptions(options));
}
</script>