Posizioni

This commit is contained in:
2026-02-04 14:52:33 +01:00
parent c08a531f17
commit 47ce6d2733
3 changed files with 34 additions and 17 deletions

View File

@ -19,5 +19,4 @@ public class Cliente : EntitaBase
[ForeignKey(nameof(Comune))] [ForeignKey(nameof(Comune))]
public Guid? ComuneId { get; set; } public Guid? ComuneId { get; set; }
public ComuneIstat Comune { get; set; } public ComuneIstat Comune { get; set; }
} }

View File

@ -110,5 +110,5 @@
} }
} }
void ShowTooltip(ElementReference elementReference, TooltipOptions options = null) => _tooltipService.Open(elementReference, options.Text, options); void ShowTooltip(ElementReference elementReference, TooltipOptions options = null) => _tooltipService.Open(elementReference, options.Text, options);
} }

View File

@ -1,22 +1,8 @@
@using TecniStamp.Model.Commesse @using TecniStamp.Model.Commesse
@using TecniStamp.Utils
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<div class="row g-5 mb-5">
<div class="col-md-6"></div>
<div class="col-md-2">
<RadzenButton Icon="date_range"></RadzenButton>
</div>
<div class="col-md-2">
<RadzenText TextStyle="TextStyle.Subtitle2" TagName="TagName.H3">Data ultima modifica</RadzenText>
<RadzenLabel Text="@DateTime.Now.ToShortDateString()"></RadzenLabel>
</div>
<div class="col-md-2">
<RadzenText TextStyle="TextStyle.Subtitle2" TagName="TagName.H3">Data ultima Check</RadzenText>
<RadzenLabel Text="@DateTime.Now.ToShortDateString()"></RadzenLabel>
</div>
</div>
<div class="row g-5"> <div class="row g-5">
<div class="table-responsive"> <div class="table-responsive">
<RadzenDataGrid @ref="posizioniGrid" AllowFiltering="true" AllowColumnResize="true" AllowAlternatingRows="false" FilterMode="FilterMode.CheckBoxList" AllowSorting="true" PageSize="25" <RadzenDataGrid @ref="posizioniGrid" AllowFiltering="true" AllowColumnResize="true" AllowAlternatingRows="false" FilterMode="FilterMode.CheckBoxList" AllowSorting="true" PageSize="25"
@ -31,6 +17,13 @@
<RadzenDataGridColumn Property="@nameof(CommessaPosizioneViewModel.Categoria)" Title="Categoria"></RadzenDataGridColumn> <RadzenDataGridColumn Property="@nameof(CommessaPosizioneViewModel.Categoria)" Title="Categoria"></RadzenDataGridColumn>
<RadzenDataGridColumn Property="@nameof(CommessaPosizioneViewModel.DataConsegna)" Title="Data consegna"></RadzenDataGridColumn> <RadzenDataGridColumn Property="@nameof(CommessaPosizioneViewModel.DataConsegna)" Title="Data consegna"></RadzenDataGridColumn>
<RadzenDataGridColumn Property="@nameof(CommessaPosizioneViewModel.DataTerminePrevisto)" Title="Data termine previsto"></RadzenDataGridColumn> <RadzenDataGridColumn Property="@nameof(CommessaPosizioneViewModel.DataTerminePrevisto)" Title="Data termine previsto"></RadzenDataGridColumn>
<RadzenDataGridColumn Context="posizione" Filterable="false" Sortable="false" TextAlign="TextAlign.Right" Width="250px">
<Template Context="posizione">
<RadzenButton Visible="canEdit" Icon="edit" ButtonStyle="ButtonStyle.Light" Variant="Variant.Flat" Size="ButtonSize.Medium" class="rz-my-1 rz-ms-1" Click="@(args => EditRow(posizione))" @onclick:stopPropagation="true" />
<RadzenButton Visible="canDelete" Icon="delete" ButtonStyle="ButtonStyle.Danger" Variant="Variant.Flat" Size="ButtonSize.Medium" Shade="Shade.Lighter" class="rz-my-1 rz-ms-1" Click="@(args => DeleteRow(posizione))" @onclick:stopPropagation="true" />
</Template>
</RadzenDataGridColumn>
</Columns> </Columns>
</RadzenDataGrid> </RadzenDataGrid>
</div> </div>
@ -43,4 +36,29 @@
RadzenDataGrid<CommessaPosizioneViewModel> posizioniGrid; RadzenDataGrid<CommessaPosizioneViewModel> posizioniGrid;
private bool canEdit = false;
private bool canDelete = false;
protected override async Task OnInitializedAsync()
{
await base.OnInitializedAsync();
canEdit = await MembershipUtils.CheckPermission(_auth, _managerService, "Commesse_Edit");
canDelete = await MembershipUtils.CheckPermission(_auth, _managerService, "Commesse_Delete");
}
private async Task EditRow(CommessaPosizioneViewModel posizione)
{
/*_navManager.NavigateTo($"/commesse/modifica/{commessa.Id}");*/
}
private async Task DeleteRow(CommessaPosizioneViewModel posizione)
{
var ok = await _dialogService.Confirm($"Vuoi davvero eliminare la posizione: {posizione.Posizione}?", "Conferma eliminazione", new ConfirmOptions { OkButtonText = "Sì", CancelButtonText = "No", Width = "400px" });
if (ok == true)
{
await _managerService.CommessaPosizioneService.Elimina(posizione.Id, await MembershipUtils.GetUserId(_auth));
}
}
} }