init
This commit is contained in:
parent
06b1f95063
commit
9ba62b2fa2
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.
@ -1,12 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Demo1.Data.Migrations
|
|
||||||
{
|
|
||||||
internal class _20241025085326_InitialCreate
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,44 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
|
||||||
|
|
||||||
#nullable disable
|
|
||||||
|
|
||||||
namespace Demo1.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(RemoteDatabaseContext))]
|
|
||||||
partial class RemoteDatabaseContextModelSnapshot : ModelSnapshot
|
|
||||||
{
|
|
||||||
protected override void BuildModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("ProductVersion", "8.0.10")
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
|
||||||
|
|
||||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
|
||||||
|
|
||||||
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.ValueGeneratedOnAdd()
|
|
||||||
.HasColumnType("uuid");
|
|
||||||
|
|
||||||
b.Property<string>("FIO")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("text");
|
|
||||||
|
|
||||||
b.Property<int>("GroupID")
|
|
||||||
.HasColumnType("integer");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,9 +1,10 @@
|
|||||||
// Group.cs в RemoteData/RemoteDataBase/DAO
|
// Group.cs в RemoteData/RemoteDataBase/DAO
|
||||||
namespace Demo.Data.RemoteData.RemoteDataBase.DAO
|
namespace Demo.Data.RemoteData.RemoteDataBase.DAO
|
||||||
{
|
{
|
||||||
public class Group
|
public class GroupDAO
|
||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
public string Name { get; set; } = string.Empty;
|
public string Name { get; set; } = string.Empty;
|
||||||
|
public UserDAO User { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,14 +3,13 @@ using System.ComponentModel.DataAnnotations;
|
|||||||
|
|
||||||
namespace Demo.Data.RemoteData.RemoteDataBase.DAO
|
namespace Demo.Data.RemoteData.RemoteDataBase.DAO
|
||||||
{
|
{
|
||||||
public class Presence
|
public class PresenceDAO
|
||||||
{
|
{
|
||||||
[Key]
|
|
||||||
public int PresenceId { get; set; } // Уникальный идентификатор записи
|
public int PresenceId { get; set; } // Уникальный идентификатор записи
|
||||||
public DateTime ClassDate { get; set; }
|
public DateTime ClassDate { get; set; } // Дата занятия
|
||||||
public int LessonNumber { get; set; }
|
public int LessonNumber { get; set; }
|
||||||
public bool WasPresent { get; set; }
|
public bool WasPresent { get; set; }
|
||||||
public Guid UserId { get; set; }
|
public Guid UserId { get; set; }
|
||||||
// Убрать объект Id
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
namespace Demo.Data.RemoteData.RemoteDataBase.DAO
|
namespace Demo.Data.RemoteData.RemoteDataBase.DAO
|
||||||
{
|
{
|
||||||
public class User
|
public class UserDAO
|
||||||
{
|
{
|
||||||
public Guid Id { get; set; }
|
public Guid UserId { get; set; } // Измените имя на UserId
|
||||||
public string FIO { get; set; } = string.Empty;
|
public string FIO { get; set; } = string.Empty;
|
||||||
public int GroupID { get; set; }
|
public int GroupID { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -8,7 +8,7 @@ namespace Demo.Data.RemoteData.RemoteDataBase
|
|||||||
public TContext CreateDbContext(string[] args)
|
public TContext CreateDbContext(string[] args)
|
||||||
{
|
{
|
||||||
var builder = new DbContextOptionsBuilder<TContext>();
|
var builder = new DbContextOptionsBuilder<TContext>();
|
||||||
builder.UseNpgsql("Host=45.67.56.214;Port=5421;Database=PresenceDB;Username=user5;Password=EtEJqhsf");
|
builder.UseNpgsql("Host=45.67.56.214;Port=5421;Database=user5;Username=user5;Password=EtEJqhsf");
|
||||||
|
|
||||||
return CreateNewInstance(builder.Options);
|
return CreateNewInstance(builder.Options);
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,12 @@
|
|||||||
using Demo.Data.LocalData.Entity;
|
using Demo.Data.LocalData.Entity; // Локальные сущности
|
||||||
|
using Demo.Data.RemoteData.RemoteDataBase.DAO; // DAO классы
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
public class RemoteDatabaseContext : DbContext
|
public class RemoteDatabaseContext : DbContext
|
||||||
{
|
{
|
||||||
public DbSet<User> Users { get; set; }
|
public DbSet<User> User { get; set; }
|
||||||
|
public DbSet<GroupDAO> Group { get; set; } // DbSet для GroupDao
|
||||||
|
public DbSet<PresenceDAO> Presence { get; set; } // DbSet для PresenceDao
|
||||||
|
|
||||||
public RemoteDatabaseContext(DbContextOptions<RemoteDatabaseContext> options) : base(options) { }
|
public RemoteDatabaseContext(DbContextOptions<RemoteDatabaseContext> options) : base(options) { }
|
||||||
|
|
||||||
@ -11,7 +14,31 @@ public class RemoteDatabaseContext : DbContext
|
|||||||
{
|
{
|
||||||
if (!optionsBuilder.IsConfigured)
|
if (!optionsBuilder.IsConfigured)
|
||||||
{
|
{
|
||||||
optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Database=PresenceDB;Username=user5;Password=EtEJqhsf");
|
optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Database=;Username=user5;Password=EtEJqhsf");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
modelBuilder.Entity<GroupDAO>().HasKey(group => group.Id);
|
||||||
|
modelBuilder.Entity<GroupDAO>().Property(group => group.Id).ValueGeneratedOnAdd();
|
||||||
|
|
||||||
|
modelBuilder.Entity<UserDAO>().HasKey(user => user.UserId);
|
||||||
|
modelBuilder.Entity<UserDAO>().Property(user => user.UserId).ValueGeneratedOnAdd();
|
||||||
|
|
||||||
|
modelBuilder.Entity<PresenceDAO>().HasKey(presence => presence.PresenceId); // Устанавливаем первичный ключ
|
||||||
|
|
||||||
|
// Дополнительные настройки для User
|
||||||
|
modelBuilder.Entity<User>(entity =>
|
||||||
|
{
|
||||||
|
entity.ToTable("User"); // Имя таблицы
|
||||||
|
entity.HasKey(e => e.Id); // Указываем первичный ключ
|
||||||
|
entity.Property(e => e.FIO)
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnName("FIO");
|
||||||
|
entity.Property(e => e.GroupID)
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnName("GroupID");
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,13 +24,13 @@ namespace Demo.Data.Repository
|
|||||||
FIO = user.FIO,
|
FIO = user.FIO,
|
||||||
GroupID = user.GroupID
|
GroupID = user.GroupID
|
||||||
};
|
};
|
||||||
_context.Users.Add(daoUser);
|
_context.User.Add(daoUser);
|
||||||
_context.SaveChanges();
|
_context.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerable<UserDomain> GetAllUsers()
|
public IEnumerable<UserDomain> GetAllUser()
|
||||||
{
|
{
|
||||||
return _context.Users.Select(u => new UserDomain
|
return _context.User.Select(u => new UserDomain
|
||||||
{
|
{
|
||||||
Id = u.Id,
|
Id = u.Id,
|
||||||
FIO = u.FIO,
|
FIO = u.FIO,
|
||||||
@ -40,7 +40,7 @@ namespace Demo.Data.Repository
|
|||||||
|
|
||||||
public UserDomain GetUserById(Guid id)
|
public UserDomain GetUserById(Guid id)
|
||||||
{
|
{
|
||||||
var daoUser = _context.Users.Find(id);
|
var daoUser = _context.User.Find(id);
|
||||||
if (daoUser == null) return null;
|
if (daoUser == null) return null;
|
||||||
|
|
||||||
return new UserDomain
|
return new UserDomain
|
||||||
@ -53,7 +53,7 @@ namespace Demo.Data.Repository
|
|||||||
|
|
||||||
public void UpdateUser(UserDomain user)
|
public void UpdateUser(UserDomain user)
|
||||||
{
|
{
|
||||||
var daoUser = _context.Users.Find(user.Id);
|
var daoUser = _context.User.Find(user.Id);
|
||||||
if (daoUser != null)
|
if (daoUser != null)
|
||||||
{
|
{
|
||||||
daoUser.FIO = user.FIO;
|
daoUser.FIO = user.FIO;
|
||||||
@ -64,12 +64,23 @@ namespace Demo.Data.Repository
|
|||||||
|
|
||||||
public void DeleteUser(Guid id)
|
public void DeleteUser(Guid id)
|
||||||
{
|
{
|
||||||
var daoUser = _context.Users.Find(id);
|
var daoUser = _context.User.Find(id);
|
||||||
if (daoUser != null)
|
if (daoUser != null)
|
||||||
{
|
{
|
||||||
_context.Users.Remove(daoUser);
|
_context.User.Remove(daoUser);
|
||||||
_context.SaveChanges();
|
_context.SaveChanges();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Реализуем метод GetAllUsers
|
||||||
|
public IEnumerable<UserDomain> GetAllUsers()
|
||||||
|
{
|
||||||
|
return _context.User.Select(u => new UserDomain
|
||||||
|
{
|
||||||
|
Id = u.Id,
|
||||||
|
FIO = u.FIO,
|
||||||
|
GroupID = u.GroupID
|
||||||
|
}).ToList();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"DefaultConnection": "Host=45.67.56.214;Port=5421;Database=PresenceDB;Username=user5;Password=EtEJqhsf"
|
"DefaultConnection": "Host=45.67.56.214;Port=5421;Database=user5;Username=user5;Password=EtEJqhsf"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Data\RemoteData\RemoteApi\" />
|
<Folder Include="Data\RemoteData\RemoteApi\" />
|
||||||
|
<Folder Include="Migrations\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -1,47 +0,0 @@
|
|||||||
// <auto-generated />
|
|
||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
|
||||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
|
||||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
|
||||||
|
|
||||||
#nullable disable
|
|
||||||
|
|
||||||
namespace Demo1.Migrations
|
|
||||||
{
|
|
||||||
[DbContext(typeof(RemoteDatabaseContext))]
|
|
||||||
[Migration("20241028115815_InitialCreate")]
|
|
||||||
partial class InitialCreate
|
|
||||||
{
|
|
||||||
/// <inheritdoc />
|
|
||||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
|
||||||
{
|
|
||||||
#pragma warning disable 612, 618
|
|
||||||
modelBuilder
|
|
||||||
.HasAnnotation("ProductVersion", "8.0.10")
|
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
|
||||||
|
|
||||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
|
||||||
|
|
||||||
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.User", b =>
|
|
||||||
{
|
|
||||||
b.Property<Guid>("Id")
|
|
||||||
.ValueGeneratedOnAdd()
|
|
||||||
.HasColumnType("uuid");
|
|
||||||
|
|
||||||
b.Property<string>("FIO")
|
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("text");
|
|
||||||
|
|
||||||
b.Property<int>("GroupID")
|
|
||||||
.HasColumnType("integer");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.ToTable("Users");
|
|
||||||
});
|
|
||||||
#pragma warning restore 612, 618
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,35 +0,0 @@
|
|||||||
using System;
|
|
||||||
using Microsoft.EntityFrameworkCore.Migrations;
|
|
||||||
|
|
||||||
#nullable disable
|
|
||||||
|
|
||||||
namespace Demo1.Migrations
|
|
||||||
{
|
|
||||||
/// <inheritdoc />
|
|
||||||
public partial class InitialCreate : Migration
|
|
||||||
{
|
|
||||||
/// <inheritdoc />
|
|
||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.CreateTable(
|
|
||||||
name: "Users",
|
|
||||||
columns: table => new
|
|
||||||
{
|
|
||||||
Id = table.Column<Guid>(type: "uuid", nullable: false),
|
|
||||||
FIO = table.Column<string>(type: "text", nullable: false),
|
|
||||||
GroupID = table.Column<int>(type: "integer", nullable: false)
|
|
||||||
},
|
|
||||||
constraints: table =>
|
|
||||||
{
|
|
||||||
table.PrimaryKey("PK_Users", x => x.Id);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
|
||||||
{
|
|
||||||
migrationBuilder.DropTable(
|
|
||||||
name: "Users");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
125
Demo1/Migrations/20241114100437_create.Designer.cs
generated
Normal file
125
Demo1/Migrations/20241114100437_create.Designer.cs
generated
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Demo1.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(RemoteDatabaseContext))]
|
||||||
|
[Migration("20241114100437_create")]
|
||||||
|
partial class create
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "8.0.10")
|
||||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
||||||
|
|
||||||
|
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity("Demo.Data.LocalData.Entity.User", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<string>("FIO")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text")
|
||||||
|
.HasColumnName("FIO");
|
||||||
|
|
||||||
|
b.Property<int>("GroupID")
|
||||||
|
.HasColumnType("integer")
|
||||||
|
.HasColumnName("GroupID");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("User", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDAO", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<Guid>("UserId")
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("UserId");
|
||||||
|
|
||||||
|
b.ToTable("Group");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDAO", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("PresenceId")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("PresenceId"));
|
||||||
|
|
||||||
|
b.Property<DateTime>("ClassDate")
|
||||||
|
.HasColumnType("timestamp with time zone");
|
||||||
|
|
||||||
|
b.Property<int>("LessonNumber")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<Guid>("UserId")
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<bool>("WasPresent")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.HasKey("PresenceId");
|
||||||
|
|
||||||
|
b.ToTable("Presence");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDAO", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("UserId")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<string>("FIO")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<int>("GroupID")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.HasKey("UserId");
|
||||||
|
|
||||||
|
b.ToTable("UserDAO");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDAO", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDAO", "User")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("UserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("User");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
99
Demo1/Migrations/20241114100437_create.cs
Normal file
99
Demo1/Migrations/20241114100437_create.cs
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Demo1.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class create : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Presence",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
PresenceId = table.Column<int>(type: "integer", nullable: false)
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
ClassDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
||||||
|
LessonNumber = table.Column<int>(type: "integer", nullable: false),
|
||||||
|
WasPresent = table.Column<bool>(type: "boolean", nullable: false),
|
||||||
|
UserId = table.Column<Guid>(type: "uuid", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Presence", x => x.PresenceId);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "User",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<Guid>(type: "uuid", nullable: false),
|
||||||
|
FIO = table.Column<string>(type: "text", nullable: false),
|
||||||
|
GroupID = table.Column<int>(type: "integer", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_User", x => x.Id);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "UserDAO",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
UserId = table.Column<Guid>(type: "uuid", nullable: false),
|
||||||
|
FIO = table.Column<string>(type: "text", nullable: false),
|
||||||
|
GroupID = table.Column<int>(type: "integer", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_UserDAO", x => x.UserId);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "Group",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
Id = table.Column<int>(type: "integer", nullable: false)
|
||||||
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
|
Name = table.Column<string>(type: "text", nullable: false),
|
||||||
|
UserId = table.Column<Guid>(type: "uuid", nullable: false)
|
||||||
|
},
|
||||||
|
constraints: table =>
|
||||||
|
{
|
||||||
|
table.PrimaryKey("PK_Group", x => x.Id);
|
||||||
|
table.ForeignKey(
|
||||||
|
name: "FK_Group_UserDAO_UserId",
|
||||||
|
column: x => x.UserId,
|
||||||
|
principalTable: "UserDAO",
|
||||||
|
principalColumn: "UserId",
|
||||||
|
onDelete: ReferentialAction.Cascade);
|
||||||
|
});
|
||||||
|
|
||||||
|
migrationBuilder.CreateIndex(
|
||||||
|
name: "IX_Group_UserId",
|
||||||
|
table: "Group",
|
||||||
|
column: "UserId");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Group");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "Presence");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "User");
|
||||||
|
|
||||||
|
migrationBuilder.DropTable(
|
||||||
|
name: "UserDAO");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
122
Demo1/Migrations/RemoteDatabaseContextModelSnapshot.cs
Normal file
122
Demo1/Migrations/RemoteDatabaseContextModelSnapshot.cs
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
using System;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||||
|
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Demo1.Migrations
|
||||||
|
{
|
||||||
|
[DbContext(typeof(RemoteDatabaseContext))]
|
||||||
|
partial class RemoteDatabaseContextModelSnapshot : ModelSnapshot
|
||||||
|
{
|
||||||
|
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||||
|
{
|
||||||
|
#pragma warning disable 612, 618
|
||||||
|
modelBuilder
|
||||||
|
.HasAnnotation("ProductVersion", "8.0.10")
|
||||||
|
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
||||||
|
|
||||||
|
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||||
|
|
||||||
|
modelBuilder.Entity("Demo.Data.LocalData.Entity.User", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<string>("FIO")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text")
|
||||||
|
.HasColumnName("FIO");
|
||||||
|
|
||||||
|
b.Property<int>("GroupID")
|
||||||
|
.HasColumnType("integer")
|
||||||
|
.HasColumnName("GroupID");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("User", (string)null);
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDAO", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<Guid>("UserId")
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("UserId");
|
||||||
|
|
||||||
|
b.ToTable("Group");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.PresenceDAO", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("PresenceId")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("PresenceId"));
|
||||||
|
|
||||||
|
b.Property<DateTime>("ClassDate")
|
||||||
|
.HasColumnType("timestamp with time zone");
|
||||||
|
|
||||||
|
b.Property<int>("LessonNumber")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.Property<Guid>("UserId")
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<bool>("WasPresent")
|
||||||
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.HasKey("PresenceId");
|
||||||
|
|
||||||
|
b.ToTable("Presence");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDAO", b =>
|
||||||
|
{
|
||||||
|
b.Property<Guid>("UserId")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("uuid");
|
||||||
|
|
||||||
|
b.Property<string>("FIO")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("text");
|
||||||
|
|
||||||
|
b.Property<int>("GroupID")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
|
b.HasKey("UserId");
|
||||||
|
|
||||||
|
b.ToTable("UserDAO");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Demo.Data.RemoteData.RemoteDataBase.DAO.GroupDAO", b =>
|
||||||
|
{
|
||||||
|
b.HasOne("Demo.Data.RemoteData.RemoteDataBase.DAO.UserDAO", "User")
|
||||||
|
.WithMany()
|
||||||
|
.HasForeignKey("UserId")
|
||||||
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
.IsRequired();
|
||||||
|
|
||||||
|
b.Navigation("User");
|
||||||
|
});
|
||||||
|
#pragma warning restore 612, 618
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -26,7 +26,7 @@ namespace Demo.UI
|
|||||||
{
|
{
|
||||||
// Если контекст не предоставлен, создаем новый
|
// Если контекст не предоставлен, создаем новый
|
||||||
var optionsBuilder = new DbContextOptionsBuilder<RemoteDatabaseContext>();
|
var optionsBuilder = new DbContextOptionsBuilder<RemoteDatabaseContext>();
|
||||||
optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Database=PresenceDB;Username=user5;Password=EtEJqhsf");
|
optionsBuilder.UseNpgsql("Host=45.67.56.214;Port=5421;Database=user5;Username=user5;Password=EtEJqhsf");
|
||||||
_context = new RemoteDatabaseContext(optionsBuilder.Options);
|
_context = new RemoteDatabaseContext(optionsBuilder.Options);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -13,7 +13,7 @@ using System.Reflection;
|
|||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("Demo1")]
|
[assembly: System.Reflection.AssemblyCompanyAttribute("Demo1")]
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ad36f40a574ff1f9c69220e247e17f0f61b8504b")]
|
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+06b1f950636c0e6a821db89e32cb6df6c2d4fc5f")]
|
||||||
[assembly: System.Reflection.AssemblyProductAttribute("Demo1")]
|
[assembly: System.Reflection.AssemblyProductAttribute("Demo1")]
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("Demo1")]
|
[assembly: System.Reflection.AssemblyTitleAttribute("Demo1")]
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
@ -1 +1 @@
|
|||||||
5c715191160bff39fcd95ea2a88ceccb0dc4e7a144114f272a3a5f3987941750
|
8046c00cc63f26032cdf9c354ffd58718de497cdf22950b9f6347890d28bab85
|
||||||
|
@ -1 +1 @@
|
|||||||
d655c7cb8cbdb4061a8574767df01e6ea05e59f4d09a28cc7cce78e04174cb6c
|
a2e9375af416c60c5d5a6c13c3a19ecad9cc79f6c813241ee14a887ff123cd9e
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user