LeftWorkAccount Table created - workshop Account edited table
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace AccountManagement.Application.Contracts.Account;
|
||||
|
||||
public class AccountLeftWorkViewModel
|
||||
{
|
||||
|
||||
public string AccountFullName { get; set; }
|
||||
public long AccountId { get; set; }
|
||||
public string StartDateFa { get; set; }
|
||||
public string LeftDateFa { get; set; }
|
||||
public List<AccountViewModel> AccountList { get; set; }
|
||||
public List<WorkshopAccountlistViewModel> WorkshopAccountlist { get; set; }
|
||||
}
|
||||
@@ -28,8 +28,10 @@ namespace AccountManagement.Application.Contracts.Account
|
||||
OperationResult DeActive(long id);
|
||||
OperationResult DirectLogin(long id);
|
||||
|
||||
#region Mahan
|
||||
List<AccountViewModel> AccountsForAssign(long accountId);
|
||||
AccountLeftWorkViewModel WorkshopList(long accountId);
|
||||
|
||||
#region Mahan
|
||||
List<AccountViewModel> AccountsForAssign(long accountId);
|
||||
List<AccountViewModel> GetAccountsByPositionId(long positionId);
|
||||
|
||||
List<AccountViewModel> GetAccountLowerPositionvalue();
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
namespace AccountManagement.Application.Contracts.Account;
|
||||
|
||||
public class WorkshopAccountlistViewModel
|
||||
{
|
||||
public long WorkshopId { get; set; }
|
||||
public string WorkshopName { get; set; }
|
||||
public long AccountId { get; set; }
|
||||
public string ContractAndCheckout { get; set; }
|
||||
public string Insurance { get; set; }
|
||||
public string Tax { get; set; }
|
||||
public string IsActiveSting { get; set; }
|
||||
}
|
||||
@@ -8,6 +8,7 @@ using System.Runtime.InteropServices;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application.Sms;
|
||||
using AccountManagement.Domain.AccountLeftWorkAgg;
|
||||
using AccountManagement.Domain.CameraAccountAgg;
|
||||
using AccountManagement.Domain.RoleAgg;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
@@ -27,16 +28,18 @@ public class AccountApplication : IAccountApplication
|
||||
private readonly ISmsService _smsService;
|
||||
private readonly ICameraAccountRepository _cameraAccountRepository;
|
||||
private readonly IPositionRepository _positionRepository;
|
||||
private readonly IAccountLeftworkRepository _accountLeftworkRepository;
|
||||
|
||||
|
||||
public AccountApplication(IAccountRepository accountRepository, IPasswordHasher passwordHasher,
|
||||
IFileUploader fileUploader, IAuthHelper authHelper, IRoleRepository roleRepository, IWorker worker, ISmsService smsService, ICameraAccountRepository cameraAccountRepository, IPositionRepository positionRepository)
|
||||
IFileUploader fileUploader, IAuthHelper authHelper, IRoleRepository roleRepository, IWorker worker, ISmsService smsService, ICameraAccountRepository cameraAccountRepository, IPositionRepository positionRepository, IAccountLeftworkRepository accountLeftworkRepository)
|
||||
{
|
||||
_authHelper = authHelper;
|
||||
_roleRepository = roleRepository;
|
||||
_smsService = smsService;
|
||||
_cameraAccountRepository = cameraAccountRepository;
|
||||
_positionRepository = positionRepository;
|
||||
_accountLeftworkRepository = accountLeftworkRepository;
|
||||
_fileUploader = fileUploader;
|
||||
_passwordHasher = passwordHasher;
|
||||
_accountRepository = accountRepository;
|
||||
@@ -411,6 +414,24 @@ public class AccountApplication : IAccountApplication
|
||||
return operation.Succcedded(2);
|
||||
}
|
||||
|
||||
public AccountLeftWorkViewModel WorkshopList(long accountId)
|
||||
{
|
||||
string fullName = _accountRepository.GetById(accountId).Fullname;
|
||||
var list =_accountLeftworkRepository.WorkshopList(accountId);
|
||||
var lefts = _accountLeftworkRepository.GetByAccountId(accountId);
|
||||
var result = new AccountLeftWorkViewModel
|
||||
{
|
||||
AccountId = accountId,
|
||||
AccountFullName = fullName,
|
||||
StartDateFa = lefts.StartWorkFa,
|
||||
LeftDateFa = lefts.LeftWorkFa,
|
||||
WorkshopAccountlist = list,
|
||||
};
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
public List<AccountViewModel> AccountsForAssign(long accountId)
|
||||
{
|
||||
return _accountRepository.AccountsForAssign(accountId);
|
||||
|
||||
@@ -7,6 +7,7 @@ using AccountManagement.Application.Contracts.Task;
|
||||
using AccountManagement.Application.Contracts.TaskSubject;
|
||||
using AccountManagement.Application.Contracts.Ticket;
|
||||
using AccountManagement.Domain.AccountAgg;
|
||||
using AccountManagement.Domain.AccountLeftWorkAgg;
|
||||
using AccountManagement.Domain.AssignAgg;
|
||||
using AccountManagement.Domain.CameraAccountAgg;
|
||||
using AccountManagement.Domain.MediaAgg;
|
||||
@@ -16,6 +17,7 @@ using AccountManagement.Domain.TaskSubjectAgg;
|
||||
using AccountManagement.Domain.TicketAgg;
|
||||
using AccountMangement.Infrastructure.EFCore;
|
||||
using AccountMangement.Infrastructure.EFCore.Repository;
|
||||
using Company.Domain.WorkshopAccountAgg;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using TaskManager.Application;
|
||||
@@ -37,8 +39,11 @@ namespace AccountManagement.Configuration
|
||||
services.AddTransient<ICameraAccountApplication, CameraAccountApplication>();
|
||||
services.AddTransient<ICameraAccountRepository, CameraAccountRepository>();
|
||||
|
||||
#region Mahan
|
||||
services.AddTransient<IPositionRepository, PositionRepository>();
|
||||
services.AddTransient<IAccountLeftworkRepository, AccountLeftworkRepository>();
|
||||
|
||||
//services.AddTransient<IWorkshopAccountRepository, IWorkshopAccountRepository>();
|
||||
#region Mahan
|
||||
services.AddTransient<IPositionRepository, PositionRepository>();
|
||||
services.AddTransient<IPositionApplication, PositionApplication>();
|
||||
|
||||
services.AddTransient<ITaskApplication, TaskApplication>();
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using _0_Framework.Domain;
|
||||
using AccountManagement.Domain.AccountLeftWorkAgg;
|
||||
using AccountManagement.Domain.CameraAccountAgg;
|
||||
using AccountManagement.Domain.RoleAgg;
|
||||
using TaskManager.Domain.PositionAgg;
|
||||
@@ -33,6 +34,7 @@ namespace AccountManagement.Domain.AccountAgg
|
||||
#endregion
|
||||
|
||||
public List<CameraAccount> CameraAccounts { get; private set; }
|
||||
public List<AccountLeftWork> AccountLeftWorkList { get; set; }
|
||||
public Account(string fullname, string username, string password, string mobile,
|
||||
long roleId, string profilePhoto, string roleName, string adminAreaPermission, string clientAriaPermission)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using _0_Framework.Domain;
|
||||
using AccountManagement.Application.Contracts.Account;
|
||||
using AccountManagement.Domain.AccountAgg;
|
||||
|
||||
namespace AccountManagement.Domain.AccountLeftWorkAgg;
|
||||
|
||||
public class AccountLeftWork : EntityBase
|
||||
{
|
||||
public AccountLeftWork(DateTime startWorkGr, DateTime leftWorkGr, long accountId)
|
||||
{
|
||||
StartWorkGr = startWorkGr;
|
||||
LeftWorkGr = leftWorkGr;
|
||||
AccountId = accountId;
|
||||
}
|
||||
|
||||
public DateTime StartWorkGr { get; private set; }
|
||||
public DateTime LeftWorkGr { get; private set; }
|
||||
public long AccountId { get; private set; }
|
||||
public Account Account { get; set; }
|
||||
|
||||
public void Edit(DateTime startWorkGr, DateTime leftWorkGr)
|
||||
{
|
||||
StartWorkGr = startWorkGr;
|
||||
LeftWorkGr = leftWorkGr;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using _0_Framework.Domain;
|
||||
using AccountManagement.Application.Contracts.Account;
|
||||
|
||||
namespace AccountManagement.Domain.AccountLeftWorkAgg;
|
||||
|
||||
public interface IAccountLeftworkRepository : IRepository<long, AccountLeftWork>
|
||||
{
|
||||
(string StartWorkFa, string LeftWorkFa) GetByAccountId(long accountId);
|
||||
List<WorkshopAccountlistViewModel> WorkshopList(long accountId);
|
||||
}
|
||||
@@ -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; }
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
768
AccountMangement.Infrastructure.EFCore/Migrations/20240722150241_AccountLeftworkTable.Designer.cs
generated
Normal file
768
AccountMangement.Infrastructure.EFCore/Migrations/20240722150241_AccountLeftworkTable.Designer.cs
generated
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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");
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using System.Collections.Generic;
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.Workshop;
|
||||
|
||||
namespace Company.Domain.WorkshopAccountAgg;
|
||||
|
||||
public interface IWorkshopAccountRepository: IRepository<long, WorkshopAccount>
|
||||
{
|
||||
List<WorkshopAccountViewModel> GetList(long accountId);
|
||||
}
|
||||
@@ -8,6 +8,9 @@ public class WorkshopAccount
|
||||
public long WorkshopId { get; set; }
|
||||
public Workshop Workshop { get; set; }
|
||||
public long AccountId { get; set; }
|
||||
public string ContractAndCheckout { get; set; }
|
||||
public string Insurance { get; set; }
|
||||
public string Tax { get; set; }
|
||||
public string IsActiveSting { get; set; }
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
namespace CompanyManagment.App.Contracts.Workshop;
|
||||
|
||||
public class WorkshopAccountViewModel
|
||||
{
|
||||
public long WorkshopId { get; set; }
|
||||
public string WorkshopName { get; set; }
|
||||
public long AccountId { get; set; }
|
||||
public string ContractAndCheckout { get; set; }
|
||||
public string Insurance { get; set; }
|
||||
public string Tax { get; set; }
|
||||
public string IsActiveSting { get; set; }
|
||||
}
|
||||
@@ -11,11 +11,15 @@ public class WorkshopAccountMapping : IEntityTypeConfiguration<WorkshopAccount>
|
||||
builder.ToTable("WorkshopeAccounts");
|
||||
builder.HasKey(x => new { x.WorkshopId, x.AccountId });
|
||||
|
||||
//builder.HasOne(x => x.Workshop)
|
||||
// .WithMany(x => x.WorkshopAccounts)
|
||||
// .HasForeignKey(x => x.WorkshopId);
|
||||
//builder.HasOne(x => x.Account)
|
||||
// .WithMany(x => x.WorkshopAccounts)
|
||||
// .HasForeignKey(x => x.AccountId);
|
||||
}
|
||||
builder.Property(x => x.ContractAndCheckout).HasMaxLength(5);
|
||||
builder.Property(x => x.Insurance).HasMaxLength(5);
|
||||
builder.Property(x => x.Tax).HasMaxLength(5);
|
||||
builder.Property(x => x.IsActiveSting).HasMaxLength(5);
|
||||
//builder.HasOne(x => x.Workshop)
|
||||
// .WithMany(x => x.WorkshopAccounts)
|
||||
// .HasForeignKey(x => x.WorkshopId);
|
||||
//builder.HasOne(x => x.Account)
|
||||
// .WithMany(x => x.WorkshopAccounts)
|
||||
// .HasForeignKey(x => x.AccountId);
|
||||
}
|
||||
}
|
||||
5588
CompanyManagment.EFCore/Migrations/20240722142811_accessWorkshopAccount.Designer.cs
generated
Normal file
5588
CompanyManagment.EFCore/Migrations/20240722142811_accessWorkshopAccount.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,62 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class accessWorkshopAccount : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Checkout",
|
||||
table: "WorkshopeAccounts",
|
||||
type: "nvarchar(5)",
|
||||
maxLength: 5,
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Contract",
|
||||
table: "WorkshopeAccounts",
|
||||
type: "nvarchar(5)",
|
||||
maxLength: 5,
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Insurance",
|
||||
table: "WorkshopeAccounts",
|
||||
type: "nvarchar(5)",
|
||||
maxLength: 5,
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Tax",
|
||||
table: "WorkshopeAccounts",
|
||||
type: "nvarchar(5)",
|
||||
maxLength: 5,
|
||||
nullable: true);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Checkout",
|
||||
table: "WorkshopeAccounts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Contract",
|
||||
table: "WorkshopeAccounts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Insurance",
|
||||
table: "WorkshopeAccounts");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Tax",
|
||||
table: "WorkshopeAccounts");
|
||||
}
|
||||
}
|
||||
}
|
||||
5588
CompanyManagment.EFCore/Migrations/20240722175337_WorkshopAccountEdted.Designer.cs
generated
Normal file
5588
CompanyManagment.EFCore/Migrations/20240722175337_WorkshopAccountEdted.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,38 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class WorkshopAccountEdted : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "Contract",
|
||||
table: "WorkshopeAccounts",
|
||||
newName: "IsActiveSting");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "Checkout",
|
||||
table: "WorkshopeAccounts",
|
||||
newName: "ContractAndCheckout");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "IsActiveSting",
|
||||
table: "WorkshopeAccounts",
|
||||
newName: "Contract");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "ContractAndCheckout",
|
||||
table: "WorkshopeAccounts",
|
||||
newName: "Checkout");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3983,6 +3983,22 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
b.Property<long>("AccountId")
|
||||
.HasColumnType("bigint");
|
||||
|
||||
b.Property<string>("ContractAndCheckout")
|
||||
.HasMaxLength(5)
|
||||
.HasColumnType("nvarchar(5)");
|
||||
|
||||
b.Property<string>("Insurance")
|
||||
.HasMaxLength(5)
|
||||
.HasColumnType("nvarchar(5)");
|
||||
|
||||
b.Property<string>("IsActiveSting")
|
||||
.HasMaxLength(5)
|
||||
.HasColumnType("nvarchar(5)");
|
||||
|
||||
b.Property<string>("Tax")
|
||||
.HasMaxLength(5)
|
||||
.HasColumnType("nvarchar(5)");
|
||||
|
||||
b.HasKey("WorkshopId", "AccountId");
|
||||
|
||||
b.ToTable("WorkshopeAccounts", (string)null);
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Linq;
|
||||
using _0_Framework.InfraStructure;
|
||||
using Company.Domain.WorkshopAccountAgg;
|
||||
using CompanyManagment.App.Contracts.Workshop;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace CompanyManagment.EFCore.Repository;
|
||||
|
||||
public class WorkshopAccountRepository : RepositoryBase<long, WorkshopAccount>, IWorkshopAccountRepository
|
||||
{
|
||||
private readonly CompanyContext _Context;
|
||||
public WorkshopAccountRepository(CompanyContext context) : base(context)
|
||||
{
|
||||
_Context = context;
|
||||
|
||||
}
|
||||
|
||||
[SuppressMessage("ReSharper.DPA", "DPA0007: Large number of DB records", MessageId = "count: 509")]
|
||||
public List<WorkshopAccountViewModel> GetList(long accountId)
|
||||
{
|
||||
return _Context.WorkshopAccounts.Include(x=>x.Workshop).Where(x => x.AccountId == accountId).Select(x => new WorkshopAccountViewModel()
|
||||
{
|
||||
WorkshopId = x.WorkshopId,
|
||||
AccountId = x.AccountId,
|
||||
ContractAndCheckout = x.ContractAndCheckout,
|
||||
Insurance = x.Insurance,
|
||||
Tax = x.Tax,
|
||||
IsActiveSting = x.IsActiveSting,
|
||||
WorkshopName = x.Workshop.WorkshopFullName,
|
||||
|
||||
|
||||
}).ToList();
|
||||
}
|
||||
}
|
||||
@@ -161,6 +161,7 @@ using CompanyManagment.App.Contracts.RollCallService;
|
||||
using CompanyManagment.App.Contracts.RollCallPlan;
|
||||
using Company.Domain.ReportClientAgg;
|
||||
using Company.Domain.TaxJobCategoryAgg;
|
||||
using Company.Domain.WorkshopAccountAgg;
|
||||
using CompanyManagment.App.Contracts.ReportClient;
|
||||
using CompanyManagment.App.Contracts.TaxJobCategory;
|
||||
|
||||
@@ -344,7 +345,7 @@ public class PersonalBootstrapper
|
||||
|
||||
services.AddTransient<IRollCallMandatoryRepository, RollCallMandatoryRepository>();
|
||||
services.AddTransient<IRollCallMandatoryApplication, RollCallMandatoryApplication>();
|
||||
|
||||
services.AddTransient<IWorkshopAccountRepository, WorkshopAccountRepository>();
|
||||
//=========End Of Main====================================
|
||||
|
||||
//---File Project------------------------------------
|
||||
|
||||
@@ -0,0 +1,313 @@
|
||||
@model AccountManagement.Application.Contracts.Account.AccountLeftWorkViewModel
|
||||
@{
|
||||
<style>
|
||||
.modal-dialog {
|
||||
width: 60% !important;
|
||||
}
|
||||
.box{
|
||||
|
||||
background-color: #cee8d9;
|
||||
align-items: center;
|
||||
padding: 7px;
|
||||
border-radius: 10px;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.box2{
|
||||
|
||||
background-color: #d8f1f1;
|
||||
align-items: center;
|
||||
padding: 7px;
|
||||
border-radius: 10px;
|
||||
|
||||
|
||||
}
|
||||
|
||||
.mess {
|
||||
height: 630px;
|
||||
overflow-y: scroll;
|
||||
background: aliceblue;
|
||||
box-shadow: 0px 1px 15px 0 #b4c0b2;
|
||||
border-radius: 20px;
|
||||
margin-bottom: 20px;
|
||||
padding: 15px;
|
||||
font-size: 12px;
|
||||
|
||||
}
|
||||
.date{
|
||||
background-color: #fafafa;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
font-size: 14px;
|
||||
border: 1px solid #c7c7c7 !important;
|
||||
-webkit-border-radius: 2px;
|
||||
-moz-border-radius: 2px;
|
||||
border-radius: 10px;
|
||||
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
border: 1px solid #eee;
|
||||
box-shadow: none;
|
||||
text-align : center;
|
||||
|
||||
}
|
||||
|
||||
.mess::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
.mess::-webkit-scrollbar-track {
|
||||
background-color: #8bd8ed42;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.mess::-webkit-scrollbar-thumb {
|
||||
background-color: #3159adb8;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.mess::-webkit-scrollbar-thumb:hover {
|
||||
background-color: #aaa;
|
||||
}
|
||||
@@media screen and (max-width: 1920px) {
|
||||
.modal-dialog {
|
||||
width: 60% !important;
|
||||
}
|
||||
}
|
||||
|
||||
@@media screen and (max-width: 1440px) {
|
||||
.modal-dialog {
|
||||
width: 60% !important;
|
||||
}
|
||||
}
|
||||
|
||||
@@media screen and (max-width: 1360px) {
|
||||
.modal-dialog {
|
||||
width: 70% !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@media screen and (max-width: 992px) {
|
||||
.modal-dialog {
|
||||
width: 90% !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.checkbox-wrapper-26 * {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.checkbox-wrapper-26 input[type="checkbox"] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.checkbox-wrapper-26 label {
|
||||
--size: 21px;
|
||||
--shadow: calc(var(--size) * .07) calc(var(--size) * .1);
|
||||
position: relative;
|
||||
display: block;
|
||||
width: var(--size);
|
||||
height: var(--size);
|
||||
margin: 0 auto;
|
||||
background-color: #8db5d7;
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
transition: 0.2s ease transform, 0.2s ease background-color, 0.2s ease box-shadow;
|
||||
overflow: hidden;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.checkbox-wrapper-26 label:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
right: 0;
|
||||
left: 0;
|
||||
width: calc(var(--size) * .7);
|
||||
height: calc(var(--size) * .7);
|
||||
margin: 0 auto;
|
||||
background-color: #fff;
|
||||
transform: translateY(-50%);
|
||||
border-radius: 50%;
|
||||
|
||||
transition: 0.2s ease width, 0.2s ease height;
|
||||
}
|
||||
|
||||
.checkbox-wrapper-26 label:hover:before {
|
||||
width: calc(var(--size) * .55);
|
||||
height: calc(var(--size) * .55);
|
||||
|
||||
}
|
||||
|
||||
.checkbox-wrapper-26 label:active {
|
||||
transform: scale(0.9);
|
||||
}
|
||||
|
||||
.checkbox-wrapper-26 .tick_mark {
|
||||
position: absolute;
|
||||
top: -1px;
|
||||
right: 0;
|
||||
left: calc(var(--size) * -.05);
|
||||
width: calc(var(--size) * .6);
|
||||
height: calc(var(--size) * .6);
|
||||
margin: 0 auto;
|
||||
margin-left: calc(var(--size) * .14);
|
||||
transform: rotateZ(-40deg);
|
||||
}
|
||||
|
||||
.checkbox-wrapper-26 .tick_mark:before,
|
||||
.checkbox-wrapper-26 .tick_mark:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
background-color: #fff;
|
||||
border-radius: 2px;
|
||||
opacity: 0;
|
||||
transition: 0.2s ease transform, 0.2s ease opacity;
|
||||
}
|
||||
|
||||
.checkbox-wrapper-26 .tick_mark:before {
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: calc(var(--size) * .1);
|
||||
height: calc(var(--size) * .3);
|
||||
box-shadow: -2px 0 5px rgba(0, 0, 0, 0.23);
|
||||
transform: translateY(calc(var(--size) * -.68));
|
||||
}
|
||||
|
||||
.checkbox-wrapper-26 .tick_mark:after {
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: calc(var(--size) * .1);
|
||||
box-shadow: 0 3px 5px rgba(0, 0, 0, 0.23);
|
||||
transform: translateX(calc(var(--size) * .78));
|
||||
}
|
||||
|
||||
.checkbox-wrapper-26 input[type="checkbox"]:checked + label {
|
||||
background-color: #07d410;
|
||||
box-shadow: 0 var(--shadow) #92ff97;
|
||||
}
|
||||
|
||||
.checkbox-wrapper-26 input[type="checkbox"]:checked + label:before {
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.checkbox-wrapper-26 input[type="checkbox"]:checked + label .tick_mark:before,
|
||||
.checkbox-wrapper-26 input[type="checkbox"]:checked + label .tick_mark:after {
|
||||
transform: translate(0);
|
||||
opacity: 1;
|
||||
}
|
||||
</style>
|
||||
}
|
||||
<div class="modal-header" style="border-bottom: unset">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" style="right: 1%;">×</button>
|
||||
<span style="position: fixed;top: 7px;right:7%;">@Model.AccountFullName</span>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row box2" style="margin-top:17px;">
|
||||
<div class="col-sm-4">
|
||||
<span>کپی کارگاه ها به</span> <span> </span><span>:</span>
|
||||
<span dir="ltr"> <input type="text" asp-for="StartDateFa" class="date" /></span>
|
||||
<a type="button" class="btn btn-success red">
|
||||
<span>تایید</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4 ">
|
||||
<span>ترک کار</span> <span> </span><span>:</span>
|
||||
<span dir="ltr"> <input type="text" asp-for="LeftDateFa" class="date" /></span>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<span>شروع بکار</span> <span> </span><span>:</span>
|
||||
<span dir="ltr"> <input type="text" asp-for="StartDateFa" class="date" /></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row box2" style="margin-top: 4px;font-size: 12px;background-color: #b5d6e3; ">
|
||||
|
||||
<div class="col-sm-6 " style="text-align: center">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<span>--</span>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<span>بیمه</span>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<span>مالیات</span>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<span>قرداد و تصفیه</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<span>نام کارگاه</span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mess" style="margin-top: 5px;">
|
||||
|
||||
@foreach (var item in @Model.WorkshopAccountlist)
|
||||
{
|
||||
<div class="row box" style="margin-top: 3px; direction: rtl">
|
||||
|
||||
<div class="col-sm-6 ">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<div class="checkbox-wrapper-26">
|
||||
<input type="checkbox" id="tax+@item.WorkshopId">
|
||||
<label for="tax+@item.WorkshopId">
|
||||
<div class="tick_mark"></div>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<div class="checkbox-wrapper-26">
|
||||
<input type="checkbox" id="insurance+@item.WorkshopId">
|
||||
<label for="insurance+@item.WorkshopId">
|
||||
<div class="tick_mark"></div>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<div class="checkbox-wrapper-26">
|
||||
<input type="checkbox" id="contractAndChekouts+@item.WorkshopId">
|
||||
<label for="contractAndChekouts+@item.WorkshopId">
|
||||
<div class="tick_mark"></div>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<span> @item.WorkshopName</span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -243,6 +243,10 @@
|
||||
href="#showmodal=@Url.Page("./Index", "Edit", new { item.Id })">
|
||||
<i class="fa fa-edit faSize"></i>
|
||||
</a>
|
||||
<a class="btn btn-success pull-right m-rl-5 red"
|
||||
href="#showmodal=@Url.Page("./Index", "AccountWorkshop", new { item.Id })">
|
||||
<i class="fa fa-edit faSize"></i>
|
||||
</a>
|
||||
@if (item.IsActiveString == "true" && item.Role != "مدیر سیستم")
|
||||
{
|
||||
<a onclick="deActive(@item.Id, '@item.Fullname')" class="btn btn-danger pull-right m-rl-5 red">
|
||||
|
||||
@@ -208,4 +208,13 @@ public class IndexModel : PageModel
|
||||
isSuccess = false
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnGetAccountWorkshop(long id)
|
||||
{
|
||||
var res = _accountApplication.WorkshopList(id);
|
||||
|
||||
|
||||
|
||||
return Partial("AccountLeftWork", res);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
@page
|
||||
@using Version = _0_Framework.Application.Version
|
||||
@model IndexModel
|
||||
@model ServiceHost.Areas.Client.Pages.IndexModel
|
||||
|
||||
@{
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
@@ -11,47 +12,47 @@
|
||||
<!-- MAIN CONTENT -->
|
||||
<div class="p-2 content-container">
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-12 col-xl-7 mb-3 mb-xl-0 d-none d-md-block">
|
||||
<div class="card px-2">
|
||||
<div class="dashboard-image-section">
|
||||
<div class="overlay">
|
||||
<div class="p-4 text-white">
|
||||
<h3>به سامانه گزارشگیر خوش آمدید</h3>
|
||||
<h5>خوش آمدید به دنیای پرانرژی سامانه هوشمند مدیریت منابع انسانی. ما خوشحالیم که شما را در اینجا میبینیم.</h5>
|
||||
</div>
|
||||
</div>
|
||||
<img src="~/AssetsClient/images/dashboard.jpg" alt="" class="img-fluid">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-lg-12 col-xl-5">
|
||||
<div class="card px-2">
|
||||
<div class="d-flex align-items-center justify-content-between d-none d-md-flex">
|
||||
<div>
|
||||
<h5 class="title">تقویم</h5>
|
||||
</div>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-12 col-xl-7 mb-3 mb-xl-0 d-none d-md-block">
|
||||
<div class="card px-2">
|
||||
<div class="dashboard-image-section">
|
||||
<div class="overlay">
|
||||
<div class="p-4 text-white">
|
||||
<h3>به سامانه گزارشگیر خوش آمدید</h3>
|
||||
<h5>خوش آمدید به دنیای پرانرژی سامانه هوشمند مدیریت منابع انسانی. ما خوشحالیم که شما را در اینجا میبینیم.</h5>
|
||||
</div>
|
||||
</div>
|
||||
<img src="~/AssetsClient/images/dashboard.jpg" alt="" class="img-fluid">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-lg-12 col-xl-5">
|
||||
<div class="card px-2">
|
||||
<div class="d-flex align-items-center justify-content-between d-none d-md-flex">
|
||||
<div>
|
||||
<h5 class="title">تقویم</h5>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h5 class="title">@Model.TodayDate</h5>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h5 class="title">@Model.TodayDate</h5>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="weekDisplay">
|
||||
@foreach (var calender in Model.CalenderViewModels)
|
||||
{
|
||||
<div class="wDisplayDay @(calender.IsToday ? "active" : "")">
|
||||
<p class="dayNameX @(calender.Holiday || calender.DayOfWeek == "آدینه" ? "text-danger" : "")">@calender.DayOfWeek</p>
|
||||
<h3 class="dayNumY @(calender.Holiday || calender.DayOfWeek == "آدینه" ? "text-danger" : "")">@calender.DayNumber</h3>
|
||||
@* <h3 class="">@calender.Holiday</h3> *@
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* <div class="col-12 col-sm-12 col-md-6 col-lg-6 col-xl-4 mt-3">
|
||||
<div class="weekDisplay">
|
||||
@foreach (var calender in @Model.CalenderViewModels)
|
||||
{
|
||||
<div class="wDisplayDay @(calender.IsToday ? "active" : "")">
|
||||
<p class="dayNameX @(calender.Holiday || @calender.DayOfWeek == "آدینه" ? "text-danger" : "")">@calender.DayOfWeek</p>
|
||||
<h3 class="dayNumY @(calender.Holiday || @calender.DayOfWeek == "آدینه" ? "text-danger" : "")">@calender.DayNumber</h3>
|
||||
@* <h3 class="">@calender.Holiday</h3> *@
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* <div class="col-12 col-sm-12 col-md-6 col-lg-6 col-xl-4 mt-3">
|
||||
<div class="card p-0">
|
||||
<div class="card-btn">
|
||||
<img src="~/AssetsClient/images/btn-image/leave.jpg" class="img-fluid">
|
||||
@@ -69,47 +70,47 @@
|
||||
</div>
|
||||
</div>
|
||||
</div> *@
|
||||
|
||||
<div class="col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 col-xxl-4 mt-3">
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn" id="btnCardLeaveIntro">
|
||||
<div class="content btn-group">
|
||||
<button class="btn loadingButton" onclick="location.href = '#showmodal=@Url.Page("./Index", "LeaveCreate")';">
|
||||
<svg width="50" viewBox="0 0 1000 1000" style="margin: 0 0 0 6px;">
|
||||
<path fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" d="M547.17,761.89H162.16c-34.33,0-62.16-27.83-62.16-62.16V300.26v-51.2c0-34.33,27.83-62.16,62.16-62.16h560.68 c34.33,0,62.16,27.83,62.16,62.16v287.26"/>
|
||||
<line fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="785" y1="296.85" x2="100" y2="296.85"/>
|
||||
<line fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="238" y1="186.89" x2="238" y2="136"/>
|
||||
<line fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="647" y1="186.89" x2="647" y2="136"/>
|
||||
<circle fill="none" stroke="#2FBFBF" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" cx="719" cy="703.61" r="181"/>
|
||||
<line fill="none" stroke="#2FBFBF" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="821.91" y1="703.61" x2="616.09" y2="703.61"/>
|
||||
<line fill="none" stroke="#2FBFBF" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="719" y1="806.52" x2="719" y2="600.69"/>
|
||||
</svg>
|
||||
<p class="btn-title text-nowrap m-0">ثبت مرخصی</p>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<span class="spinner-border spinner-border-sm loading text-white" role="status" aria-hidden="true"></span>
|
||||
</div>
|
||||
</button>
|
||||
<button class="btn loadingButton" onclick="location.href = '/Client/Company/Employees/Leave';">
|
||||
<svg width="50" viewBox="0 0 1000 1000" style="margin: 0 0 0 6px;">
|
||||
<path fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" d="M547.17,761.89H162.16c-34.33,0-62.16-27.83-62.16-62.16V300.26v-51.2c0-34.33,27.83-62.16,62.16-62.16h560.68 c34.33,0,62.16,27.83,62.16,62.16v287.26"/>
|
||||
<line fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="785" y1="296.85" x2="100" y2="296.85"/>
|
||||
<line fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="238" y1="186.89" x2="238" y2="136"/>
|
||||
<line fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="647" y1="186.89" x2="647" y2="136"/>
|
||||
<circle fill="none" stroke="#2FBFBF" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" cx="719" cy="703.61" r="181"/>
|
||||
<line fill="none" stroke="#2FBFBF" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="813.91" y1="717.6" x2="711" y2="717.6"/>
|
||||
<line fill="none" stroke="#2FBFBF" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="711" y1="717" x2="711" y2="591.69"/>
|
||||
</svg>
|
||||
<p class="btn-title text-nowrap m-0">لیست مرخصی</p>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<span class="spinner-border spinner-border-sm loading text-white" role="status" aria-hidden="true"></span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* <div class="col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 col-xxl-4 mt-3">
|
||||
|
||||
<div class="col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 col-xxl-4 mt-3">
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn" id="btnCardLeaveIntro">
|
||||
<div class="content btn-group">
|
||||
<button class="btn loadingButton" onclick="location.href='#showmodal=@Url.Page("./Index", "LeaveCreate")';">
|
||||
<svg width="50" viewBox="0 0 1000 1000" style="margin: 0 0 0 6px;">
|
||||
<path fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" d="M547.17,761.89H162.16c-34.33,0-62.16-27.83-62.16-62.16V300.26v-51.2c0-34.33,27.83-62.16,62.16-62.16h560.68 c34.33,0,62.16,27.83,62.16,62.16v287.26" />
|
||||
<line fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="785" y1="296.85" x2="100" y2="296.85" />
|
||||
<line fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="238" y1="186.89" x2="238" y2="136" />
|
||||
<line fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="647" y1="186.89" x2="647" y2="136" />
|
||||
<circle fill="none" stroke="#2FBFBF" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" cx="719" cy="703.61" r="181" />
|
||||
<line fill="none" stroke="#2FBFBF" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="821.91" y1="703.61" x2="616.09" y2="703.61" />
|
||||
<line fill="none" stroke="#2FBFBF" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="719" y1="806.52" x2="719" y2="600.69" />
|
||||
</svg>
|
||||
<p class="btn-title text-nowrap m-0">ثبت مرخصی</p>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<span class="spinner-border spinner-border-sm loading text-white" role="status" aria-hidden="true"></span>
|
||||
</div>
|
||||
</button>
|
||||
<button class="btn loadingButton" onclick="location.href='/Client/Company/Employees/Leave';">
|
||||
<svg width="50" viewBox="0 0 1000 1000" style="margin: 0 0 0 6px;">
|
||||
<path fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" d="M547.17,761.89H162.16c-34.33,0-62.16-27.83-62.16-62.16V300.26v-51.2c0-34.33,27.83-62.16,62.16-62.16h560.68 c34.33,0,62.16,27.83,62.16,62.16v287.26" />
|
||||
<line fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="785" y1="296.85" x2="100" y2="296.85" />
|
||||
<line fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="238" y1="186.89" x2="238" y2="136" />
|
||||
<line fill="none" stroke="#158D8D" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="647" y1="186.89" x2="647" y2="136" />
|
||||
<circle fill="none" stroke="#2FBFBF" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" cx="719" cy="703.61" r="181" />
|
||||
<line fill="none" stroke="#2FBFBF" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="813.91" y1="717.6" x2="711" y2="717.6" />
|
||||
<line fill="none" stroke="#2FBFBF" stroke-width="40" stroke-linecap="round" stroke-miterlimit="10" x1="711" y1="717" x2="711" y2="591.69" />
|
||||
</svg>
|
||||
<p class="btn-title text-nowrap m-0">لیست مرخصی</p>
|
||||
<div class="spinner-loading loading rounded-0" style="display: none;">
|
||||
<span class="spinner-border spinner-border-sm loading text-white" role="status" aria-hidden="true"></span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* <div class="col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 col-xxl-4 mt-3">
|
||||
<div class="card p-0">
|
||||
<div class="card-section-btn">
|
||||
<div class="content btn-group">
|
||||
@@ -124,73 +125,72 @@
|
||||
</div>
|
||||
</div> *@
|
||||
|
||||
<!--
|
||||
<div class="col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 col-xxl-4 mt-3">
|
||||
<div class="card p-0">
|
||||
@* <div class="card-section-btn" style="background-image: url('AssetsClient/images/btn-image/leave.jpg');background-position: center;background-repeat: no-repeat;background-size: cover;"> *@
|
||||
<div class="card-section-btn" style="background: linear-gradient(270deg, #30C2C2 0%, #15a2a2 100%);">
|
||||
<div class="content">
|
||||
<button class="btn me-3" onclick="location.href='#showmodal=@Url.Page("./Index", "LeaveCreate")';">
|
||||
<span class="btn-title text-nowrap">ثبت مرخصی</span>
|
||||
</button>
|
||||
<button class="btn" onclick="location.href='#showmodal=@Url.Page("./Index", "LeaveList")';">
|
||||
<span class="btn-title text-nowrap">لیست مرخصی</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
<!--
|
||||
<div class="col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 col-xxl-4 mt-3">
|
||||
<div class="card p-0">
|
||||
@* <div class="card-section-btn" style="background-image: url('AssetsClient/images/btn-image/leave.jpg');background-position: center;background-repeat: no-repeat;background-size: cover;"> *@
|
||||
<div class="card-section-btn" style="background: linear-gradient(270deg, #30C2C2 0%, #15a2a2 100%);">
|
||||
<div class="content">
|
||||
<button class="btn me-3" onclick="location.href='#showmodal=@Url.Page("./Index", "LeaveCreate")';">
|
||||
<span class="btn-title text-nowrap">ثبت مرخصی</span>
|
||||
</button>
|
||||
<button class="btn" onclick="location.href='#showmodal=@Url.Page("./Index", "LeaveList")';">
|
||||
<span class="btn-title text-nowrap">لیست مرخصی</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- END MAIN CONTENT -->
|
||||
|
||||
<div id="MainModal" class="modal fade personalListModal" aria-labelledby="myModalLabel" data-bs-backdrop="static" aria-hidden="true" tabindex="-1" style="display: none;">
|
||||
<div class="modal-dialog modal-xxl modal-dialog-centered">
|
||||
<div class="modal-content" id="ModalContent">
|
||||
<div class="modal-dialog modal-xxl modal-dialog-centered">
|
||||
<div class="modal-content" id="ModalContent">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@section Script {
|
||||
<script src="~/assetsclient/js/site.js?ver=@Version.StyleVersion"></script>
|
||||
<script src="~/assetsclient/js/site.js?ver=@Version.StyleVersion"></script>
|
||||
|
||||
<script>
|
||||
<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
$('.loadingButton').on('click',
|
||||
function() {
|
||||
const button = $(this);
|
||||
const loadingDiv = button.find('.loading');
|
||||
loadingDiv.show();
|
||||
});
|
||||
});
|
||||
$(document).ready(function () {
|
||||
$('.loadingButton').on('click', function () {
|
||||
var button = $(this);
|
||||
var loadingDiv = button.find('.loading');
|
||||
loadingDiv.show();
|
||||
});
|
||||
});
|
||||
|
||||
var hasCompletedDashboardTour = localStorage.getItem('hasCompletedDashboardTour');
|
||||
if (!hasCompletedDashboardTour) {
|
||||
introJs().setOptions({
|
||||
nextLabel: 'بعد',
|
||||
prevLabel: 'قبل',
|
||||
doneLabel: 'اتمام',
|
||||
showBullets: false,
|
||||
steps: [
|
||||
{
|
||||
title: 'خوش آمدید به سامانه گزارشگیر 👋',
|
||||
intro: 'برای آموزش این صفحه با ما همراه باشید.'
|
||||
},
|
||||
{
|
||||
title: 'عملیات مربوط به مرخصی',
|
||||
element: document.querySelector('#btnCardLeaveIntro'),
|
||||
intro: 'برای عملیات دسترسی سریع دکمههای مربوط به مرخصی مانند ثبت مرخصی و لیست مرخصی میتوانید از این روش استفاده نمایید.'
|
||||
}
|
||||
]
|
||||
}).start();
|
||||
localStorage.setItem('hasCompletedDashboardTour', true);
|
||||
}
|
||||
</script>
|
||||
var hasCompletedDashboardTour = localStorage.getItem('hasCompletedDashboardTour');
|
||||
if (!hasCompletedDashboardTour) {
|
||||
introJs().setOptions({
|
||||
nextLabel: 'بعد',
|
||||
prevLabel: 'قبل',
|
||||
doneLabel: 'اتمام',
|
||||
showBullets: false,
|
||||
steps: [
|
||||
{
|
||||
title: 'خوش آمدید به سامانه گزارشگیر 👋',
|
||||
intro: 'برای آموزش این صفحه با ما همراه باشید.'
|
||||
},
|
||||
{
|
||||
title: 'عملیات مربوط به مرخصی',
|
||||
element: document.querySelector('#btnCardLeaveIntro'),
|
||||
intro: 'برای عملیات دسترسی سریع دکمههای مربوط به مرخصی مانند ثبت مرخصی و لیست مرخصی میتوانید از این روش استفاده نمایید.'
|
||||
}
|
||||
]
|
||||
}).start();
|
||||
localStorage.setItem('hasCompletedDashboardTour', true);
|
||||
}
|
||||
</script>
|
||||
}
|
||||
@@ -2565,4 +2565,12 @@
|
||||
</Content>-->
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<UpToDateCheckInput Remove="Areas\Admin\Pages\Accounts\Account\AccountLeftWork.cshtml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<_ContentIncludedByDefault Remove="Areas\Admin\Pages\Accounts\Account\AccountLeftWork.cshtml" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
//"MesbahDb": "Data Source=DESKTOP-NUE119G\\MSNEW;Initial Catalog=Mesbah_db;Integrated Security=True"
|
||||
|
||||
//server
|
||||
"MesbahDb": "Data Source=171.22.24.15;Initial Catalog=mesbah_db;Persist Security Info=False;User ID=ir_db;Password=R2rNp[170][3019]#@ATt;TrustServerCertificate=true;"
|
||||
//"MesbahDb": "Data Source=171.22.24.15;Initial Catalog=mesbah_db;Persist Security Info=False;User ID=ir_db;Password=R2rNp[170][3019]#@ATt;TrustServerCertificate=true;"
|
||||
|
||||
//local
|
||||
//"MesbahDb": "Data Source=.;Initial Catalog=Mesbah_db;Integrated Security=True;TrustServerCertificate=true;"
|
||||
"MesbahDb": "Data Source=.;Initial Catalog=Mesbah_db;Integrated Security=True;TrustServerCertificate=true;"
|
||||
},
|
||||
"GoogleRecaptchaV3": {
|
||||
"SiteKey": "6Lfhp_AnAAAAAB79WkrMoHd1k8ir4m8VvfjE7FTH",
|
||||
|
||||
Reference in New Issue
Block a user