LeftWorkAccount Table created - workshop Account edited table

This commit is contained in:
samsys
2024-07-23 21:14:55 +03:30
parent 88fbea0a39
commit d922487032
33 changed files with 13405 additions and 155 deletions

View File

@@ -2,6 +2,7 @@
using AccountMangement.Infrastructure.EFCore.Mappings;
using Microsoft.EntityFrameworkCore;
using System;
using AccountManagement.Domain.AccountLeftWorkAgg;
using AccountManagement.Domain.CameraAccountAgg;
using AccountManagement.Domain.RoleAgg;
using AccountManagement.Domain.AssignAgg;
@@ -25,7 +26,7 @@ namespace AccountMangement.Infrastructure.EFCore
public DbSet<Account> Accounts { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<CameraAccount> CameraAccounts { get; set; }
public DbSet<AccountLeftWork> AccountLeftWorks { get; set; }
#region Mahan
public DbSet<Position> Positions { get; set; }

View File

@@ -0,0 +1,23 @@
using AccountManagement.Domain.AccountLeftWorkAgg;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace AccountMangement.Infrastructure.EFCore.Mappings;
public class AccountLeftWorkMapping : IEntityTypeConfiguration<AccountLeftWork>
{
public void Configure(EntityTypeBuilder<AccountLeftWork> builder)
{
builder.ToTable("AccountLeftWork");
builder.HasKey(x => x.id);
builder.Property(x => x.id);
builder.Property(x => x.StartWorkGr);
builder.Property(x => x.LeftWorkGr);
builder.HasOne(x => x.Account)
.WithMany(x => x.AccountLeftWorkList)
.HasForeignKey(x => x.AccountId);
}
}

View File

@@ -30,5 +30,8 @@ public class AccountMapping : IEntityTypeConfiguration<Account>
.WithOne(x => x.Account)
.HasForeignKey(x => x.AccountId);
builder.HasOne(x => x.Position).WithMany(x => x.Accounts).HasForeignKey(x => x.PositionId).IsRequired(false);
builder.HasMany(x => x.AccountLeftWorkList)
.WithOne(x => x.Account)
.HasForeignKey(x => x.AccountId);
}
}

View File

@@ -0,0 +1,768 @@
// <auto-generated />
using System;
using AccountMangement.Infrastructure.EFCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace AccountMangement.Infrastructure.EFCore.Migrations
{
[DbContext(typeof(AccountContext))]
[Migration("20240722150241_AccountLeftworkTable")]
partial class AccountLeftworkTable
{
/// <inheritdoc />
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "8.0.4")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
modelBuilder.Entity("AccountManagement.Domain.AccountAgg.Account", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<string>("AdminAreaPermission")
.HasMaxLength(10)
.HasColumnType("nvarchar(10)");
b.Property<string>("ClientAriaPermission")
.HasMaxLength(10)
.HasColumnType("nvarchar(10)");
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("Email")
.HasMaxLength(150)
.HasColumnType("nvarchar(150)");
b.Property<string>("Fullname")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<string>("IsActiveString")
.HasMaxLength(6)
.HasColumnType("nvarchar(6)");
b.Property<string>("Mobile")
.IsRequired()
.HasMaxLength(20)
.HasColumnType("nvarchar(20)");
b.Property<string>("NationalCode")
.HasMaxLength(10)
.HasColumnType("nvarchar(10)");
b.Property<string>("Password")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property<long?>("PositionId")
.HasMaxLength(10)
.HasColumnType("bigint");
b.Property<string>("ProfilePhoto")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
b.Property<long>("RoleId")
.HasColumnType("bigint");
b.Property<string>("RoleName")
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<string>("Username")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<string>("VerifyCode")
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.HasKey("id");
b.HasIndex("PositionId");
b.HasIndex("RoleId");
b.ToTable("Accounts", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.AccountLeftWorkAgg.AccountLeftWork", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<long>("AccountId")
.HasColumnType("bigint");
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<DateTime>("LeftWorkGr")
.HasColumnType("datetime2");
b.Property<DateTime>("StartWorkGr")
.HasColumnType("datetime2");
b.HasKey("id");
b.HasIndex("AccountId");
b.ToTable("AccountLeftWork", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.AdminResponseAgg.AdminResponse", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("Response")
.HasColumnType("ntext");
b.Property<long>("TicketId")
.HasColumnType("bigint");
b.HasKey("id");
b.HasIndex("TicketId");
b.ToTable("AdminResponses", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.AdminResponseMediaAgg.AdminResponseMedia", b =>
{
b.Property<long>("AdminResponseId")
.HasColumnType("bigint");
b.Property<long>("MediaId")
.HasColumnType("bigint");
b.HasKey("AdminResponseId", "MediaId");
b.HasIndex("MediaId");
b.ToTable("AdminResponseMedias", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.AssignAgg.Assign", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<long>("AssignedId")
.HasColumnType("bigint");
b.Property<string>("AssignedName")
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.Property<int>("AssignedPositionValue")
.HasColumnType("int");
b.Property<long>("AssignerId")
.HasColumnType("bigint");
b.Property<int>("AssignerPositionValue")
.HasColumnType("int");
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<long>("TaskId")
.HasColumnType("bigint");
b.HasKey("id");
b.HasIndex("TaskId");
b.ToTable("Assigns", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.CameraAccountAgg.CameraAccount", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<long>("AccountId")
.HasColumnType("bigint");
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("IsActiveSting")
.IsRequired()
.HasMaxLength(5)
.HasColumnType("nvarchar(5)");
b.Property<string>("Mobile")
.HasMaxLength(11)
.HasColumnType("nvarchar(11)");
b.Property<string>("Password")
.IsRequired()
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property<string>("Username")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.Property<long>("WorkshopId")
.HasColumnType("bigint");
b.Property<string>("WorkshopName")
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("id");
b.HasIndex("AccountId");
b.ToTable("CameraAccounts", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.ClientResponseAgg.ClientResponse", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("Response")
.HasColumnType("ntext");
b.Property<long>("TicketId")
.HasColumnType("bigint");
b.HasKey("id");
b.HasIndex("TicketId");
b.ToTable("ClientResponses", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.ClientResponseMediaAgg.ClientResponseMedia", b =>
{
b.Property<long>("ClientResponseId")
.HasColumnType("bigint");
b.Property<long>("MediaId")
.HasColumnType("bigint");
b.HasKey("ClientResponseId", "MediaId");
b.HasIndex("MediaId");
b.ToTable("ClientResponseMedias", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.MediaAgg.Media", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<string>("Category")
.HasMaxLength(10)
.HasColumnType("nvarchar(10)");
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("Path")
.HasColumnType("ntext");
b.Property<string>("Type")
.HasMaxLength(10)
.HasColumnType("nvarchar(10)");
b.HasKey("id");
b.ToTable("Medias", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.RoleAgg.Role", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("id");
b.ToTable("Roles", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.TaskAgg.Tasks", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<int>("AcceptedTimeRequest")
.HasColumnType("int");
b.Property<string>("CancelDescription")
.HasColumnType("ntext");
b.Property<string>("ContractingPartyName")
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("Description")
.HasColumnType("ntext");
b.Property<string>("DoneDescription")
.HasColumnType("ntext");
b.Property<DateTime>("EndTaskDate")
.HasColumnType("datetime2");
b.Property<string>("IsActiveString")
.HasMaxLength(7)
.HasColumnType("nvarchar(7)");
b.Property<bool>("IsCancel")
.HasColumnType("bit");
b.Property<bool>("IsCanceledRequest")
.HasColumnType("bit");
b.Property<bool>("IsDone")
.HasColumnType("bit");
b.Property<bool>("IsDoneRequest")
.HasColumnType("bit");
b.Property<DateTime?>("RequestDate")
.HasColumnType("datetime2");
b.Property<long>("SenderId")
.HasColumnType("bigint");
b.Property<DateTime>("StartTaskDate")
.HasColumnType("datetime2");
b.Property<long?>("TicketId")
.HasColumnType("bigint");
b.Property<bool>("TimeRequest")
.HasColumnType("bit");
b.Property<string>("TimeRequestDescription")
.HasColumnType("ntext");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("id");
b.ToTable("TasksManager", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.TaskMediaAgg.TaskMedia", b =>
{
b.Property<long>("MediaId")
.HasColumnType("bigint");
b.Property<long>("TaskId")
.HasColumnType("bigint");
b.HasKey("MediaId", "TaskId");
b.HasIndex("TaskId");
b.ToTable("TasksMedias", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.TaskSubjectAgg.TaskSubject", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("Subject")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("id");
b.ToTable("TaskSubjects", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.TicketAgg.Ticket", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<string>("ContractingPartyName")
.HasMaxLength(155)
.HasColumnType("nvarchar(155)");
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("Description")
.HasColumnType("ntext");
b.Property<long>("SenderId")
.HasColumnType("bigint");
b.Property<string>("Status")
.HasMaxLength(30)
.HasColumnType("nvarchar(30)");
b.Property<long?>("TaskId")
.HasColumnType("bigint");
b.Property<string>("TicketType")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("Title")
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.HasKey("id");
b.ToTable("Tickets", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.TicketMediasAgg.TicketMedia", b =>
{
b.Property<long>("TicketId")
.HasColumnType("bigint");
b.Property<long>("MediaId")
.HasColumnType("bigint");
b.HasKey("TicketId", "MediaId");
b.HasIndex("MediaId");
b.ToTable("TicketMedias", (string)null);
});
modelBuilder.Entity("TaskManager.Domain.PositionAgg.Position", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("PositionName")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<int>("PositionValue")
.HasMaxLength(2)
.HasColumnType("int");
b.HasKey("id");
b.ToTable("Positions", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.AccountAgg.Account", b =>
{
b.HasOne("TaskManager.Domain.PositionAgg.Position", "Position")
.WithMany("Accounts")
.HasForeignKey("PositionId");
b.HasOne("AccountManagement.Domain.RoleAgg.Role", "Role")
.WithMany("Accounts")
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Position");
b.Navigation("Role");
});
modelBuilder.Entity("AccountManagement.Domain.AccountLeftWorkAgg.AccountLeftWork", b =>
{
b.HasOne("AccountManagement.Domain.AccountAgg.Account", "Account")
.WithMany("AccountLeftWorkList")
.HasForeignKey("AccountId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Account");
});
modelBuilder.Entity("AccountManagement.Domain.AdminResponseAgg.AdminResponse", b =>
{
b.HasOne("AccountManagement.Domain.TicketAgg.Ticket", "Ticket")
.WithMany("AdminResponses")
.HasForeignKey("TicketId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Ticket");
});
modelBuilder.Entity("AccountManagement.Domain.AdminResponseMediaAgg.AdminResponseMedia", b =>
{
b.HasOne("AccountManagement.Domain.AdminResponseAgg.AdminResponse", "AdminResponse")
.WithMany("AdminResponseMedias")
.HasForeignKey("AdminResponseId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AccountManagement.Domain.MediaAgg.Media", "Media")
.WithMany("AdminResponseMedias")
.HasForeignKey("MediaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("AdminResponse");
b.Navigation("Media");
});
modelBuilder.Entity("AccountManagement.Domain.AssignAgg.Assign", b =>
{
b.HasOne("AccountManagement.Domain.TaskAgg.Tasks", "Task")
.WithMany("Assigns")
.HasForeignKey("TaskId")
.OnDelete(DeleteBehavior.Cascade);
b.Navigation("Task");
});
modelBuilder.Entity("AccountManagement.Domain.CameraAccountAgg.CameraAccount", b =>
{
b.HasOne("AccountManagement.Domain.AccountAgg.Account", "Account")
.WithMany("CameraAccounts")
.HasForeignKey("AccountId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Account");
});
modelBuilder.Entity("AccountManagement.Domain.ClientResponseAgg.ClientResponse", b =>
{
b.HasOne("AccountManagement.Domain.TicketAgg.Ticket", "Ticket")
.WithMany("ClientResponses")
.HasForeignKey("TicketId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Ticket");
});
modelBuilder.Entity("AccountManagement.Domain.ClientResponseMediaAgg.ClientResponseMedia", b =>
{
b.HasOne("AccountManagement.Domain.ClientResponseAgg.ClientResponse", "ClientResponse")
.WithMany("ClientResponseMedias")
.HasForeignKey("ClientResponseId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AccountManagement.Domain.MediaAgg.Media", "Media")
.WithMany("ClientResponseMedias")
.HasForeignKey("MediaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ClientResponse");
b.Navigation("Media");
});
modelBuilder.Entity("AccountManagement.Domain.RoleAgg.Role", b =>
{
b.OwnsMany("AccountManagement.Domain.RoleAgg.Permission", "Permissions", b1 =>
{
b1.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b1.Property<long>("Id"));
b1.Property<int>("Code")
.HasColumnType("int");
b1.Property<long>("RoleId")
.HasColumnType("bigint");
b1.HasKey("Id");
b1.HasIndex("RoleId");
b1.ToTable("RolePermissions", (string)null);
b1.WithOwner("Role")
.HasForeignKey("RoleId");
b1.Navigation("Role");
});
b.Navigation("Permissions");
});
modelBuilder.Entity("AccountManagement.Domain.TaskMediaAgg.TaskMedia", b =>
{
b.HasOne("AccountManagement.Domain.MediaAgg.Media", "Media")
.WithMany("TaskMedias")
.HasForeignKey("MediaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AccountManagement.Domain.TaskAgg.Tasks", "Tasks")
.WithMany("TaskMedias")
.HasForeignKey("TaskId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Media");
b.Navigation("Tasks");
});
modelBuilder.Entity("AccountManagement.Domain.TicketMediasAgg.TicketMedia", b =>
{
b.HasOne("AccountManagement.Domain.MediaAgg.Media", "Media")
.WithMany("TicketMedias")
.HasForeignKey("MediaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AccountManagement.Domain.TicketAgg.Ticket", "Ticket")
.WithMany("TicketMedias")
.HasForeignKey("TicketId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Media");
b.Navigation("Ticket");
});
modelBuilder.Entity("AccountManagement.Domain.AccountAgg.Account", b =>
{
b.Navigation("AccountLeftWorkList");
b.Navigation("CameraAccounts");
});
modelBuilder.Entity("AccountManagement.Domain.AdminResponseAgg.AdminResponse", b =>
{
b.Navigation("AdminResponseMedias");
});
modelBuilder.Entity("AccountManagement.Domain.ClientResponseAgg.ClientResponse", b =>
{
b.Navigation("ClientResponseMedias");
});
modelBuilder.Entity("AccountManagement.Domain.MediaAgg.Media", b =>
{
b.Navigation("AdminResponseMedias");
b.Navigation("ClientResponseMedias");
b.Navigation("TaskMedias");
b.Navigation("TicketMedias");
});
modelBuilder.Entity("AccountManagement.Domain.RoleAgg.Role", b =>
{
b.Navigation("Accounts");
});
modelBuilder.Entity("AccountManagement.Domain.TaskAgg.Tasks", b =>
{
b.Navigation("Assigns");
b.Navigation("TaskMedias");
});
modelBuilder.Entity("AccountManagement.Domain.TicketAgg.Ticket", b =>
{
b.Navigation("AdminResponses");
b.Navigation("ClientResponses");
b.Navigation("TicketMedias");
});
modelBuilder.Entity("TaskManager.Domain.PositionAgg.Position", b =>
{
b.Navigation("Accounts");
});
#pragma warning restore 612, 618
}
}
}

View File

@@ -0,0 +1,61 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace AccountMangement.Infrastructure.EFCore.Migrations
{
/// <inheritdoc />
public partial class AccountLeftworkTable : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "AccountLeftWork",
columns: table => new
{
id = table.Column<long>(type: "bigint", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
StartWorkGr = table.Column<DateTime>(type: "datetime2", nullable: false),
LeftWorkGr = table.Column<DateTime>(type: "datetime2", nullable: false),
AccountId = table.Column<long>(type: "bigint", nullable: false),
CreationDate = table.Column<DateTime>(type: "datetime2", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AccountLeftWork", x => x.id);
table.ForeignKey(
name: "FK_AccountLeftWork_Accounts_AccountId",
column: x => x.AccountId,
principalTable: "Accounts",
principalColumn: "id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_AccountLeftWork_AccountId",
table: "AccountLeftWork",
column: "AccountId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AccountLeftWork");
}
}
}

View File

@@ -68,6 +68,10 @@ namespace AccountMangement.Infrastructure.EFCore.Migrations
.HasMaxLength(1000)
.HasColumnType("nvarchar(1000)");
b.Property<long?>("PositionId")
.HasMaxLength(10)
.HasColumnType("bigint");
b.Property<string>("ProfilePhoto")
.HasMaxLength(500)
.HasColumnType("nvarchar(500)");
@@ -90,11 +94,116 @@ namespace AccountMangement.Infrastructure.EFCore.Migrations
b.HasKey("id");
b.HasIndex("PositionId");
b.HasIndex("RoleId");
b.ToTable("Accounts", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.AccountLeftWorkAgg.AccountLeftWork", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<long>("AccountId")
.HasColumnType("bigint");
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<DateTime>("LeftWorkGr")
.HasColumnType("datetime2");
b.Property<DateTime>("StartWorkGr")
.HasColumnType("datetime2");
b.HasKey("id");
b.HasIndex("AccountId");
b.ToTable("AccountLeftWork", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.AdminResponseAgg.AdminResponse", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("Response")
.HasColumnType("ntext");
b.Property<long>("TicketId")
.HasColumnType("bigint");
b.HasKey("id");
b.HasIndex("TicketId");
b.ToTable("AdminResponses", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.AdminResponseMediaAgg.AdminResponseMedia", b =>
{
b.Property<long>("AdminResponseId")
.HasColumnType("bigint");
b.Property<long>("MediaId")
.HasColumnType("bigint");
b.HasKey("AdminResponseId", "MediaId");
b.HasIndex("MediaId");
b.ToTable("AdminResponseMedias", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.AssignAgg.Assign", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<long>("AssignedId")
.HasColumnType("bigint");
b.Property<string>("AssignedName")
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.Property<int>("AssignedPositionValue")
.HasColumnType("int");
b.Property<long>("AssignerId")
.HasColumnType("bigint");
b.Property<int>("AssignerPositionValue")
.HasColumnType("int");
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<long>("TaskId")
.HasColumnType("bigint");
b.HasKey("id");
b.HasIndex("TaskId");
b.ToTable("Assigns", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.CameraAccountAgg.CameraAccount", b =>
{
b.Property<long>("id")
@@ -142,6 +251,72 @@ namespace AccountMangement.Infrastructure.EFCore.Migrations
b.ToTable("CameraAccounts", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.ClientResponseAgg.ClientResponse", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("Response")
.HasColumnType("ntext");
b.Property<long>("TicketId")
.HasColumnType("bigint");
b.HasKey("id");
b.HasIndex("TicketId");
b.ToTable("ClientResponses", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.ClientResponseMediaAgg.ClientResponseMedia", b =>
{
b.Property<long>("ClientResponseId")
.HasColumnType("bigint");
b.Property<long>("MediaId")
.HasColumnType("bigint");
b.HasKey("ClientResponseId", "MediaId");
b.HasIndex("MediaId");
b.ToTable("ClientResponseMedias", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.MediaAgg.Media", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<string>("Category")
.HasMaxLength(10)
.HasColumnType("nvarchar(10)");
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("Path")
.HasColumnType("ntext");
b.Property<string>("Type")
.HasMaxLength(10)
.HasColumnType("nvarchar(10)");
b.HasKey("id");
b.ToTable("Medias", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.RoleAgg.Role", b =>
{
b.Property<long>("id")
@@ -163,17 +338,264 @@ namespace AccountMangement.Infrastructure.EFCore.Migrations
b.ToTable("Roles", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.TaskAgg.Tasks", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<int>("AcceptedTimeRequest")
.HasColumnType("int");
b.Property<string>("CancelDescription")
.HasColumnType("ntext");
b.Property<string>("ContractingPartyName")
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("Description")
.HasColumnType("ntext");
b.Property<string>("DoneDescription")
.HasColumnType("ntext");
b.Property<DateTime>("EndTaskDate")
.HasColumnType("datetime2");
b.Property<string>("IsActiveString")
.HasMaxLength(7)
.HasColumnType("nvarchar(7)");
b.Property<bool>("IsCancel")
.HasColumnType("bit");
b.Property<bool>("IsCanceledRequest")
.HasColumnType("bit");
b.Property<bool>("IsDone")
.HasColumnType("bit");
b.Property<bool>("IsDoneRequest")
.HasColumnType("bit");
b.Property<DateTime?>("RequestDate")
.HasColumnType("datetime2");
b.Property<long>("SenderId")
.HasColumnType("bigint");
b.Property<DateTime>("StartTaskDate")
.HasColumnType("datetime2");
b.Property<long?>("TicketId")
.HasColumnType("bigint");
b.Property<bool>("TimeRequest")
.HasColumnType("bit");
b.Property<string>("TimeRequestDescription")
.HasColumnType("ntext");
b.Property<string>("Title")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("id");
b.ToTable("TasksManager", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.TaskMediaAgg.TaskMedia", b =>
{
b.Property<long>("MediaId")
.HasColumnType("bigint");
b.Property<long>("TaskId")
.HasColumnType("bigint");
b.HasKey("MediaId", "TaskId");
b.HasIndex("TaskId");
b.ToTable("TasksMedias", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.TaskSubjectAgg.TaskSubject", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("Subject")
.IsRequired()
.HasMaxLength(100)
.HasColumnType("nvarchar(100)");
b.HasKey("id");
b.ToTable("TaskSubjects", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.TicketAgg.Ticket", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<string>("ContractingPartyName")
.HasMaxLength(155)
.HasColumnType("nvarchar(155)");
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("Description")
.HasColumnType("ntext");
b.Property<long>("SenderId")
.HasColumnType("bigint");
b.Property<string>("Status")
.HasMaxLength(30)
.HasColumnType("nvarchar(30)");
b.Property<long?>("TaskId")
.HasColumnType("bigint");
b.Property<string>("TicketType")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<string>("Title")
.HasMaxLength(200)
.HasColumnType("nvarchar(200)");
b.HasKey("id");
b.ToTable("Tickets", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.TicketMediasAgg.TicketMedia", b =>
{
b.Property<long>("TicketId")
.HasColumnType("bigint");
b.Property<long>("MediaId")
.HasColumnType("bigint");
b.HasKey("TicketId", "MediaId");
b.HasIndex("MediaId");
b.ToTable("TicketMedias", (string)null);
});
modelBuilder.Entity("TaskManager.Domain.PositionAgg.Position", b =>
{
b.Property<long>("id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
b.Property<DateTime>("CreationDate")
.HasColumnType("datetime2");
b.Property<string>("PositionName")
.HasMaxLength(50)
.HasColumnType("nvarchar(50)");
b.Property<int>("PositionValue")
.HasMaxLength(2)
.HasColumnType("int");
b.HasKey("id");
b.ToTable("Positions", (string)null);
});
modelBuilder.Entity("AccountManagement.Domain.AccountAgg.Account", b =>
{
b.HasOne("TaskManager.Domain.PositionAgg.Position", "Position")
.WithMany("Accounts")
.HasForeignKey("PositionId");
b.HasOne("AccountManagement.Domain.RoleAgg.Role", "Role")
.WithMany("Accounts")
.HasForeignKey("RoleId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Position");
b.Navigation("Role");
});
modelBuilder.Entity("AccountManagement.Domain.AccountLeftWorkAgg.AccountLeftWork", b =>
{
b.HasOne("AccountManagement.Domain.AccountAgg.Account", "Account")
.WithMany("AccountLeftWorkList")
.HasForeignKey("AccountId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Account");
});
modelBuilder.Entity("AccountManagement.Domain.AdminResponseAgg.AdminResponse", b =>
{
b.HasOne("AccountManagement.Domain.TicketAgg.Ticket", "Ticket")
.WithMany("AdminResponses")
.HasForeignKey("TicketId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Ticket");
});
modelBuilder.Entity("AccountManagement.Domain.AdminResponseMediaAgg.AdminResponseMedia", b =>
{
b.HasOne("AccountManagement.Domain.AdminResponseAgg.AdminResponse", "AdminResponse")
.WithMany("AdminResponseMedias")
.HasForeignKey("AdminResponseId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AccountManagement.Domain.MediaAgg.Media", "Media")
.WithMany("AdminResponseMedias")
.HasForeignKey("MediaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("AdminResponse");
b.Navigation("Media");
});
modelBuilder.Entity("AccountManagement.Domain.AssignAgg.Assign", b =>
{
b.HasOne("AccountManagement.Domain.TaskAgg.Tasks", "Task")
.WithMany("Assigns")
.HasForeignKey("TaskId")
.OnDelete(DeleteBehavior.Cascade);
b.Navigation("Task");
});
modelBuilder.Entity("AccountManagement.Domain.CameraAccountAgg.CameraAccount", b =>
{
b.HasOne("AccountManagement.Domain.AccountAgg.Account", "Account")
@@ -185,9 +607,39 @@ namespace AccountMangement.Infrastructure.EFCore.Migrations
b.Navigation("Account");
});
modelBuilder.Entity("AccountManagement.Domain.ClientResponseAgg.ClientResponse", b =>
{
b.HasOne("AccountManagement.Domain.TicketAgg.Ticket", "Ticket")
.WithMany("ClientResponses")
.HasForeignKey("TicketId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Ticket");
});
modelBuilder.Entity("AccountManagement.Domain.ClientResponseMediaAgg.ClientResponseMedia", b =>
{
b.HasOne("AccountManagement.Domain.ClientResponseAgg.ClientResponse", "ClientResponse")
.WithMany("ClientResponseMedias")
.HasForeignKey("ClientResponseId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AccountManagement.Domain.MediaAgg.Media", "Media")
.WithMany("ClientResponseMedias")
.HasForeignKey("MediaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("ClientResponse");
b.Navigation("Media");
});
modelBuilder.Entity("AccountManagement.Domain.RoleAgg.Role", b =>
{
b.OwnsMany("AccountManagement.Domain.RoleAgg.Permission", "Permissions", b1 =>
b.OwnsMany("AccountManagement.Domain.RoleAgg.Role.Permissions#AccountManagement.Domain.RoleAgg.Permission", "Permissions", b1 =>
{
b1.Property<long>("Id")
.ValueGeneratedOnAdd()
@@ -216,15 +668,97 @@ namespace AccountMangement.Infrastructure.EFCore.Migrations
b.Navigation("Permissions");
});
modelBuilder.Entity("AccountManagement.Domain.TaskMediaAgg.TaskMedia", b =>
{
b.HasOne("AccountManagement.Domain.MediaAgg.Media", "Media")
.WithMany("TaskMedias")
.HasForeignKey("MediaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AccountManagement.Domain.TaskAgg.Tasks", "Tasks")
.WithMany("TaskMedias")
.HasForeignKey("TaskId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Media");
b.Navigation("Tasks");
});
modelBuilder.Entity("AccountManagement.Domain.TicketMediasAgg.TicketMedia", b =>
{
b.HasOne("AccountManagement.Domain.MediaAgg.Media", "Media")
.WithMany("TicketMedias")
.HasForeignKey("MediaId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("AccountManagement.Domain.TicketAgg.Ticket", "Ticket")
.WithMany("TicketMedias")
.HasForeignKey("TicketId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Media");
b.Navigation("Ticket");
});
modelBuilder.Entity("AccountManagement.Domain.AccountAgg.Account", b =>
{
b.Navigation("AccountLeftWorkList");
b.Navigation("CameraAccounts");
});
modelBuilder.Entity("AccountManagement.Domain.AdminResponseAgg.AdminResponse", b =>
{
b.Navigation("AdminResponseMedias");
});
modelBuilder.Entity("AccountManagement.Domain.ClientResponseAgg.ClientResponse", b =>
{
b.Navigation("ClientResponseMedias");
});
modelBuilder.Entity("AccountManagement.Domain.MediaAgg.Media", b =>
{
b.Navigation("AdminResponseMedias");
b.Navigation("ClientResponseMedias");
b.Navigation("TaskMedias");
b.Navigation("TicketMedias");
});
modelBuilder.Entity("AccountManagement.Domain.RoleAgg.Role", b =>
{
b.Navigation("Accounts");
});
modelBuilder.Entity("AccountManagement.Domain.TaskAgg.Tasks", b =>
{
b.Navigation("Assigns");
b.Navigation("TaskMedias");
});
modelBuilder.Entity("AccountManagement.Domain.TicketAgg.Ticket", b =>
{
b.Navigation("AdminResponses");
b.Navigation("ClientResponses");
b.Navigation("TicketMedias");
});
modelBuilder.Entity("TaskManager.Domain.PositionAgg.Position", b =>
{
b.Navigation("Accounts");
});
#pragma warning restore 612, 618
}
}

View File

@@ -0,0 +1,56 @@
using System;
using System.Collections.Generic;
using System.Linq;
using _0_Framework.Application;
using _0_Framework.InfraStructure;
using AccountManagement.Application.Contracts.Account;
using AccountManagement.Domain.AccountLeftWorkAgg;
using Company.Domain.LeftWorkAgg;
using Company.Domain.WorkingHoursItemsAgg;
using Company.Domain.WorkshopAccountAgg;
using Microsoft.EntityFrameworkCore;
namespace AccountMangement.Infrastructure.EFCore.Repository;
public class AccountLeftworkRepository : RepositoryBase<long, AccountLeftWork>, IAccountLeftworkRepository
{
private readonly AccountContext _accountContext;
private readonly IWorkshopAccountRepository _workshopAccountRepository;
public AccountLeftworkRepository(AccountContext accountContext, IWorkshopAccountRepository workshopAccountRepository) : base(accountContext)
{
_accountContext = accountContext;
_workshopAccountRepository = workshopAccountRepository;
}
public (string StartWorkFa, string LeftWorkFa) GetByAccountId(long accountId)
{
var initial = new DateTime(2150, 1, 1);
string start = "";
string end = "";
var res = _accountContext.AccountLeftWorks.FirstOrDefault(x => x.AccountId == accountId);
if (res != null)
{
start = res.StartWorkGr != initial ? res.StartWorkGr.ToFarsi() : "";
end = res.LeftWorkGr != initial ? res.LeftWorkGr.ToFarsi() : "";
}
return (start, end);
}
public List<WorkshopAccountlistViewModel> WorkshopList(long accountId)
{
var res = _workshopAccountRepository.GetList(accountId);
return res.Select(x => new WorkshopAccountlistViewModel
{
WorkshopId = x.WorkshopId,
WorkshopName = x.WorkshopName,
AccountId = x.AccountId,
ContractAndCheckout = x.ContractAndCheckout,
Insurance = x.Insurance,
Tax = x.Tax,
IsActiveSting = x.IsActiveSting,
}).ToList();
}
}

View File

@@ -257,7 +257,24 @@ public class AccountRepository : RepositoryBase<long, Account>, IAccountReposito
}).FirstOrDefault(x => x.Id == id);
}
//public List<AccountViewModel> GetAdminAccounts()
//{
// return _context.Accounts.Where(x=>x.AdminAreaPermission == "true" && x.IsActiveString == "true").Select(x => new AccountViewModel()
// {
// Id = x.id,
// Fullname = x.Fullname,
// RoleName = x.RoleName,
// Username = x.Username,
// RoleId = x.RoleId,
// Mobile = x.Mobile,
// CreationDateGr = x.CreationDate,
// IsActiveString = x.IsActiveString,
#endregion
// }).ToList();
//}
#endregion
}