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))]
public Guid? ComuneId { 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.Utils
<div class="card">
<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="table-responsive">
<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.DataConsegna)" Title="Data consegna"></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>
</RadzenDataGrid>
</div>
@ -43,4 +36,29 @@
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));
}
}
}