diff --git a/demo15012025/MainWindow.axaml.cs b/demo15012025/MainWindow.axaml.cs index 711ef76..64d6487 100644 --- a/demo15012025/MainWindow.axaml.cs +++ b/demo15012025/MainWindow.axaml.cs @@ -8,6 +8,7 @@ using Avalonia.Controls; using Avalonia.Input; using Avalonia.Interactivity; using Avalonia.Media.Imaging; +using AvaloniaApplication2.Models; using demo15012025.Models; using demo15012025.ModelsMine; @@ -22,6 +23,7 @@ public partial class MainWindow : Window public List DirectionsList { get; } public List DatesList { get; } public static ObservableCollection ClientAuthList { get; set; } + public static ObservableCollection EventAuthList { get; set; } public MainWindow() { @@ -101,6 +103,7 @@ public partial class MainWindow : Window authClients.Add(item); } ClientAuthList = authClients; + EventAuthList = events; } private void AuthButton_OnClick(object? sender, RoutedEventArgs e) diff --git a/demo15012025/Models/Client.cs b/demo15012025/Models/Client.cs index ea54ba3..e7314cf 100644 --- a/demo15012025/Models/Client.cs +++ b/demo15012025/Models/Client.cs @@ -19,20 +19,24 @@ public partial class Client public string Password { get; set; } = null!; - public string? Spec { get; set; } - - public string? Meropriyatie { get; set; } - public string Photopath { get; set; } = null!; public char Gender { get; set; } public int Role { get; set; } + public int? SpecId { get; set; } + + public int? EventId { get; set; } + public virtual Country CountryNavigation { get; set; } = null!; + public virtual Event? Event { get; set; } + public virtual Role RoleNavigation { get; set; } = null!; + public virtual Direction? Spec { get; set; } + public virtual ICollection Activities { get; set; } = new List(); public virtual ICollection Events { get; set; } = new List(); diff --git a/demo15012025/Models/DatabaseContext.cs b/demo15012025/Models/DatabaseContext.cs index 3c75bdd..38da46e 100644 --- a/demo15012025/Models/DatabaseContext.cs +++ b/demo15012025/Models/DatabaseContext.cs @@ -1,8 +1,9 @@ using System; using System.Collections.Generic; +using demo15012025.Models; using Microsoft.EntityFrameworkCore; - -namespace demo15012025.Models; + +namespace AvaloniaApplication2.Models; public partial class DatabaseContext : DbContext { @@ -46,24 +47,24 @@ public partial class DatabaseContext : DbContext modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("activity_pkey"); - + entity.ToTable("activity"); - + entity.Property(e => e.Id).HasColumnName("id"); - entity.Property(e => e.Name) - .HasMaxLength(100) + entity.Property(e => e.Name) + .HasMaxLength(100) .HasColumnName("name"); - + entity.HasMany(d => d.Moderators).WithMany(p => p.Activities) .UsingEntity>( "Activitymoderator", - r => r.HasOne().WithMany() - .HasForeignKey("Moderatorid") - .OnDelete(DeleteBehavior.ClientSetNull) + r => r.HasOne().WithMany() + .HasForeignKey("Moderatorid") + .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_moderator"), - l => l.HasOne().WithMany() - .HasForeignKey("Activityid") - .OnDelete(DeleteBehavior.ClientSetNull) + l => l.HasOne().WithMany() + .HasForeignKey("Activityid") + .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_activity"), j => { @@ -73,142 +74,146 @@ public partial class DatabaseContext : DbContext j.IndexerProperty("Moderatorid").HasColumnName("moderatorid"); }); }); - + modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("city_pkey"); - + entity.ToTable("city"); - + entity.Property(e => e.Id).HasColumnName("id"); - entity.Property(e => e.Name) - .HasMaxLength(100) + entity.Property(e => e.Name) + .HasMaxLength(100) .HasColumnName("name"); }); - + modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("clients_pkey"); - + entity.ToTable("clients"); - + entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.Country).HasColumnName("country"); - entity.Property(e => e.Date) - .HasColumnType("timestamp(6) without time zone") + entity.Property(e => e.Date) + .HasColumnType("timestamp(6) without time zone") .HasColumnName("date"); - entity.Property(e => e.Email) - .HasMaxLength(100) + entity.Property(e => e.Email) + .HasMaxLength(100) .HasColumnName("email"); - entity.Property(e => e.Fio) - .HasMaxLength(200) + entity.Property(e => e.EventId).HasColumnName("event_id"); + entity.Property(e => e.Fio) + .HasMaxLength(200) .HasColumnName("fio"); - entity.Property(e => e.Gender) - .HasMaxLength(1) + entity.Property(e => e.Gender) + .HasMaxLength(1) .HasColumnName("gender"); - entity.Property(e => e.Meropriyatie) - .HasMaxLength(50) - .HasColumnName("meropriyatie"); - entity.Property(e => e.Password) - .HasMaxLength(50) + entity.Property(e => e.Password) + .HasMaxLength(50) .HasColumnName("password"); - entity.Property(e => e.Phone) - .HasMaxLength(20) + entity.Property(e => e.Phone) + .HasMaxLength(20) .HasColumnName("phone"); - entity.Property(e => e.Photopath) - .HasMaxLength(100) + entity.Property(e => e.Photopath) + .HasMaxLength(100) .HasColumnName("photopath"); entity.Property(e => e.Role).HasColumnName("role"); - entity.Property(e => e.Spec) - .HasMaxLength(50) - .HasColumnName("spec"); - - entity.HasOne(d => d.CountryNavigation).WithMany(p => p.Clients) - .HasForeignKey(d => d.Country) - .OnDelete(DeleteBehavior.ClientSetNull) + entity.Property(e => e.SpecId).HasColumnName("spec_id"); + + entity.HasOne(d => d.CountryNavigation).WithMany(p => p.Clients) + .HasForeignKey(d => d.Country) + .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_country"); - - entity.HasOne(d => d.RoleNavigation).WithMany(p => p.Clients) - .HasForeignKey(d => d.Role) - .OnDelete(DeleteBehavior.ClientSetNull) + + entity.HasOne(d => d.Event).WithMany(p => p.Clients) + .HasForeignKey(d => d.EventId) + .HasConstraintName("fk_event_id"); + + entity.HasOne(d => d.RoleNavigation).WithMany(p => p.Clients) + .HasForeignKey(d => d.Role) + .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_role"); + + entity.HasOne(d => d.Spec).WithMany(p => p.Clients) + .HasForeignKey(d => d.SpecId) + .HasConstraintName("fk_spec_id"); }); - + modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("country_pkey"); - + entity.ToTable("country"); - + entity.HasIndex(e => e.Code2, "country_code2_key").IsUnique(); - + entity.Property(e => e.Id).HasColumnName("id"); - entity.Property(e => e.Code) - .HasMaxLength(5) + entity.Property(e => e.Code) + .HasMaxLength(5) .HasColumnName("code"); entity.Property(e => e.Code2).HasColumnName("code2"); - entity.Property(e => e.EnName) - .HasMaxLength(100) + entity.Property(e => e.EnName) + .HasMaxLength(100) .HasColumnName("en_name"); - entity.Property(e => e.Name) - .HasMaxLength(100) + entity.Property(e => e.Name) + .HasMaxLength(100) .HasColumnName("name"); }); - + modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("direction_pkey"); - + entity.ToTable("direction"); - + entity.Property(e => e.Id).HasColumnName("id"); - entity.Property(e => e.Name) - .HasMaxLength(255) + entity.Property(e => e.Name) + .HasMaxLength(255) .HasColumnName("name"); }); - + modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("event_pkey"); - + entity.ToTable("event"); - + entity.HasIndex(e => e.Date, "event_date_key").IsUnique(); - + entity.Property(e => e.Id).HasColumnName("id"); entity.Property(e => e.City).HasColumnName("city"); - entity.Property(e => e.Date) - .HasColumnType("timestamp(6) without time zone") + entity.Property(e => e.Date) + .HasColumnType("timestamp(6) without time zone") .HasColumnName("date"); entity.Property(e => e.Days).HasColumnName("days"); entity.Property(e => e.DirectionId).HasColumnName("direction_id"); - entity.Property(e => e.Photopath) - .HasMaxLength(255) + entity.Property(e => e.Photopath) + .HasMaxLength(255) .HasColumnName("photopath"); - entity.Property(e => e.Sobitie) - .HasMaxLength(200) + entity.Property(e => e.Sobitie) + .HasMaxLength(200) .HasColumnName("sobitie"); - - entity.HasOne(d => d.CityNavigation).WithMany(p => p.Events) - .HasForeignKey(d => d.City) - .OnDelete(DeleteBehavior.ClientSetNull) + + entity.HasOne(d => d.CityNavigation).WithMany(p => p.Events) + .HasForeignKey(d => d.City) + .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_city"); - - entity.HasOne(d => d.Direction).WithMany(p => p.Events) - .HasForeignKey(d => d.DirectionId) - .OnDelete(DeleteBehavior.SetNull) + + entity.HasOne(d => d.Direction).WithMany(p => p.Events) + .HasForeignKey(d => d.DirectionId) + .OnDelete(DeleteBehavior.SetNull) .HasConstraintName("fk_event_direction"); - + entity.HasMany(d => d.Winners).WithMany(p => p.Events) .UsingEntity>( "Eventwinner", - r => r.HasOne().WithMany() - .HasForeignKey("Winnerid") - .OnDelete(DeleteBehavior.ClientSetNull) + r => r.HasOne().WithMany() + .HasForeignKey("Winnerid") + .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_moderator"), - l => l.HasOne().WithMany() - .HasForeignKey("Eventid") - .OnDelete(DeleteBehavior.ClientSetNull) + l => l.HasOne().WithMany() + .HasForeignKey("Eventid") + .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_event"), j => { @@ -218,78 +223,78 @@ public partial class DatabaseContext : DbContext j.IndexerProperty("Winnerid").HasColumnName("winnerid"); }); }); - + modelBuilder.Entity(entity => { - entity - .HasNoKey() + entity + .HasNoKey() .ToTable("eventactivity"); - + entity.Property(e => e.Activityid).HasColumnName("activityid"); entity.Property(e => e.Eventid).HasColumnName("eventid"); - - entity.HasOne(d => d.Activity).WithMany() - .HasForeignKey(d => d.Activityid) - .OnDelete(DeleteBehavior.ClientSetNull) + + entity.HasOne(d => d.Activity).WithMany() + .HasForeignKey(d => d.Activityid) + .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_activity"); - - entity.HasOne(d => d.Event).WithMany() - .HasForeignKey(d => d.Eventid) - .OnDelete(DeleteBehavior.ClientSetNull) + + entity.HasOne(d => d.Event).WithMany() + .HasForeignKey(d => d.Eventid) + .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_event"); }); - + modelBuilder.Entity(entity => { - entity - .HasNoKey() + entity + .HasNoKey() .ToTable("jhuriactivity"); - + entity.Property(e => e.Activityid).HasColumnName("activityid"); entity.Property(e => e.Jhuriid).HasColumnName("jhuriid"); - - entity.HasOne(d => d.Activity).WithMany() - .HasForeignKey(d => d.Activityid) - .OnDelete(DeleteBehavior.ClientSetNull) + + entity.HasOne(d => d.Activity).WithMany() + .HasForeignKey(d => d.Activityid) + .OnDelete(DeleteBehavior.ClientSetNull) .HasConstraintName("fk_activity"); - - entity.HasOne(d => d.Jhuri).WithMany() - .HasForeignKey(d => d.Jhuriid) + + entity.HasOne(d => d.Jhuri).WithMany() + .HasForeignKey(d => d.Jhuriid) .HasConstraintName("fk_moderator"); }); - + modelBuilder.Entity(entity => { entity.HasKey(e => e.Id).HasName("roles_pkey"); - + entity.ToTable("roles"); - + entity.Property(e => e.Id).HasColumnName("id"); - entity.Property(e => e.Name) - .HasMaxLength(20) + entity.Property(e => e.Name) + .HasMaxLength(20) .HasColumnName("name"); }); - + modelBuilder.Entity(entity => { - entity - .HasNoKey() + entity + .HasNoKey() .ToView("valid_activity_jhuri"); - + entity.Property(e => e.Activityid).HasColumnName("activityid"); entity.Property(e => e.Jhuriid).HasColumnName("jhuriid"); }); - + modelBuilder.Entity(entity => { - entity - .HasNoKey() + entity + .HasNoKey() .ToView("valid_activity_moderators"); - + entity.Property(e => e.Activityid).HasColumnName("activityid"); entity.Property(e => e.Moderatorid).HasColumnName("moderatorid"); }); - + OnModelCreatingPartial(modelBuilder); } diff --git a/demo15012025/Models/Direction.cs b/demo15012025/Models/Direction.cs index 51d3dfc..c16e6aa 100644 --- a/demo15012025/Models/Direction.cs +++ b/demo15012025/Models/Direction.cs @@ -9,5 +9,7 @@ public partial class Direction public string Name { get; set; } = null!; + public virtual ICollection Clients { get; set; } = new List(); + public virtual ICollection Events { get; set; } = new List(); } diff --git a/demo15012025/Models/Event.cs b/demo15012025/Models/Event.cs index 21d9462..d9218e6 100644 --- a/demo15012025/Models/Event.cs +++ b/demo15012025/Models/Event.cs @@ -21,6 +21,8 @@ public partial class Event public virtual City CityNavigation { get; set; } = null!; + public virtual ICollection Clients { get; set; } = new List(); + public virtual Direction? Direction { get; set; } public virtual ICollection Winners { get; set; } = new List(); diff --git a/demo15012025/OrganizatorWindow.axaml.cs b/demo15012025/OrganizatorWindow.axaml.cs index 96dc1fe..909710e 100644 --- a/demo15012025/OrganizatorWindow.axaml.cs +++ b/demo15012025/OrganizatorWindow.axaml.cs @@ -3,6 +3,7 @@ using Avalonia; using Avalonia.Controls; using Avalonia.Interactivity; using Avalonia.Markup.Xaml; +using demo15012025.Models; using demo15012025.ModelsMine; using Npgsql.EntityFrameworkCore.PostgreSQL.Storage.Internal.Mapping; @@ -33,7 +34,7 @@ public partial class OrganizatorWindow : Window private void _3Button_OnClick(object? sender, RoutedEventArgs e) { - RegJhuri regJhuri = new RegJhuri(); + var regJhuri = new RegJhuri(); regJhuri.ShowDialog(this); } diff --git a/demo15012025/RegJhuri.axaml b/demo15012025/RegJhuri.axaml index e1b860a..d70e7dd 100644 --- a/demo15012025/RegJhuri.axaml +++ b/demo15012025/RegJhuri.axaml @@ -8,47 +8,53 @@ - + - - + + - - + + - - + + + + + - - + + + + + - - + + - - + + - - + + - + - + - + - + - - + + - - + + - + -