- Rimozione IscrizioneEventoPerMail

This commit is contained in:
2026-01-22 12:02:21 +01:00
parent d4659ef928
commit 8b5003ab05
11 changed files with 1346 additions and 147 deletions

View File

@ -1,10 +0,0 @@
using StandManager.Domain.Entita.Base;
namespace StandManager.Domain.Entita;
public class IscrizioneEventoPerMail : EntitaBase
{
public string Mail { get; set; }
public bool Processata { get; set; }
public bool Inviata { get; set; }
}

View File

@ -17,7 +17,6 @@ public class StandManagerDbContext : OAServiceContext
public DbSet<Evento> Evento { get; set; } public DbSet<Evento> Evento { get; set; }
public DbSet<InvitoEvento> InvitoEvento { get; set; } public DbSet<InvitoEvento> InvitoEvento { get; set; }
public DbSet<IscrizioneEvento> IscrizioneEvento { get; set; } public DbSet<IscrizioneEvento> IscrizioneEvento { get; set; }
public DbSet<IscrizioneEventoPerMail> IscrizioneEventoPerMail { get; set; }
public DbSet<MailQueue> MailQueue { get; set; } public DbSet<MailQueue> MailQueue { get; set; }
public DbSet<Permission> Permission { get; set; } public DbSet<Permission> Permission { get; set; }
public DbSet<ProvinciaIstat> Province { get; set; } public DbSet<ProvinciaIstat> Province { get; set; }

View File

@ -0,0 +1,61 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace StandManager.Infrastructure.Migrations
{
/// <inheritdoc />
public partial class Rimozione_IscrizioneEventoPerMail : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "IscrizioneEventoPerMail");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "IscrizioneEventoPerMail",
columns: table => new
{
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
IdUtenteCreazione = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
IdUtenteModifica = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
DataCreazione = table.Column<DateTime>(type: "datetime2", nullable: false),
DataModifica = table.Column<DateTime>(type: "datetime2", nullable: true),
Eliminato = table.Column<bool>(type: "bit", nullable: false),
Inviata = table.Column<bool>(type: "bit", nullable: false),
Mail = table.Column<string>(type: "nvarchar(max)", nullable: false),
Processata = table.Column<bool>(type: "bit", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_IscrizioneEventoPerMail", x => x.Id);
table.ForeignKey(
name: "FK_IscrizioneEventoPerMail_Utente_IdUtenteCreazione",
column: x => x.IdUtenteCreazione,
principalTable: "Utente",
principalColumn: "Id");
table.ForeignKey(
name: "FK_IscrizioneEventoPerMail_Utente_IdUtenteModifica",
column: x => x.IdUtenteModifica,
principalTable: "Utente",
principalColumn: "Id");
});
migrationBuilder.CreateIndex(
name: "IX_IscrizioneEventoPerMail_IdUtenteCreazione",
table: "IscrizioneEventoPerMail",
column: "IdUtenteCreazione");
migrationBuilder.CreateIndex(
name: "IX_IscrizioneEventoPerMail_IdUtenteModifica",
table: "IscrizioneEventoPerMail",
column: "IdUtenteModifica");
}
}
}

View File

@ -508,46 +508,6 @@ namespace StandManager.Infrastructure.Migrations
b.ToTable("IscrizioneEvento"); b.ToTable("IscrizioneEvento");
}); });
modelBuilder.Entity("StandManager.Domain.Entita.IscrizioneEventoPerMail", 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<bool>("Inviata")
.HasColumnType("bit");
b.Property<string>("Mail")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<bool>("Processata")
.HasColumnType("bit");
b.HasKey("Id");
b.HasIndex("IdUtenteCreazione");
b.HasIndex("IdUtenteModifica");
b.ToTable("IscrizioneEventoPerMail");
});
modelBuilder.Entity("StandManager.Domain.Entita.MailQueue", b => modelBuilder.Entity("StandManager.Domain.Entita.MailQueue", b =>
{ {
b.Property<Guid>("Id") b.Property<Guid>("Id")
@ -1124,21 +1084,6 @@ namespace StandManager.Infrastructure.Migrations
b.Navigation("UtenteModifica"); b.Navigation("UtenteModifica");
}); });
modelBuilder.Entity("StandManager.Domain.Entita.IscrizioneEventoPerMail", b =>
{
b.HasOne("StandManager.Domain.Entita.Utente", "UtenteCreazione")
.WithMany()
.HasForeignKey("IdUtenteCreazione");
b.HasOne("StandManager.Domain.Entita.Utente", "UtenteModifica")
.WithMany()
.HasForeignKey("IdUtenteModifica");
b.Navigation("UtenteCreazione");
b.Navigation("UtenteModifica");
});
modelBuilder.Entity("StandManager.Domain.Entita.MailQueue", b => modelBuilder.Entity("StandManager.Domain.Entita.MailQueue", b =>
{ {
b.HasOne("StandManager.Domain.Entita.Utente", "UtenteCreazione") b.HasOne("StandManager.Domain.Entita.Utente", "UtenteCreazione")

View File

@ -1,9 +0,0 @@
using OAService.Service.Repository;
using OAService.Service.Servizi.Interfacce;
using StandManager.Domain.Entita;
namespace StandManager.Service.Interfaces;
public interface IIscrizioneEventoPerMailService : ITService<IscrizioneEventoPerMail>{
Task<IscrizioneEventoPerMail> Salva(IscrizioneEventoPerMail entita);
}

View File

@ -9,7 +9,6 @@
public IFeatureService FeatureService{ get; set; } public IFeatureService FeatureService{ get; set; }
public IInvitoEventoService InvitoEventoService{ get; set; } public IInvitoEventoService InvitoEventoService{ get; set; }
public IIscrizioneEventoService IscrizioneEventoService{ get; set; } public IIscrizioneEventoService IscrizioneEventoService{ get; set; }
public IIscrizioneEventoPerMailService IscrizioneEventoPerMailService{ get; set; }
public IMailQueueService MailQueueService{ get; set; } public IMailQueueService MailQueueService{ get; set; }
public IPermissionService PermissionService{ get; set; } public IPermissionService PermissionService{ get; set; }
public IProvinciaIstatService ProvinciaIstatService{ get; set; } public IProvinciaIstatService ProvinciaIstatService{ get; set; }

View File

@ -1,33 +0,0 @@
using OAService.Service.Servizi.Implementazioni;
using StandManager.Domain.Entita;
using StandManager.Service.Interfaces;
using StandManager.Service.Repository;
namespace StandManager.Service;
public class IscrizioneEventoPerMailService : TService<IscrizioneEventoPerMail>, IIscrizioneEventoPerMailService
{
private readonly IStandManagerUnitOfWork _unitOfWork;
public IscrizioneEventoPerMailService(IStandManagerUnitOfWork unitOfWork) : base(unitOfWork)
{
_unitOfWork = unitOfWork;
}
public async Task<IscrizioneEventoPerMail> Salva(IscrizioneEventoPerMail entita)
{
bool isNuovaEntita = entita.Id == Guid.Empty;
entita.DataCreazione = isNuovaEntita ? DateTime.Now : entita.DataCreazione;
entita.DataModifica = isNuovaEntita == false ? DateTime.Now : null;
entita.IdUtenteCreazione = isNuovaEntita ? null : entita.IdUtenteCreazione;
entita.IdUtenteModifica = isNuovaEntita == false ? null : null;
if (isNuovaEntita)
await _unitOfWork.GetRepository<IscrizioneEventoPerMail>().Put(entita);
int result = await _unitOfWork.Salva();
return entita;
}
}

View File

@ -7,7 +7,7 @@ public class ManagerService : IManagerService
public ManagerService(IUtenteService utenteService, IClienteService clienteService, IComuneIstatService comuneIstatService, IDestinazioneService destinazioneService, public ManagerService(IUtenteService utenteService, IClienteService clienteService, IComuneIstatService comuneIstatService, IDestinazioneService destinazioneService,
IEventoService eventoService, IInvitoEventoService invitoEventoService, IIscrizioneEventoService iscrizioneEventoService, IReferenteService referenteService, IEventoService eventoService, IInvitoEventoService invitoEventoService, IIscrizioneEventoService iscrizioneEventoService, IReferenteService referenteService,
ITipologiaClienteService tipologiaClienteService, IFeatureService featureService, IPermissionService permissionService, IRuoloService ruoloService, ITipologiaClienteService tipologiaClienteService, IFeatureService featureService, IPermissionService permissionService, IRuoloService ruoloService,
ISezioneService sezioneService, IProvinciaIstatService provinciaIstatService, IMailQueueService mailQueueService, IIscrizioneEventoPerMailService iscrizioneEventoPerMailService) ISezioneService sezioneService, IProvinciaIstatService provinciaIstatService, IMailQueueService mailQueueService)
{ {
UtenteService = utenteService; UtenteService = utenteService;
ClienteService = clienteService; ClienteService = clienteService;
@ -24,7 +24,6 @@ public class ManagerService : IManagerService
SezioneService = sezioneService; SezioneService = sezioneService;
ProvinciaIstatService = provinciaIstatService; ProvinciaIstatService = provinciaIstatService;
MailQueueService = mailQueueService; MailQueueService = mailQueueService;
IscrizioneEventoPerMailService = iscrizioneEventoPerMailService;
} }
public IUtenteService UtenteService { get; set; } public IUtenteService UtenteService { get; set; }
@ -34,7 +33,6 @@ public class ManagerService : IManagerService
public IFeatureService FeatureService { get; set; } public IFeatureService FeatureService { get; set; }
public IInvitoEventoService InvitoEventoService{ get; set; } public IInvitoEventoService InvitoEventoService{ get; set; }
public IIscrizioneEventoService IscrizioneEventoService { get; set; } public IIscrizioneEventoService IscrizioneEventoService { get; set; }
public IIscrizioneEventoPerMailService IscrizioneEventoPerMailService { get; set; }
public IMailQueueService MailQueueService { get; set; } public IMailQueueService MailQueueService { get; set; }
public IPermissionService PermissionService { get; set; } public IPermissionService PermissionService { get; set; }
public IProvinciaIstatService ProvinciaIstatService { get; set; } public IProvinciaIstatService ProvinciaIstatService { get; set; }

View File

@ -11,7 +11,7 @@
<PageTitle>Iscrizione Evento</PageTitle> <PageTitle>Iscrizione Evento</PageTitle>
<AppHeader ShowNavigation="false" /> <AppHeader ShowNavigation="false" />
<div class="container my-5 py-3"> <div class="container my-5 py-3">
<EditForm Model="iscrizione" OnValidSubmit="OnIscrizioneSave" FormName="iscrizioneForm"> <EditForm Model="mail" OnValidSubmit="OnIscrizioneSave" FormName="iscrizioneForm">
<DataAnnotationsValidator /> <DataAnnotationsValidator />
<div class="col-12"> <div class="col-12">
@ -27,9 +27,9 @@
<div class="col-3"></div> <div class="col-3"></div>
<div class="col-6 mb-3"> <div class="col-6 mb-3">
<RadzenFormField Text="Email" Variant="Variant.Flat" Style="width: 100%;"> <RadzenFormField Text="Email" Variant="Variant.Flat" Style="width: 100%;">
<RadzenTextBox Style="width: 100%" aria-label="Nome" Placeholder="es. nome@azienda.com" @bind-Value="@iscrizione.Mail"/> <RadzenTextBox Style="width: 100%" aria-label="Nome" Placeholder="es. nome@azienda.com" @bind-Value="@mail" />
</RadzenFormField> </RadzenFormField>
<ValidationMessage For="@(() => iscrizione.Mail)"/> <ValidationMessage For="@(() => mail)" />
</div> </div>
</div> </div>
@ -70,29 +70,23 @@
<DacFooter /> <DacFooter />
@code { @code {
private IscrizioneEventoPerMailViewModel iscrizione { get; set; } = new(); private string mail { get; set; } = "";
private bool PresaVisionePrivacy { get; set; } private bool PresaVisionePrivacy { get; set; }
private bool PresaVisioneDatiPersonali { get; set; } private bool PresaVisioneDatiPersonali { get; set; }
private async Task OnIscrizioneSave() private async Task OnIscrizioneSave()
{ {
var exist = await _managerService.IscrizioneEventoPerMailService.RicercaPer(x => x.Mail == iscrizione.Mail && !x.Eliminato); var exist = await _managerService.MailQueueService.RicercaPer(x => x.ToList.Contains(mail) && !x.Eliminato);
if (exist != null && exist?.Id != Guid.Empty) if (exist != null && exist?.Id != Guid.Empty)
{ {
await _dialogService.Alert("L'indirizzo mail indicato è già stato utilizzato", "Errore", new ConfirmOptions() { OkButtonText = "Ok" }); await _dialogService.Alert("L'indirizzo mail indicato è già stato utilizzato", "Errore", new ConfirmOptions() { OkButtonText = "Ok" });
return; return;
} }
var model = new IscrizioneEventoPerMail()
{
Mail = iscrizione.Mail
};
await _managerService.IscrizioneEventoPerMailService.Salva(model);
var queue = new MailQueue() var queue = new MailQueue()
{ {
ToList = iscrizione.Mail, ToList = mail,
From = MailFrom.Registrazione, From = MailFrom.Registrazione,
Body = string.Empty, Body = string.Empty,
Sent = false, Sent = false,

View File

@ -1,23 +0,0 @@
using StandManager.Domain.Entita;
namespace StandManager.Model;
public class IscrizioneEventoPerMailViewModel
{
public Guid Id { get; set; }
public string Mail { get; set; }
public bool Processata { get; set; }
public bool Inviata { get; set; }
public static implicit operator IscrizioneEventoPerMailViewModel(IscrizioneEventoPerMail model)
{
return model == null
? null
: new IscrizioneEventoPerMailViewModel()
{
Mail = model.Mail,
Id = model.Id,
Inviata = model.Inviata,
Processata = model.Processata
};
}
}