init commit

This commit is contained in:
localuser 2025-01-22 16:34:31 +03:00
commit 5aad98b68d
196 changed files with 6548 additions and 0 deletions

13
.idea/.idea.demo_2023/.idea/.gitignore vendored Normal file
View File

@ -0,0 +1,13 @@
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/modules.xml
/projectSettingsUpdater.xml
/contentModel.xml
/.idea.demo_2023.iml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AvaloniaProject">
<option name="projectPerEditor">
<map>
<entry key="demo_2023/Additem.axaml" value="demo_2023/demo_2023.csproj" />
<entry key="demo_2023/App.axaml" value="demo_2023/demo_2023.csproj" />
<entry key="demo_2023/MainWindow.axaml" value="demo_2023/demo_2023.csproj" />
</map>
</option>
</component>
</project>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding" addBOMForNewFiles="with BOM under Windows, with no BOM otherwise" />
</project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings" defaultProject="true" />
</project>

16
demo_2023.sln Normal file
View File

@ -0,0 +1,16 @@

Microsoft Visual Studio Solution File, Format Version 12.00
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "demo_2023", "demo_2023\demo_2023.csproj", "{AE363281-9145-4A31-A95C-8E1A190F1019}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{AE363281-9145-4A31-A95C-8E1A190F1019}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AE363281-9145-4A31-A95C-8E1A190F1019}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AE363281-9145-4A31-A95C-8E1A190F1019}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AE363281-9145-4A31-A95C-8E1A190F1019}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,13 @@
{
"version": 1,
"isRoot": true,
"tools": {
"dotnet-ef": {
"version": "9.0.1",
"commands": [
"dotnet-ef"
],
"rollForward": false
}
}
}

17
demo_2023/Additem.axaml Normal file
View File

@ -0,0 +1,17 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:models="clr-namespace:demo_2023.Models"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="demo_2023.Additem"
Title="Additem"
x:DataType="models:ClientPresenter">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Text="Password"/>
<TextBox Text="{Binding Password}"/>
<TextBlock Text="Text"/>
<TextBox Text="{Binding Fio}"/>
</StackPanel>
</Window>

View File

@ -0,0 +1,16 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using demo_2023.Models;
namespace demo_2023;
public partial class Additem : Window
{
public Additem()
{
InitializeComponent();
DataContext = new ClientPresenter();
}
}

10
demo_2023/App.axaml Normal file
View File

@ -0,0 +1,10 @@
<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="demo_2023.App"
RequestedThemeVariant="Default">
<!-- "Default" ThemeVariant follows system theme variant. "Dark" or "Light" are other available options. -->
<Application.Styles>
<FluentTheme />
</Application.Styles>
</Application>

23
demo_2023/App.axaml.cs Normal file
View File

@ -0,0 +1,23 @@
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
namespace demo_2023;
public partial class App : Application
{
public override void Initialize()
{
AvaloniaXamlLoader.Load(this);
}
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
desktop.MainWindow = new MainWindow();
}
base.OnFrameworkInitializationCompleted();
}
}

View File

@ -0,0 +1,53 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="400" d:DesignHeight="450"
Width="700"
Height="700"
x:Class="demo_2023.MainWindow"
x:CompileBindings="False"
Title="demo_2023">
<DockPanel>
<StackPanel Orientation="Horizontal" DockPanel.Dock="Top" HorizontalAlignment="Center">
<Button Content="Add Item" Click="AddItem_OnClick"/>
</StackPanel>
<TextBlock Text="Регистрация жюри/ модератора" DockPanel.Dock="Top" HorizontalAlignment="Center" Margin="0,10,0,0"/>
<Grid>
<StackPanel Orientation="Vertical" HorizontalAlignment="Left" Spacing="5" Margin="20,0,0,0">
<TextBlock Text="Id Number:"/>
<TextBox Width="200" HorizontalAlignment="Left"/>
<TextBlock Text="ФИО:"/>
<TextBox Width="200" HorizontalAlignment="Left"/>
<TextBlock Text="Пол:"/>
<ComboBox Width="200" HorizontalAlignment="Left"/>
<TextBlock Text="Email:"/>
<TextBox Width="200" HorizontalAlignment="Left"/>
<TextBlock Text="Телефон:"/>
<TextBox Width="200" HorizontalAlignment="Left"/>
<TextBlock Text="Направление:"/>
<TextBox Width="200" HorizontalAlignment="Left"/>
<CheckBox Content="Прикрепить к мероприятию" HorizontalAlignment="Left"/>
<TextBlock Text="Мероприятие:"/>
<ComboBox Width="200" HorizontalAlignment="Left"/>
</StackPanel>
<StackPanel Orientation="Vertical" HorizontalAlignment="Right" Spacing="5" >
<TextBlock Text="Пароль:"/>
<TextBox Width="200" Watermark="Password" Text="{Binding Password}"/>
<TextBlock Text="Повтор пароля:"/>
<TextBox Width="200" Text="{Binding ConfirmPassword}"/>
<CheckBox Content="Видимый пароль" />
<Button Content="Oк" Width="100" HorizontalAlignment="Center" />
<Button Content="Отмена" Width="100" HorizontalAlignment="Center" />
</StackPanel>
</Grid>
</DockPanel>
</Window>

View File

@ -0,0 +1,21 @@
using System.Collections.Generic;
using Avalonia.Controls;
using Avalonia.Interactivity;
using demo_2023.Models;
namespace demo_2023;
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new ClientPresenter();
}
private void AddItem_OnClick(object? sender, RoutedEventArgs e)
{
new Additem().ShowDialog(this);
}
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
namespace demo_2023.Models;
public partial class Activity
{
public int Id { get; set; }
public string Name { get; set; } = null!;
public virtual ICollection<Client> Moderators { get; set; } = new List<Client>();
public virtual ICollection<Client> Winners { get; set; } = new List<Client>();
}

13
demo_2023/Models/City.cs Normal file
View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
namespace demo_2023.Models;
public partial class City
{
public int Id { get; set; }
public string Name { get; set; } = null!;
public virtual ICollection<Event> Events { get; set; } = new List<Event>();
}

View File

@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
namespace demo_2023.Models;
public partial class Client
{
public int Id { get; set; }
public string Fio { get; set; } = null!;
public string Email { get; set; } = null!;
public DateTime Date { get; set; }
public int Country { get; set; }
public string Phone { get; set; } = null!;
public string Password { get; set; } = null!;
public string? Spec { get; set; }
public string Photopath { get; set; } = null!;
public char Gender { get; set; }
public int Role { get; set; }
public virtual Country CountryNavigation { get; set; } = null!;
public virtual Role RoleNavigation { get; set; } = null!;
public virtual ICollection<Activity> Activities { get; set; } = new List<Activity>();
public virtual ICollection<Activity> ActivitiesNavigation { get; set; } = new List<Activity>();
}

View File

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
namespace demo_2023.Models;
public partial class Country
{
public int Id { get; set; }
public string Name { get; set; } = null!;
public string EnName { get; set; } = null!;
public string Code { get; set; } = null!;
public int Code2 { get; set; }
public virtual ICollection<Client> Clients { get; set; } = new List<Client>();
}

19
demo_2023/Models/Event.cs Normal file
View File

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
namespace demo_2023.Models;
public partial class Event
{
public int Id { get; set; }
public string Sobitie { get; set; } = null!;
public DateTime Date { get; set; }
public int Days { get; set; }
public int City { get; set; }
public virtual City CityNavigation { get; set; } = null!;
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
namespace demo_2023.Models;
public partial class Eventactivity
{
public int Eventid { get; set; }
public int Activityid { get; set; }
public virtual Activity Activity { get; set; } = null!;
public virtual Event Event { get; set; } = null!;
}

View File

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
namespace demo_2023.Models;
public partial class Jhuriactivity
{
public int Activityid { get; set; }
public int? Jhuriid { get; set; }
public virtual Activity Activity { get; set; } = null!;
public virtual Client? Jhuri { get; set; }
}

View File

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
namespace demo_2023.Models;
public partial class JuryEvent
{
public int? JuryId { get; set; }
public int? EventId { get; set; }
}

View File

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
namespace demo_2023.Models;
public partial class ModerEvent
{
public int? ModerId { get; set; }
public int? EventId { get; set; }
}

13
demo_2023/Models/Role.cs Normal file
View File

@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
namespace demo_2023.Models;
public partial class Role
{
public int Id { get; set; }
public string Name { get; set; } = null!;
public virtual ICollection<Client> Clients { get; set; } = new List<Client>();
}

View File

@ -0,0 +1,307 @@
using System;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
namespace demo_2023.Models;
public partial class User15Context : DbContext
{
public User15Context()
{
}
public User15Context(DbContextOptions<User15Context> options)
: base(options)
{
}
public virtual DbSet<Activity> Activities { get; set; }
public virtual DbSet<City> Cities { get; set; }
public virtual DbSet<Client> Clients { get; set; }
public virtual DbSet<Country> Countries { get; set; }
public virtual DbSet<Event> Events { get; set; }
public virtual DbSet<Eventactivity> Eventactivities { get; set; }
public virtual DbSet<Jhuriactivity> Jhuriactivities { get; set; }
public virtual DbSet<JuryEvent> JuryEvents { get; set; }
public virtual DbSet<ModerEvent> ModerEvents { get; set; }
public virtual DbSet<Role> Roles { get; set; }
public virtual DbSet<ValidActivityJhuri> ValidActivityJhuris { get; set; }
public virtual DbSet<ValidActivityModerator> ValidActivityModerators { get; set; }
public virtual DbSet<ValidActivityWinner> ValidActivityWinners { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see https://go.microsoft.com/fwlink/?LinkId=723263.
=> optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Database=user15;Username=user15;Password=3XkvwMOb");
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Activity>(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)
.HasColumnName("name");
entity.HasMany(d => d.Moderators).WithMany(p => p.Activities)
.UsingEntity<Dictionary<string, object>>(
"Activitymoderator",
r => r.HasOne<Client>().WithMany()
.HasForeignKey("Moderatorid")
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_moderator"),
l => l.HasOne<Activity>().WithMany()
.HasForeignKey("Activityid")
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_activity"),
j =>
{
j.HasKey("Activityid", "Moderatorid").HasName("activitymoderator_pkey");
j.ToTable("activitymoderator");
j.IndexerProperty<int>("Activityid").HasColumnName("activityid");
j.IndexerProperty<int>("Moderatorid").HasColumnName("moderatorid");
});
entity.HasMany(d => d.Winners).WithMany(p => p.ActivitiesNavigation)
.UsingEntity<Dictionary<string, object>>(
"Activitywinner",
r => r.HasOne<Client>().WithMany()
.HasForeignKey("Winnerid")
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_moderator"),
l => l.HasOne<Activity>().WithMany()
.HasForeignKey("Activityid")
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_activity"),
j =>
{
j.HasKey("Activityid", "Winnerid").HasName("activitywinner_pkey");
j.ToTable("activitywinner");
j.IndexerProperty<int>("Activityid").HasColumnName("activityid");
j.IndexerProperty<int>("Winnerid").HasColumnName("winnerid");
});
});
modelBuilder.Entity<City>(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)
.HasColumnName("name");
});
modelBuilder.Entity<Client>(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")
.HasColumnName("date");
entity.Property(e => e.Email)
.HasMaxLength(100)
.HasColumnName("email");
entity.Property(e => e.Fio)
.HasMaxLength(200)
.HasColumnName("fio");
entity.Property(e => e.Gender)
.HasMaxLength(1)
.HasColumnName("gender");
entity.Property(e => e.Password)
.HasMaxLength(50)
.HasColumnName("password");
entity.Property(e => e.Phone)
.HasMaxLength(20)
.HasColumnName("phone");
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)
.HasConstraintName("fk_country");
entity.HasOne(d => d.RoleNavigation).WithMany(p => p.Clients)
.HasForeignKey(d => d.Role)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_role");
});
modelBuilder.Entity<Country>(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)
.HasColumnName("code");
entity.Property(e => e.Code2).HasColumnName("code2");
entity.Property(e => e.EnName)
.HasMaxLength(100)
.HasColumnName("en_name");
entity.Property(e => e.Name)
.HasMaxLength(100)
.HasColumnName("name");
});
modelBuilder.Entity<Event>(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")
.HasColumnName("date");
entity.Property(e => e.Days).HasColumnName("days");
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)
.HasConstraintName("fk_city");
});
modelBuilder.Entity<Eventactivity>(entity =>
{
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)
.HasConstraintName("fk_activity");
entity.HasOne(d => d.Event).WithMany()
.HasForeignKey(d => d.Eventid)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("fk_event");
});
modelBuilder.Entity<Jhuriactivity>(entity =>
{
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)
.HasConstraintName("fk_activity");
entity.HasOne(d => d.Jhuri).WithMany()
.HasForeignKey(d => d.Jhuriid)
.HasConstraintName("fk_moderator");
});
modelBuilder.Entity<JuryEvent>(entity =>
{
entity
.HasNoKey()
.ToTable("jury_event");
entity.Property(e => e.EventId).HasColumnName("event_id");
entity.Property(e => e.JuryId).HasColumnName("jury_id");
});
modelBuilder.Entity<ModerEvent>(entity =>
{
entity
.HasNoKey()
.ToTable("moder_event");
entity.Property(e => e.EventId).HasColumnName("event_id");
entity.Property(e => e.ModerId).HasColumnName("moder_id");
});
modelBuilder.Entity<Role>(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)
.HasColumnName("name");
});
modelBuilder.Entity<ValidActivityJhuri>(entity =>
{
entity
.HasNoKey()
.ToView("valid_activity_jhuri");
entity.Property(e => e.Activityid).HasColumnName("activityid");
entity.Property(e => e.Jhuriid).HasColumnName("jhuriid");
});
modelBuilder.Entity<ValidActivityModerator>(entity =>
{
entity
.HasNoKey()
.ToView("valid_activity_moderators");
entity.Property(e => e.Activityid).HasColumnName("activityid");
entity.Property(e => e.Moderatorid).HasColumnName("moderatorid");
});
modelBuilder.Entity<ValidActivityWinner>(entity =>
{
entity
.HasNoKey()
.ToView("valid_activity_winners");
entity.Property(e => e.Activityid).HasColumnName("activityid");
entity.Property(e => e.Winnerid).HasColumnName("winnerid");
});
OnModelCreatingPartial(modelBuilder);
}
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
}

View File

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
namespace demo_2023.Models;
public partial class ValidActivityJhuri
{
public int? Activityid { get; set; }
public int? Jhuriid { get; set; }
}

View File

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
namespace demo_2023.Models;
public partial class ValidActivityModerator
{
public int? Activityid { get; set; }
public int? Moderatorid { get; set; }
}

View File

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
namespace demo_2023.Models;
public partial class ValidActivityWinner
{
public int? Activityid { get; set; }
public int? Winnerid { get; set; }
}

View File

@ -0,0 +1,94 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace demo_2023.Models;
public class ClientPresenter
{
public int Id { get; set; }
public string Fio { get; set; } = null!;
public string Email { get; set; } = null!;
public DateTime Date { get; set; }
public int Country { get; set; }
public string Phone { get; set; } = null!;
private string _Password;
private string _confirmPassword;
public string Password
{
get => _Password;
set
{
ValidatePassword(value);
_Password = value;
}
}
public string ConfirmPassword
{
get => _confirmPassword;
set
{
_confirmPassword = value;
ValidatePassword(value);
ValidatePasswordMatch();
}
}
public string? Spec { get; set; }
public string Photopath { get; set; } = null!;
public char Gender { get; set; }
public int Role { get; set; }
public virtual Country CountryNavigation { get; set; } = null!;
public virtual Role RoleNavigation { get; set; } = null!;
public virtual ICollection<Activity> Activities { get; set; } = new List<Activity>();
public virtual ICollection<Activity> ActivitiesNavigation { get; set; } = new List<Activity>();
private void ValidatePassword(string password)
{
if (password.Length < 6)
{
throw new ArgumentException(nameof(password), "Password must be at least 6 characters");
}
if (!password.Any(char.IsDigit))
{
throw new ArgumentException(nameof(password), "Пароль должен содержать цифры");
}
if (!password.Any(char.IsUpper) || !password.Any(char.IsLower))
{
throw new ArgumentException(nameof(password), "В пароле должны быть заглавные и строчные буквы");
}
var regex = new Regex(@"[!@#$%^&*()\-_=+{};:,<.>]");
if (!regex.IsMatch(password))
{
throw new ArgumentException(nameof(password), "Пароль должен содержать спецсимволы");
}
}
private void ValidatePasswordMatch()
{
if (_Password != _confirmPassword)
{
throw new ArgumentException("Пароли должны совпадать", nameof(ConfirmPassword));
}
}
}

21
demo_2023/Program.cs Normal file
View File

@ -0,0 +1,21 @@
using Avalonia;
using System;
namespace demo_2023;
class Program
{
// Initialization code. Don't use any Avalonia, third-party APIs or any
// SynchronizationContext-reliant code before AppMain is called: things aren't initialized
// yet and stuff might break.
[STAThread]
public static void Main(string[] args) => BuildAvaloniaApp()
.StartWithClassicDesktopLifetime(args);
// Avalonia configuration, don't remove; also used by visual designer.
public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure<App>()
.UsePlatformDetect()
.WithInterFont()
.LogToTrace();
}

18
demo_2023/app.manifest Normal file
View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<!-- This manifest is used on Windows only.
Don't remove it as it might cause problems with window transparency and embedded controls.
For more details visit https://learn.microsoft.com/en-us/windows/win32/sbscs/application-manifests -->
<assemblyIdentity version="1.0.0.0" name="demo_2023.Desktop"/>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of the Windows versions that this application has been tested on
and is designed to work with. Uncomment the appropriate elements
and Windows will automatically select the most compatible environment. -->
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
</assembly>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More