| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
-
- @{
- ViewBag.Title = "Index";
- Layout = "~/Views/Shared/_Layout.cshtml";
- }
- @using System.Configuration;
- @using ReportWeb.Models;
- @using SuperAdmin.Controllers;
- @using SuperCms.Extensions;
- @model DashboardModel
- @{
- var listService = Context.Session.GetComplexData<List<Services>>("listService");
- var xAxis1 = new String[10];
- var xAxis2 = new String[24];
- var totalRevenue = new long[xAxis1.Length];
- var totalPaid = new long[xAxis1.Length];
- var totalSub = new long[xAxis1.Length];
- var totalNewReg = new long[xAxis1.Length];
- var totalDeactive = new long[xAxis1.Length];
- var totalHourly = new long[24];
- for (int i = 0; i < 10; i++)
- {
- xAxis1[i] = DateTime.Now.AddDays(-10 + i).ToString("dd/MM");
- }
- for (int i = 0; i < 24; i++)
- {
- xAxis2[i] = String.Format("{0:d}", i);
- }
- for (int i = Model.listDailyReportTotal.Count - 1; i >= 0; i--)
- {
- totalRevenue[xAxis1.Length - (Model.listDailyReportTotal.Count - i)] = Model.listDailyReportTotal[i].revenue/2;
- totalPaid[xAxis1.Length - (Model.listDailyReportTotal.Count - i)] = Model.listDailyReportTotal[i].paid_money/2;
- totalSub[xAxis1.Length - (Model.listDailyReportTotal.Count - i)] = Model.listDailyReportTotal[i].count_active/2;
- totalNewReg[xAxis1.Length - (Model.listDailyReportTotal.Count - i)] = Model.listDailyReportTotal[i].count_reg/2;
- totalDeactive[xAxis1.Length - (Model.listDailyReportTotal.Count - i)] = Model.listDailyReportTotal[i].count_deactive/2;
- }
- for (int i = 0; i < Model.listHourlyReportTotal.Count; i++)
- {
- totalHourly[i] = Model.listHourlyReportTotal[i].revenue/2;
- }
- }
- <!-- BEGIN: Content-->
- <div class="app-content content">
- <div class="content-overlay"></div>
- <div class="content-wrapper">
- <div class="content-header row">
- </div>
- <div class="content-body">
- <!-- Stats -->
- <div class="row">
- <div class="col-xl-3 col-lg-6 col-12">
- <div class="card">
- <div class="card-content">
- <div class="media align-items-stretch">
- <div class="p-2 text-center bg-primary bg-darken-2">
- <i class="icon-camera font-large-2 white"></i>
- </div>
- <div class="p-2 bg-gradient-x-primary white media-body">
- <h5>Services</h5>
- <h5 class="text-bold-400 mb-0">@*<i class="feather icon-plus"></i>*@ @(listService != null ? listService.Count : 0)</h5>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="col-xl-3 col-lg-6 col-12">
- <div class="card">
- <div class="card-content">
- <div class="media align-items-stretch">
- <div class="p-2 text-center bg-danger bg-darken-2">
- <i class="icon-user font-large-2 white"></i>
- </div>
- <div class="p-2 bg-gradient-x-danger white media-body">
- <h5>New subs</h5>
- <h5 class="text-bold-400 mb-0">
- @((Model.newSubs/2).ToString("#,0"))
- @if (Model.newSubs > Model.avg7NewSubs)
- {
- <span class="float-right"><i class="feather icon-arrow-up "></i> @((Model.newSubs - Model.avg7NewSubs).ToString("#,0")) (@((((float)(Model.newSubs - Model.avg7NewSubs) * 100) / Model.avg7NewSubs).ToString("+#,0.0") + "%"))</span>
- }
- else
- {
- <span class="float-right"><i class="feather icon-arrow-down "></i> @((Model.avg7NewSubs - Model.newSubs).ToString("#,0")) (@((((float)(Model.newSubs - Model.avg7NewSubs) * 100) / Model.avg7NewSubs).ToString("#,0.0") + "%")) </span>
- }
- </h5>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="col-xl-3 col-lg-6 col-12">
- <div class="card">
- <div class="card-content">
- <div class="media align-items-stretch">
- <div class="p-2 text-center bg-warning bg-darken-2">
- <i class="icon-basket-loaded font-large-2 white"></i>
- </div>
- <div class="p-2 bg-gradient-x-warning white media-body">
- <h5>Total subs</h5>
- <h5 class="text-bold-400 mb-0">
- @((Model.totalSubs/2).ToString("#,0"))
- @if (Model.totalSubs > Model.avg7TotalSubs)
- {
- <span class="float-right"><i class="feather icon-arrow-up "></i> @((Model.totalSubs - Model.avg7TotalSubs).ToString("#,0")) (@((((float)(Model.totalSubs - Model.avg7TotalSubs) * 100) / Model.avg7TotalSubs).ToString("+#,0.0") + "%"))</span>
- }
- else
- {
- <span class="float-right"><i class="feather icon-arrow-down "></i> @((Model.avg7TotalSubs - Model.totalSubs).ToString("#,0")) (@((((float)(Model.totalSubs - Model.avg7TotalSubs) * 100) / Model.avg7TotalSubs).ToString("#,0.0") + "%")) </span>
- }
- </h5>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="col-xl-3 col-lg-6 col-12">
- <div class="card">
- <div class="card-content">
- <div class="media align-items-stretch">
- <div class="p-2 text-center bg-success bg-darken-2">
- <i class="icon-wallet font-large-2 white"></i>
- </div>
- <div class="p-2 bg-gradient-x-success white media-body">
- <h5>Total Revenue</h5>
- <h5 class="text-bold-400 mb-0">
- @((Model.totalRevenue/2).ToString("#,0"))
- @if (Model.totalRevenue > Model.avg7TotalRevenue)
- {
- <span class="float-right"><i class="feather icon-arrow-up "></i> @((Model.totalRevenue - Model.avg7TotalRevenue).ToString("#,0")) (@((((float)(Model.totalRevenue - Model.avg7TotalRevenue) * 100) / Model.avg7TotalRevenue).ToString("+#,0.0") + "%"))</span>
- }
- else
- {
- <span class="float-right"><i class="feather icon-arrow-down "></i> @((Model.avg7TotalRevenue - Model.totalRevenue).ToString("#,0")) (@((((float)(Model.totalRevenue - Model.avg7TotalRevenue) * 100) / Model.avg7TotalRevenue).ToString("#,0.0") + "%")) </span>
- }
- </h5>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <!--/ Stats -->
- <!--Product sale & buyers -->
- <div class="row match-height">
- <div class="col-xl-8 col-lg-12">
- <div class="card">
- <div class="card-header">
- <h4 class="card-title">Total revenue</h4>
- <a class="heading-elements-toggle"><i class="fa fa-ellipsis-v font-medium-3"></i></a>
- <div class="heading-elements">
- <ul class="list-inline mb-0">
- <li><a data-action="reload"><i class="feather icon-rotate-cw"></i></a></li>
- <li><a data-action="expand"><i class="feather icon-maximize"></i></a></li>
- </ul>
- </div>
- </div>
- <div class="card-content">
- <div class="card-body height-400">
- <canvas id="chart-weekly-report"></canvas>
- </div>
- </div>
- </div>
- </div>
- <div class="col-xl-4 col-lg-12">
- <div class="card">
- <div class="card-content">
- <div class="card-body sales-growth-chart height-350">
- <canvas id="chart-hourly-revenue"></canvas>
- </div>
- </div>
- <div class="card-footer">
- <div class="chart-title mb-1 text-center">
- <h6>Hourly revenue.</h6>
- </div>
- </div>
- </div>
- </div>
- </div>
- <!--Recent Orders & Monthly Salse -->
- <div class="row match-height">
- <div class="col-xl-12 col-lg-12">
- <div class="card">
- <div class="card-header">
- <h4 class="card-title">Yesterday Report @DateTime.Now.AddDays(-1).ToString("dd/MM/yyyy")</h4>
- <a class="heading-elements-toggle"><i class="fa fa-ellipsis-v font-medium-3"></i></a>
- <div class="heading-elements">
- <ul class="list-inline mb-0">
- <li><a data-action="reload"><i class="feather icon-rotate-cw"></i></a></li>
- <li><a data-action="expand"><i class="feather icon-maximize"></i></a></li>
- </ul>
- </div>
- </div>
- <div class="card-content">
- @*<div class="card-body">
- <p>
- Total paid invoices 240, unpaid 150.
- <span class="float-right"><a href="project-summary.html" target="_blank">Invoice Summary <i class="feather icon-arrow-right"></i></a></span>
- </p>
- </div>*@
- <div class="table-responsive">
- <table id="db-table-detail-report" class="table table-hover mb-0 ps-container ps-theme-default">
- <thead>
- <tr>
- <th>No.</th>
- <th>Service</th>
- <th>Revenue</th>
- <th>Revenue Buy</th>
- <th>Paid money</th>
- <th>Count sub</th>
- <th>Register new</th>
- <th>Deactive</th>
- </tr>
- </thead>
- <tbody>
- @for (int i = 0; i < Model.todayReport.Count; i++)
- {
- var report = Model.todayReport[i];
- <tr>
- <td class="text-truncate">@(i+1)</td>
- <td class="text-truncate"><a href="@(ViewBag.MyConfig.MyValue + "/Admin/Report?serviceId=" + report.service_id)">@report.service_name</a></td>
- <td class="text-truncate">@report.revenue.ToString("#,0")</td>
- <td class="text-truncate">@report.revenue_buy.ToString("#,0")</td>
- <td class="text-truncate">@report.paid_money.ToString("#,0")</td>
- <td class="text-truncate">@report.count_active.ToString("#,0")</td>
- <td class="text-truncate">@report.count_reg.ToString("#,0")</td>
- <td class="text-truncate">@report.count_deactive.ToString("#,0")</td>
- </tr>
- }
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </div>
- <div class="col-xl-4 col-lg-12">
- </div>
- </div>
- </div>
- </div>
- </div>
- <!-- END: Content-->
- <!-- END: Theme JS-->
- @section Scripts{
- <script src="~/admin-assets/vendors/js/charts/jquery.sparkline.min.js"></script>
- <script src="~/admin-assets/vendors/js/charts/chart.min.js"></script>
- @*<script src="~/admin-assets/js/scripts/pages/dashboard-ecommerce.min.js"></script>*@
- <script src="~/admin-assets/js/scripts/charts/chartjs/advance/chart-dashboard.js"></script>
- @*<script src="~/admin-assets/js/scripts/charts/chartjs/advance/combo-bar-line-data-label.min.js"></script>*@
- <script>
- $(document).ready(function () {
- LoadTest(@Html.Raw(Json.Serialize(xAxis1)), @Html.Raw(Json.Serialize(totalRevenue)),@Html.Raw(Json.Serialize(totalPaid)),
- @Html.Raw(Json.Serialize(totalSub)), @Html.Raw(Json.Serialize(totalNewReg)), @Html.Raw(Json.Serialize(totalDeactive)));
- load_chart_hourly(@Html.Raw(Json.Serialize(xAxis2)) , @Html.Raw(Json.Serialize(totalHourly)));
- });
- </script>
- }
|