Lista commesse

This commit is contained in:
2026-02-03 11:40:19 +01:00
parent 301537cc9f
commit 792331b5c7
12 changed files with 986 additions and 105 deletions

View File

@ -7,16 +7,14 @@ public class Cliente : EntitaBase
{
public string RagioneSociale { get; set; }
public string PartitaIva { get; set; }
public string Paese { get; set; }
public string Telefono { get; set; }
public string Email { get; set; }
public string Indirizzo { get; set; }
public string CAP { get; set; }
public string Citta { get; set; }
public string NumeroCivico { get; set; }
public string Via { get; set; }
public string Provincia { get; set; }
public string Note { get; set; }
public string? Note { get; set; }
[ForeignKey(nameof(Comune))]
public Guid? ComuneId { get; set; }

View File

@ -0,0 +1,825 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using TecniStamp.Infrastructure.DAL.Context;
#nullable disable
namespace TecniStamp.Infrastructure.Migrations
{
[DbContext(typeof(TecniStampDbContext))]
[Migration("20260203103529_Rimossi campi cliente")]
partial class Rimossicampicliente
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "9.0.11")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("TecniStamp.Domain.Cliente", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("CAP")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Citta")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<Guid?>("ComuneId")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<string>("Email")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<string>("Note")
.HasColumnType("nvarchar(max)");
b.Property<string>("NumeroCivico")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("PartitaIva")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Provincia")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("RagioneSociale")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Telefono")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Via")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("ComuneId");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.ToTable("Cliente");
});
modelBuilder.Entity("TecniStamp.Domain.Commessa", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<int>("AnnoCommessa")
.HasColumnType("int");
b.Property<Guid?>("ClienteId")
.HasColumnType("uniqueidentifier");
b.Property<string>("CodiceCommessa")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("DataConsegna")
.HasColumnType("datetime2");
b.Property<DateTime>("DataConsegnaPrevista")
.HasColumnType("datetime2");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<DateTime>("DataOrdine")
.HasColumnType("datetime2");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<string>("OrdineNr")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<decimal?>("OreTotali")
.HasColumnType("decimal(18,2)");
b.Property<string>("RiferimentoCliente")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("Stato")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("ClienteId");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.ToTable("Commessa");
});
modelBuilder.Entity("TecniStamp.Domain.ComuneIstat", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("CodFisco")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Comune")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<string>("Istat")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Prefisso")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Provincia")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<Guid?>("ProvinciaIstatId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Regione")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.HasIndex("ProvinciaIstatId");
b.ToTable("ComuneIstat");
});
modelBuilder.Entity("TecniStamp.Domain.Feature", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<string>("Descrizione")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<string>("Nome")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("Ordinamento")
.HasColumnType("int");
b.Property<Guid>("SezioneId")
.HasColumnType("uniqueidentifier");
b.Property<int>("Type")
.HasColumnType("int");
b.HasKey("Id");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.HasIndex("SezioneId");
b.ToTable("Feature");
});
modelBuilder.Entity("TecniStamp.Domain.Lavorazione", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("ChiaveEsterna")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Codice")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("CodiceColore")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<float?>("CostoOrario")
.HasColumnType("real");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<string>("Descrizione")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<bool>("Sovrapponibile")
.HasColumnType("bit");
b.HasKey("Id");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.ToTable("Lavorazione");
});
modelBuilder.Entity("TecniStamp.Domain.Macchinario", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("CodiceEsterno")
.HasColumnType("nvarchar(max)");
b.Property<string>("ConfigurazioneJSON")
.HasColumnType("nvarchar(max)");
b.Property<string>("ConfigurazionePercorso")
.HasColumnType("nvarchar(max)");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<string>("Descrizione")
.HasColumnType("nvarchar(max)");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<bool>("Interscambio")
.HasColumnType("bit");
b.Property<string>("Nome")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.ToTable("Macchinario");
});
modelBuilder.Entity("TecniStamp.Domain.Permission", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<Guid>("IdFeature")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("RuoloId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("IdFeature");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.HasIndex("RuoloId");
b.ToTable("Permission");
});
modelBuilder.Entity("TecniStamp.Domain.ProvinciaIstat", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<string>("Provincia")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Sigla")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.ToTable("ProvinciaIstat");
});
modelBuilder.Entity("TecniStamp.Domain.Ruolo", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<string>("Nome")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.ToTable("Ruolo");
});
modelBuilder.Entity("TecniStamp.Domain.Sezione", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<bool>("Blank")
.HasColumnType("bit");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<string>("Icona")
.HasColumnType("nvarchar(max)");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<string>("Nome")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("Ordinamento")
.HasColumnType("int");
b.Property<Guid?>("ParentId")
.HasColumnType("uniqueidentifier");
b.Property<string>("Url")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("Id");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.HasIndex("ParentId");
b.ToTable("Sezione");
});
modelBuilder.Entity("TecniStamp.Domain.Utente", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uniqueidentifier");
b.Property<string>("Cognome")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<decimal>("Costo")
.HasColumnType("decimal(18,2)");
b.Property<DateTime>("DataCreazione")
.HasColumnType("datetime2");
b.Property<DateTime?>("DataModifica")
.HasColumnType("datetime2");
b.Property<bool>("Eliminato")
.HasColumnType("bit");
b.Property<string>("Email")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<Guid?>("IdUtenteCreazione")
.HasColumnType("uniqueidentifier");
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<string>("Nome")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Password")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<Guid?>("RuoloId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.HasIndex("RuoloId");
b.ToTable("Utente");
});
modelBuilder.Entity("TecniStamp.Domain.Cliente", b =>
{
b.HasOne("TecniStamp.Domain.ComuneIstat", "Comune")
.WithMany()
.HasForeignKey("ComuneId");
b.HasOne("TecniStamp.Domain.Utente", "UtenteCreazione")
.WithMany()
.HasForeignKey("IdUtenteCreazione");
b.HasOne("TecniStamp.Domain.Utente", "UtenteModifica")
.WithMany()
.HasForeignKey("IdUtenteModifica");
b.Navigation("Comune");
b.Navigation("UtenteCreazione");
b.Navigation("UtenteModifica");
});
modelBuilder.Entity("TecniStamp.Domain.Commessa", b =>
{
b.HasOne("TecniStamp.Domain.Cliente", "Cliente")
.WithMany()
.HasForeignKey("ClienteId");
b.HasOne("TecniStamp.Domain.Utente", "UtenteCreazione")
.WithMany()
.HasForeignKey("IdUtenteCreazione");
b.HasOne("TecniStamp.Domain.Utente", "UtenteModifica")
.WithMany()
.HasForeignKey("IdUtenteModifica");
b.Navigation("Cliente");
b.Navigation("UtenteCreazione");
b.Navigation("UtenteModifica");
});
modelBuilder.Entity("TecniStamp.Domain.ComuneIstat", b =>
{
b.HasOne("TecniStamp.Domain.Utente", "UtenteCreazione")
.WithMany()
.HasForeignKey("IdUtenteCreazione");
b.HasOne("TecniStamp.Domain.Utente", "UtenteModifica")
.WithMany()
.HasForeignKey("IdUtenteModifica");
b.HasOne("TecniStamp.Domain.ProvinciaIstat", "ProvinciaIstat")
.WithMany()
.HasForeignKey("ProvinciaIstatId");
b.Navigation("ProvinciaIstat");
b.Navigation("UtenteCreazione");
b.Navigation("UtenteModifica");
});
modelBuilder.Entity("TecniStamp.Domain.Feature", b =>
{
b.HasOne("TecniStamp.Domain.Utente", "UtenteCreazione")
.WithMany()
.HasForeignKey("IdUtenteCreazione");
b.HasOne("TecniStamp.Domain.Utente", "UtenteModifica")
.WithMany()
.HasForeignKey("IdUtenteModifica");
b.HasOne("TecniStamp.Domain.Sezione", "Sezione")
.WithMany("Features")
.HasForeignKey("SezioneId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Sezione");
b.Navigation("UtenteCreazione");
b.Navigation("UtenteModifica");
});
modelBuilder.Entity("TecniStamp.Domain.Lavorazione", b =>
{
b.HasOne("TecniStamp.Domain.Utente", "UtenteCreazione")
.WithMany()
.HasForeignKey("IdUtenteCreazione");
b.HasOne("TecniStamp.Domain.Utente", "UtenteModifica")
.WithMany()
.HasForeignKey("IdUtenteModifica");
b.Navigation("UtenteCreazione");
b.Navigation("UtenteModifica");
});
modelBuilder.Entity("TecniStamp.Domain.Macchinario", b =>
{
b.HasOne("TecniStamp.Domain.Utente", "UtenteCreazione")
.WithMany()
.HasForeignKey("IdUtenteCreazione");
b.HasOne("TecniStamp.Domain.Utente", "UtenteModifica")
.WithMany()
.HasForeignKey("IdUtenteModifica");
b.Navigation("UtenteCreazione");
b.Navigation("UtenteModifica");
});
modelBuilder.Entity("TecniStamp.Domain.Permission", b =>
{
b.HasOne("TecniStamp.Domain.Feature", "Feature")
.WithMany()
.HasForeignKey("IdFeature")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("TecniStamp.Domain.Utente", "UtenteCreazione")
.WithMany()
.HasForeignKey("IdUtenteCreazione");
b.HasOne("TecniStamp.Domain.Utente", "UtenteModifica")
.WithMany()
.HasForeignKey("IdUtenteModifica");
b.HasOne("TecniStamp.Domain.Ruolo", "Ruolo")
.WithMany("Permessi")
.HasForeignKey("RuoloId");
b.Navigation("Feature");
b.Navigation("Ruolo");
b.Navigation("UtenteCreazione");
b.Navigation("UtenteModifica");
});
modelBuilder.Entity("TecniStamp.Domain.ProvinciaIstat", b =>
{
b.HasOne("TecniStamp.Domain.Utente", "UtenteCreazione")
.WithMany()
.HasForeignKey("IdUtenteCreazione");
b.HasOne("TecniStamp.Domain.Utente", "UtenteModifica")
.WithMany()
.HasForeignKey("IdUtenteModifica");
b.Navigation("UtenteCreazione");
b.Navigation("UtenteModifica");
});
modelBuilder.Entity("TecniStamp.Domain.Ruolo", b =>
{
b.HasOne("TecniStamp.Domain.Utente", "UtenteCreazione")
.WithMany()
.HasForeignKey("IdUtenteCreazione");
b.HasOne("TecniStamp.Domain.Utente", "UtenteModifica")
.WithMany()
.HasForeignKey("IdUtenteModifica");
b.Navigation("UtenteCreazione");
b.Navigation("UtenteModifica");
});
modelBuilder.Entity("TecniStamp.Domain.Sezione", b =>
{
b.HasOne("TecniStamp.Domain.Utente", "UtenteCreazione")
.WithMany()
.HasForeignKey("IdUtenteCreazione");
b.HasOne("TecniStamp.Domain.Utente", "UtenteModifica")
.WithMany()
.HasForeignKey("IdUtenteModifica");
b.HasOne("TecniStamp.Domain.Sezione", "Parent")
.WithMany()
.HasForeignKey("ParentId");
b.Navigation("Parent");
b.Navigation("UtenteCreazione");
b.Navigation("UtenteModifica");
});
modelBuilder.Entity("TecniStamp.Domain.Utente", b =>
{
b.HasOne("TecniStamp.Domain.Utente", "UtenteCreazione")
.WithMany()
.HasForeignKey("IdUtenteCreazione");
b.HasOne("TecniStamp.Domain.Utente", "UtenteModifica")
.WithMany()
.HasForeignKey("IdUtenteModifica");
b.HasOne("TecniStamp.Domain.Ruolo", "Ruolo")
.WithMany("Utenti")
.HasForeignKey("RuoloId");
b.Navigation("Ruolo");
b.Navigation("UtenteCreazione");
b.Navigation("UtenteModifica");
});
modelBuilder.Entity("TecniStamp.Domain.Ruolo", b =>
{
b.Navigation("Permessi");
b.Navigation("Utenti");
});
modelBuilder.Entity("TecniStamp.Domain.Sezione", b =>
{
b.Navigation("Features");
});
#pragma warning restore 612, 618
}
}
}

View File

@ -0,0 +1,58 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace TecniStamp.Infrastructure.Migrations
{
/// <inheritdoc />
public partial class Rimossicampicliente : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Indirizzo",
table: "Cliente");
migrationBuilder.DropColumn(
name: "Paese",
table: "Cliente");
migrationBuilder.AlterColumn<string>(
name: "Note",
table: "Cliente",
type: "nvarchar(max)",
nullable: true,
oldClrType: typeof(string),
oldType: "nvarchar(max)");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.AlterColumn<string>(
name: "Note",
table: "Cliente",
type: "nvarchar(max)",
nullable: false,
defaultValue: "",
oldClrType: typeof(string),
oldType: "nvarchar(max)",
oldNullable: true);
migrationBuilder.AddColumn<string>(
name: "Indirizzo",
table: "Cliente",
type: "nvarchar(max)",
nullable: false,
defaultValue: "");
migrationBuilder.AddColumn<string>(
name: "Paese",
table: "Cliente",
type: "nvarchar(max)",
nullable: false,
defaultValue: "");
}
}
}

View File

@ -58,22 +58,13 @@ namespace TecniStamp.Infrastructure.Migrations
b.Property<Guid?>("IdUtenteModifica")
.HasColumnType("uniqueidentifier");
b.Property<string>("Indirizzo")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Note")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("NumeroCivico")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("Paese")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<string>("PartitaIva")
.IsRequired()
.HasColumnType("nvarchar(max)");

View File

@ -4,15 +4,15 @@
<AuthorizeView>
<Authorized>
<header class="header">
<nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow h-100">
<div class="container-fluid justify-content-between align-items-center">
<div class="sticky-top">
<header class="navbar navbar-expand-md sticky-top d-print-none">
<div class="container-xl">
<button class="navbar-toggler collapsed d-flex" type="button" data-bs-toggle="offcanvas" data-bs-target="#navbar-menu" aria-controls="navbar-menu" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand align-middle" asp-area="" asp-controller="Home" asp-action="Index">
<img src="~/img/logo-dark.png" alt="TecniStamp logo" style="height: 35px;" />
<img src="~/img/logo-dark.png" alt="TecniStamp logo" style="height: 35px;"/>
</a>
<div class="position-relative">
@ -30,8 +30,8 @@
</div>
</div>
</div>
</nav>
</header>
</div>
</Authorized>
</AuthorizeView>

View File

@ -1,23 +1,22 @@
@page "/anagrafiche/ruoli"
@using Microsoft.EntityFrameworkCore
@using TecniStamp.Model
@using TecniStamp.Model.Common
@using TecniStamp.Utils
@rendermode InteractiveServer
<PageTitle>Ruoli</PageTitle>
<div class="page-wrapper">
<!-- BEGIN PAGE BODY -->
<div class="page-body">
<div class="container-xl">
<PageTitle>Commesse</PageTitle>
<Breadcrumb Items="BreadcrumbList" />
<main role="main">
<div class="container-fluid h-100 mt-5">
<div class="row justify-content-start">
<div class="row row-cards">
<div class="col">
<!-- Page pre-title -->
<h2 class="page-title">Ruoli</h2>
</div>
<div class="col-auto ms-auto">
<div class="btn-list">
<a href="/Anagrafiche/Ruoli/Modifica" class="btn btn-primary btn-5 d-none d-sm-inline-block">
Nuovo Ruolo
Nuovo ruolo
</a>
</div>
</div>
@ -44,11 +43,12 @@
</div>
</div>
</div>
</div>
</main>
@code {
List<RuoloViewModel> ruoli;
RadzenDataGrid<RuoloViewModel> ruoliGrid;
public List<BreadcrumbViewModel> BreadcrumbList { get; set; } = new();
/// <summary>
/// Carica la lista dei ruoli non eliminati, ordinandoli per nome.
@ -62,6 +62,8 @@
includi: x => x.Include(y => y.UtenteCreazione),
ordinamento: x => x.OrderBy(y => y.Nome)))
.Select(x => (RuoloViewModel)x).ToList();
BreadcrumbList = await BreadcrumbUtils.BuildBreadcrumbByFeature(_managerService, "Ruoli_Insert");
}
/// <summary>

View File

@ -3,31 +3,19 @@
@using Microsoft.EntityFrameworkCore
@using TecniStamp.Domain
@using TecniStamp.Model
@using TecniStamp.Model.Common
@using TecniStamp.Utils
@rendermode InteractiveServer
@inject AuthenticationStateProvider auth
<PageTitle>@pageTitle</PageTitle>
<Breadcrumb Items="BreadcrumbList" />
<div class="page-wrapper">
<!-- BEGIN PAGE HEADER -->
<div class="page-header d-print-none" aria-label="Page header">
<div class="container-xl">
<div class="row g-2 align-items-center">
<div class="col">
<h2 class="page-title">@pageTitle</h2>
</div>
</div>
</div>
</div>
<!-- END PAGE HEADER -->
<!-- BEGIN PAGE BODY -->
<div class="page-body">
<div class="container-xl">
<main role="main">
<div class="container-fluid h-100 mt-5 mb-5">
<div class="row justify-content-start">
<div class="row row-cards">
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<div class="row g-5">
@ -58,11 +46,8 @@
</div>
</EditForm>
</div>
</div>
</div>
</div>
</div>
<div class="row g-5">
<div id="advanced-table">
<div class="table-responsive">
<RadzenDataGrid @ref="permessiGrid" AllowFiltering="true" AllowColumnResize="true" AllowAlternatingRows="false" FilterMode="FilterMode.CheckBoxList" AllowSorting="true" PageSize="25"
@ -83,14 +68,17 @@
</RadzenDataGrid>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
@code {
[Parameter] public Guid? RuoloId { get; set; }
public List<BreadcrumbViewModel> BreadcrumbList { get; set; } = new();
public RuoloViewModel Model { get; set; } = new();
private List<PermissionRowViewModel> permessi { get; set; } = new();
@ -113,6 +101,9 @@
permessi = [];
foreach (var section in sections)
permessi.AddRange(section.Features.Where(x => !x.Eliminato).Select(x => new PermissionRowViewModel(section, x, permissions)).ToList());
BreadcrumbList = await BreadcrumbUtils.BuildBreadcrumbByFeature(_managerService, "Ruoli_Insert", "Modifica", "/Anagrafiche/Ruoli");
}
/// <summary>

View File

@ -29,9 +29,9 @@
<RadzenDataGridColumn Property="@nameof(CommessaViewModel.RagioneSocialeCliente)" Title="Cliente" Width="160px" />
<RadzenDataGridColumn Property="@nameof(CommessaViewModel.ClienteId)" Title="Data Vis.Cliente" Width="200px" />
<RadzenDataGridColumn Property="@nameof(CommessaViewModel.RiferimentoCliente)" Title="Riferimento Cliente" Width="200px" />
<RadzenDataGridColumn Property="@nameof(CommessaViewModel.DataOrdine)" FormatString="dd/MM/yyyy" Title="Data ordine" Width="200px" />
<RadzenDataGridColumn Property="@nameof(CommessaViewModel.DataConsegnaPrevista)" FormatString="dd/MM/yyyy" Title="Data consegna effettiva" Width="200px" />
<RadzenDataGridColumn Property="@nameof(CommessaViewModel.DataConsegna)" FormatString="dd/MM/yyyy" Title="Data consegna richiesta" Width="200px" />
<RadzenDataGridColumn Property="@nameof(CommessaViewModel.DataOrdine)" FormatString="{0:dd/MM/yyyy}" Title="Data ordine" Width="200px" />
<RadzenDataGridColumn Property="@nameof(CommessaViewModel.DataConsegnaPrevista)" FormatString="{0:dd/MM/yyyy}" Title="Data consegna effettiva" Width="200px" />
<RadzenDataGridColumn Property="@nameof(CommessaViewModel.DataConsegna)" FormatString="{0:dd/MM/yyyy}" Title="Data consegna richiesta" Width="200px" />
<RadzenDataGridColumn Property="@nameof(CommessaViewModel.Stato)" Title="Stato" Width="200px" />
</Columns>
</RadzenDataGrid>

View File

@ -1,5 +1,5 @@
@using TecniStamp.Model.Common
<div class="card bg-primary-lt position-fixed w-100 rounded-0 shadow-sm" style="top: 58px; left:0; z-index: 100;">
<div class="card app-topbar position-fixed w-100 rounded-0 shadow-sm" style="top:58px; left:0; z-index:100;">
<div class="card-body py-2">
<ol class="breadcrumb breadcrumb-arrows">
@foreach (var item in Items)

View File

@ -0,0 +1,15 @@
.app-topbar{
background-color: #fff;
border-bottom: 1px solid rgba(0,0,0,.08);
color: #7FB3FF; /* azzurro pastello */
}
.app-topbar a,
.app-topbar .nav-link{
color: #7FB3FF;
}
.app-topbar a:hover,
.app-topbar .nav-link:hover{
color: #4D8FE6; /* un filo più deciso in hover */
}

View File

@ -6,16 +6,14 @@ public class ClienteViewModel : BaseViewModel
{
public string RagioneSociale { get; set; }
public string PartitaIva { get; set; }
public string Paese { get; set; }
public string Telefono { get; set; }
public string Email { get; set; }
public string Indirizzo { get; set; }
public string CAP { get; set; }
public string Citta { get; set; }
public string NumeroCivico { get; set; }
public string Via { get; set; }
public string Provincia { get; set; }
public string Note { get; set; }
public string? Note { get; set; }
public Guid? ComuneId { get; set; }
public ComuneIstatViewModel Comune { get; set; }
@ -32,10 +30,8 @@ public class ClienteViewModel : BaseViewModel
{
RagioneSociale = model.RagioneSociale,
PartitaIva = model.PartitaIva,
Paese = model.Paese,
Telefono = model.Telefono,
Email = model.Email,
Indirizzo = model.Indirizzo,
CAP = model.CAP,
Citta = model.Citta,
NumeroCivico = model.NumeroCivico,

View File

@ -22,4 +22,9 @@ public class RuoloViewModel
{
return model;
}
public override string ToString()
{
return Nome;
}
}