OK conf classe controller DB

This commit is contained in:
Samuele Locatelli
2021-12-07 16:39:40 +01:00
parent 7ac306c4e3
commit 581e33957a
8 changed files with 239 additions and 85 deletions
-13
View File
@@ -1,13 +0,0 @@
namespace GPW.CORE.UI.Data
{
public class WeatherForecast
{
public DateTime Date { get; set; }
public int TemperatureC { get; set; }
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
public string? Summary { get; set; }
}
}
@@ -1,20 +0,0 @@
namespace GPW.CORE.UI.Data
{
public class WeatherForecastService
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
public Task<WeatherForecast[]> GetForecastAsync(DateTime startDate)
{
return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = startDate.AddDays(index),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
}).ToArray());
}
}
}
+73
View File
@@ -0,0 +1,73 @@
@page "/Dipendenti"
@using GPW.CORE.UI.Components
<PageTitle>Dipendenti</PageTitle>
<div class="card">
<div class="card-header table-primary pb-0 mb-0">
<h2>Dipendenti</h2>
</div>
<div class="card-body">
@if (ListRecords == null)
{
<LoadingData></LoadingData>
}
else if (totalCount == 0)
{
<div class="alert alert-warning text-center display-4">No Record Found</div>
}
else
{
<div class="row">
<div class="col-12">
@*<div id="qrCodeImg"></div>*@
<table class="table table-sm table-striped">
<thead>
<tr>
@*<th></th>*@
<th>Cognome</th>
<th>Nome</th>
<th class="text-right">Anagrafe</th>
<th class="text-right">Dominio</th>
<th class="text-right">Username</th>
</tr>
</thead>
<tbody>
@foreach (var record in ListRecords)
{
<tr>
@*<td class="text-nowrap">
<button class="btn btn-sm btn-info" @onclick="() => Select(record)">
<i class="oi oi-magnifying-glass"></i>
</button>
</td>*@
<td>
<b>@record.Cognome</b>
</td>
<td>
@record.Nome
</td>
<td class="text-right">
nato a <span>@record.LuogoNascita, @record.ProvNascita</span> il <span >@record.DataNascita</span>
</td>
<td class="text-right">
@record.Dominio
</td>
<td class="text-right">
@record.Utente
</td>
</tr>
}
</tbody>
</table>
</div>
</div>
}
</div>
<div class="card-footer p-1">
<DataPager PageSize="numRecord" currPage="currPage" numRecordChanged="ForceReload" numPageChanged="ForceReloadPage" totalCount="totalCount" showLoading="isLoading" />
</div>
</div>
+151
View File
@@ -0,0 +1,151 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Components;
using System.Net.Http;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.AspNetCore.Components.Forms;
using Microsoft.AspNetCore.Components.Routing;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.Web.Virtualization;
using Microsoft.JSInterop;
using GPW.CORE.UI;
using GPW.CORE.UI.Shared;
using GPW.CORE.UI.Components;
using GPW.CORE.Data.DbModels;
using GPW.CORE.UI.Data;
namespace GPW.CORE.UI.Pages
{
public partial class Dipendenti : ComponentBase, IDisposable
{
#region Private Fields
private List<DipendentiModel> ListRecords = null!;
private List<DipendentiModel> SearchRecords = null!;
#endregion Private Fields
#region Private Properties
private int _currPage { get; set; } = 1;
private int _numRecord { get; set; } = 10;
private int currPage
{
get => _currPage;
set
{
if (_currPage != value)
{
_currPage = value;
ReloadData().ConfigureAwait(false);
}
}
}
private bool isLoading { get; set; } = false;
private int IdxDipSel = 0;
[Inject]
private NavigationManager NavManager { get; set; } = null!;
private int numRecord
{
get => _numRecord;
set
{
if (_numRecord != value)
{
_numRecord = value;
ReloadData().ConfigureAwait(false);
}
}
}
#endregion Private Properties
#region Protected Properties
[Inject]
protected MessageService AppMService { get; set; } = null!;
[Inject]
protected GpwDataService DataService { get; set; } = null!;
[Inject]
protected IJSRuntime JSRuntime { get; set; } = null!;
protected int totalCount
{
get
{
int answ = 0;
if (SearchRecords != null)
{
answ = SearchRecords.Count;
}
return answ;
}
}
#endregion Protected Properties
#region Private Methods
private async Task ReloadData()
{
isLoading = true;
SearchRecords = await DataService.DipendentiGetAll();
ListRecords = SearchRecords.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList();
isLoading = false;
}
#endregion Private Methods
#region Protected Methods
protected void ForceReload(int newNum)
{
numRecord = newNum;
}
protected void ForceReloadPage(int newNum)
{
currPage = newNum;
}
protected override async Task OnInitializedAsync()
{
await ReloadData();
}
protected void ResetData()
{
//DataService.rollBackEdit(currRecord);
}
protected void Select(DipendentiModel selRecord)
{
IdxDipSel = selRecord.IdxDipendente;
//// rimando a remnants
//NavManager.NavigateTo($"Remnants");
}
#endregion Protected Methods
#region Public Methods
public void Dispose()
{
//AppMService.EA_SearchUpdated -= OnSeachUpdated;
}
#endregion Public Methods
}
}
-48
View File
@@ -1,48 +0,0 @@
@page "/fetchdata"
<PageTitle>Weather forecast</PageTitle>
@using GPW.CORE.UI.Data
@inject WeatherForecastService ForecastService
<h1>Weather forecast</h1>
<p>This component demonstrates fetching data from a service.</p>
@if (forecasts == null)
{
<p><em>Loading...</em></p>
}
else
{
<table class="table">
<thead>
<tr>
<th>Date</th>
<th>Temp. (C)</th>
<th>Temp. (F)</th>
<th>Summary</th>
</tr>
</thead>
<tbody>
@foreach (var forecast in forecasts)
{
<tr>
<td>@forecast.Date.ToShortDateString()</td>
<td>@forecast.TemperatureC</td>
<td>@forecast.TemperatureF</td>
<td>@forecast.Summary</td>
</tr>
}
</tbody>
</table>
}
@code {
private WeatherForecast[]? forecasts;
protected override async Task OnInitializedAsync()
{
forecasts = await ForecastService.GetForecastAsync(DateTime.Now);
}
}
+8 -1
View File
@@ -15,9 +15,16 @@ builder.Services.AddAuthorization(options =>
options.FallbackPolicy = options.DefaultPolicy;
});
builder.Services.AddStackExchangeRedisCache(options =>
{
options.ConfigurationOptions = new StackExchange.Redis.ConfigurationOptions() { KeepAlive = 180, DefaultDatabase = 15, EndPoints = { { "localhost", 6379 } } };
options.InstanceName = "GPW-CORE:";
});
builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor();
builder.Services.AddSingleton<WeatherForecastService>();
builder.Services.AddSingleton<GpwDataService>();
builder.Services.AddScoped<MessageService>();
var app = builder.Build();
+2 -2
View File
@@ -30,8 +30,8 @@
</NavLink>
</div>
<div class="nav-item px-3">
<NavLink class="nav-link" href="fetchdata">
<span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
<NavLink class="nav-link" href="Dipendenti">
<span class="oi oi-people" aria-hidden="true"></span> Dipendenti
</NavLink>
</div>
</nav>
+5 -1
View File
@@ -5,5 +5,9 @@
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*"
"AllowedHosts": "*",
"ConnectionStrings": {
"GPW.DB": "Server=SQLSTEAM;Database=GPW; User ID=sa;Password=keyhammer; integrated security=False; MultipleActiveResultSets=True; App=GPW.CORE.UI;",
"Redis": "localhost:6379"
}
}