uid Autorize for create Employee admin Side
This commit is contained in:
@@ -32,20 +32,22 @@ public class UidService : IUidService
|
||||
var json = JsonConvert.SerializeObject(request);
|
||||
var contentType = new StringContent(json, Encoding.UTF8, "application/json");
|
||||
|
||||
var requestResult = await _httpClient.PostAsync("person/v2", contentType);
|
||||
try
|
||||
{
|
||||
var requestResult = await _httpClient.PostAsync("person/v2", contentType);
|
||||
if (!requestResult.IsSuccessStatusCode)
|
||||
return null;
|
||||
var responseResult = await requestResult.Content.ReadFromJsonAsync<PersonalInfoResponse>();
|
||||
responseResult.BasicInformation.FirstName = responseResult.BasicInformation.FirstName.ToPersian();
|
||||
responseResult.BasicInformation.LastName = responseResult.BasicInformation.LastName.ToPersian();
|
||||
responseResult.BasicInformation.FatherName = responseResult.BasicInformation.FatherName.ToPersian();
|
||||
|
||||
if (responseResult.BasicInformation != null)
|
||||
{
|
||||
responseResult.BasicInformation.FirstName = responseResult.BasicInformation.FirstName?.ToPersian();
|
||||
responseResult.BasicInformation.LastName = responseResult.BasicInformation.LastName?.ToPersian();
|
||||
responseResult.BasicInformation.FatherName = responseResult.BasicInformation.FatherName?.ToPersian();
|
||||
}
|
||||
|
||||
return responseResult;
|
||||
}
|
||||
catch (Exception)
|
||||
catch
|
||||
{
|
||||
|
||||
return null;
|
||||
@@ -63,19 +65,12 @@ public class UidService : IUidService
|
||||
};
|
||||
var json = JsonConvert.SerializeObject(request);
|
||||
var contentType = new StringContent(json, Encoding.UTF8, "application/json");
|
||||
try
|
||||
{
|
||||
var requestResult = await _httpClient.PostAsync("mobile/owner/v2", contentType);
|
||||
if (!requestResult.IsSuccessStatusCode)
|
||||
return null;
|
||||
|
||||
var responseResult = await requestResult.Content.ReadFromJsonAsync<MatchMobileWithNationalCodeResponse>();
|
||||
return responseResult;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
var requestResult = await _httpClient.PostAsync("mobile/owner/v2", contentType);
|
||||
if (!requestResult.IsSuccessStatusCode)
|
||||
return null;
|
||||
}
|
||||
|
||||
var responseResult = await requestResult.Content.ReadFromJsonAsync<MatchMobileWithNationalCodeResponse>();
|
||||
return responseResult;
|
||||
}
|
||||
}
|
||||
@@ -20,14 +20,14 @@ public class Employee : EntityBase
|
||||
{
|
||||
public Employee(string fName, string lName, string fatherName,
|
||||
DateTime dateOfBirth, DateTime dateOfIssue, string placeOfIssue,
|
||||
string nationalCode, string idNumber, string gender, string nationality,
|
||||
string nationalCode, string idNumber, string gender, string nationality, string idNumberSerial , string idNumberSeri ,
|
||||
string phone = null, string address = null, string state = null, string city = null,
|
||||
string maritalStatus = null, string militaryService = null, string levelOfEducation = null, string fieldOfStudy = null,
|
||||
string bankCardNumber = null, string bankBranch = null, string insuranceCode = null, string insuranceHistoryByYear = null,
|
||||
string insuranceHistoryByMonth = null, string numberOfChildren = null, string officePhone = null,
|
||||
string mclsUserName = null, string mclsPassword = null,
|
||||
string eserviceUserName = null, string eservicePassword = null,
|
||||
string taxOfficeUserName = null, string taxOfficepassword = null, string sanaUserName = null, string sanaPassword = null)
|
||||
string taxOfficeUserName = null, string taxOfficepassword = null, string sanaUserName = null, string sanaPassword = null )
|
||||
{
|
||||
FName = fName;
|
||||
LName = lName;
|
||||
@@ -146,6 +146,15 @@ public class Employee : EntityBase
|
||||
/// آیا پرسنل احراز هویت شده است
|
||||
/// </summary>
|
||||
public bool IsAuthorized { get; set; }
|
||||
/// <summary>
|
||||
/// سریال شناسنامه
|
||||
/// </summary>
|
||||
public string IdNumberSerial { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// سری شناسنامه
|
||||
/// </summary>
|
||||
public string IdNumberSeri { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
using System;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.Domain;
|
||||
|
||||
namespace Company.Domain.EmployeeAuthorizeTempAgg;
|
||||
|
||||
public class EmployeeAuthorizeTemp:EntityBase
|
||||
{
|
||||
public EmployeeAuthorizeTemp(Gender gender, string fName, string lName, string fatherName, DateTime birthDate, string nationalCode, string idNumber, string idNumberSerial, string idNumberSeri)
|
||||
{
|
||||
Gender = gender;
|
||||
FName = fName;
|
||||
LName = lName;
|
||||
FatherName = fatherName;
|
||||
BirthDate = birthDate;
|
||||
NationalCode = nationalCode;
|
||||
IdNumber = idNumber;
|
||||
IdNumberSerial = idNumberSerial;
|
||||
IdNumberSeri = idNumberSeri;
|
||||
}
|
||||
|
||||
public Gender Gender { get; private set; }
|
||||
public string FName { get; private set; }
|
||||
public string LName { get; private set; }
|
||||
public string FatherName { get; private set; }
|
||||
public DateTime BirthDate { get; private set; }
|
||||
/// <summary>
|
||||
/// کدملی
|
||||
/// </summary>
|
||||
public string NationalCode { get; set; }
|
||||
/// <summary>
|
||||
/// شماره شناسنامه
|
||||
/// </summary>
|
||||
public string IdNumber { get; set; }
|
||||
/// <summary>
|
||||
/// سریال شناسنامه
|
||||
/// </summary>
|
||||
public string IdNumberSerial { get; set; }
|
||||
/// <summary>
|
||||
/// سری شناسنامه
|
||||
/// </summary>
|
||||
public string IdNumberSeri { get; set; }
|
||||
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Domain;
|
||||
|
||||
namespace Company.Domain.EmployeeAuthorizeTempAgg;
|
||||
|
||||
public interface IEmployeeAuthorizeTempRepository:IRepository<long,EmployeeAuthorizeTemp>
|
||||
{
|
||||
Task<EmployeeAuthorizeTemp> GetByNationalCode(string nationalCode);
|
||||
}
|
||||
@@ -94,4 +94,14 @@ public class CreateEmployee
|
||||
public long WorkshopId { get; set; }
|
||||
public long? PersonelCode { get; set; }
|
||||
|
||||
public bool IsAuthorized { get; set; }
|
||||
/// <summary>
|
||||
/// سریال شناسنامه
|
||||
/// </summary>
|
||||
public string IdNumberSerial { get; set; }
|
||||
/// <summary>
|
||||
/// سری شناسنامه
|
||||
/// </summary>
|
||||
public string IdNumberSeri { get; set; }
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
using _0_Framework.Application;
|
||||
|
||||
namespace CompanyManagment.App.Contracts.Employee;
|
||||
|
||||
public class EmployeeDataFromApiViewModel
|
||||
{
|
||||
public Gender Gender { get; set; }
|
||||
public string FName { get; set; }
|
||||
public string LName { get; set; }
|
||||
public string FatherName { get; set; }
|
||||
public string BirthDate { get; set; }
|
||||
/// <summary>
|
||||
/// کدملی
|
||||
/// </summary>
|
||||
public string NationalCode { get; set; }
|
||||
/// <summary>
|
||||
/// شماره شناسنامه
|
||||
/// </summary>
|
||||
public string IdNumber { get; set; }
|
||||
/// <summary>
|
||||
/// سریال شناسنامه
|
||||
/// </summary>
|
||||
public string IdNumberSerial { get; set; }
|
||||
/// <summary>
|
||||
/// سری شناسنامه
|
||||
/// </summary>
|
||||
public string IdNumberSeri { get; set; }
|
||||
|
||||
}
|
||||
@@ -75,6 +75,8 @@ public interface IEmployeeApplication
|
||||
|
||||
Task<List<EmployeeSelectListViewModel>> WorkedEmployeesInWorkshopSelectList(long workshopId);
|
||||
|
||||
Task<OperationResult<EmployeeDataFromApiViewModel>> GetEmployeeDataFromApi(string nationalCode, string birthDate);
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
@@ -29,6 +29,7 @@ using Company.Domain.RollCallEmployeeAgg;
|
||||
using Company.Domain.CustomizeWorkshopGroupSettingsAgg;
|
||||
using Company.Domain.LeftWorkAgg;
|
||||
using CompanyManagment.App.Contracts.Employee.DTO;
|
||||
using Company.Domain.EmployeeAuthorizeTempAgg;
|
||||
|
||||
namespace CompanyManagment.Application;
|
||||
|
||||
@@ -56,14 +57,10 @@ public class EmployeeAplication : RepositoryBase<long, Employee>, IEmployeeAppli
|
||||
private readonly ILeftWorkRepository _leftWorkRepository;
|
||||
private readonly IPersonnelCodeRepository _personnelCodeRepository;
|
||||
private readonly IEmployeeClientTempRepository _employeeClientTempRepository;
|
||||
private readonly ICustomizeWorkshopGroupSettingsRepository _customizeWorkshopGroupSettingsRepository;
|
||||
private readonly IEmployeeAuthorizeTempRepository _employeeAuthorizeTempRepository;
|
||||
|
||||
public EmployeeAplication(IEmployeeRepository employeeRepository, CompanyContext context,
|
||||
IWorkshopRepository workShopRepository, IWebHostEnvironment webHostEnvironment,
|
||||
IRollCallEmployeeStatusApplication rollCallEmployeeStatusApplication, IRollCallEmployeeRepository rollCallEmployeeRepository,
|
||||
ICustomizeWorkshopSettingsApplication customizeWorkshopSettingsApplication, IEmployeeDocumentsApplication employeeDocumentsApplication,
|
||||
IEmployeeBankInformationApplication employeeBankInformationApplication, ILeftWorkTempRepository leftWorkTempRepository,
|
||||
IUidService uidService, ICustomizeWorkshopEmployeeSettingsRepository customizeWorkshopEmployeeSettingsRepository, IPersonnelCodeRepository personnelCodeRepository,
|
||||
IEmployeeClientTempRepository employeeClientTempRepository, ILeftWorkRepository leftWorkRepository) : base(context)
|
||||
public EmployeeAplication(IEmployeeRepository employeeRepository, CompanyContext context, IWorkshopRepository workShopRepository, IWebHostEnvironment webHostEnvironment, IRollCallEmployeeStatusApplication rollCallEmployeeStatusApplication, IRollCallEmployeeRepository rollCallEmployeeRepository, ICustomizeWorkshopSettingsApplication customizeWorkshopSettingsApplication, IEmployeeDocumentsApplication employeeDocumentsApplication, IEmployeeDocumentsRepository employeeDocumentsRepository, IEmployeeBankInformationApplication employeeBankInformationApplication, ILeftWorkTempRepository leftWorkTempRepository, IUidService uidService, ICustomizeWorkshopEmployeeSettingsRepository customizeWorkshopEmployeeSettingsRepository, IPersonnelCodeRepository personnelCodeRepository, IEmployeeClientTempRepository employeeClientTempRepository, ICustomizeWorkshopGroupSettingsRepository customizeWorkshopGroupSettingsRepository, ILeftWorkRepository leftWorkRepository, IEmployeeAuthorizeTempRepository employeeAuthorizeTempRepository) : base(context)
|
||||
{
|
||||
_context = context;
|
||||
_WorkShopRepository = workShopRepository;
|
||||
@@ -79,6 +76,7 @@ public class EmployeeAplication : RepositoryBase<long, Employee>, IEmployeeAppli
|
||||
_personnelCodeRepository = personnelCodeRepository;
|
||||
_employeeClientTempRepository = employeeClientTempRepository;
|
||||
_leftWorkRepository = leftWorkRepository;
|
||||
_employeeAuthorizeTempRepository = employeeAuthorizeTempRepository;
|
||||
_EmployeeRepository = employeeRepository;
|
||||
}
|
||||
|
||||
@@ -203,10 +201,10 @@ public class EmployeeAplication : RepositoryBase<long, Employee>, IEmployeeAppli
|
||||
var dateOfBirth = command.DateOfBirth != null ? command.DateOfBirth.ToGeorgianDateTime() : initial.ToGeorgianDateTime();
|
||||
var dateOfIssue = command.DateOfIssue != null ? command.DateOfIssue.ToGeorgianDateTime() : initial.ToGeorgianDateTime();
|
||||
|
||||
|
||||
|
||||
var employeeData = new Employee(command.FName, command.LName, command.FatherName, dateOfBirth,
|
||||
dateOfIssue,
|
||||
command.PlaceOfIssue, command.NationalCode, command.IdNumber, command.Gender, command.Nationality,
|
||||
command.PlaceOfIssue, command.NationalCode, command.IdNumber, command.Gender, command.Nationality, command.IdNumberSerial, command.IdNumberSeri,
|
||||
command.Phone, command.Address,
|
||||
command.State, command.City, command.MaritalStatus, command.MilitaryService, command.LevelOfEducation,
|
||||
command.FieldOfStudy, command.BankCardNumber,
|
||||
@@ -214,7 +212,10 @@ public class EmployeeAplication : RepositoryBase<long, Employee>, IEmployeeAppli
|
||||
command.InsuranceHistoryByMonth, command.NumberOfChildren, command.OfficePhone, command.MclsUserName, command.MclsPassword, command.EserviceUserName, command.EservicePassword,
|
||||
command.TaxOfficeUserName, command.TaxOfficepassword, command.SanaUserName, command.SanaPassword);
|
||||
|
||||
|
||||
if (command.IsAuthorized)
|
||||
{
|
||||
employeeData.Authorized();
|
||||
}
|
||||
_EmployeeRepository.Create(employeeData);
|
||||
_EmployeeRepository.SaveChanges();
|
||||
|
||||
@@ -1250,10 +1251,10 @@ public class EmployeeAplication : RepositoryBase<long, Employee>, IEmployeeAppli
|
||||
var idNumber = identityInfo.ShenasnamehNumber == "0" ? identityInfo.NationalId : identityInfo.ShenasnamehNumber;
|
||||
|
||||
var newEmployee = new Employee(basicInfo.FirstName, basicInfo.LastName, basicInfo.FatherName, apiBirthDate,
|
||||
dateOfIssue, null, identityInfo.NationalId, idNumber, gender, "ایرانی");
|
||||
dateOfIssue, null, identityInfo.NationalId, idNumber, gender, "ایرانی", identityInfo.ShenasnameSerial, identityInfo.ShenasnameSeri);
|
||||
newEmployee.Authorized();
|
||||
await _EmployeeRepository.CreateAsync(newEmployee);
|
||||
await _context.SaveChangesAsync();
|
||||
await _EmployeeRepository.SaveChangesAsync();
|
||||
|
||||
return op.Succcedded(new EmployeeByNationalCodeInWorkshopViewModel()
|
||||
{
|
||||
@@ -1515,5 +1516,105 @@ public class EmployeeAplication : RepositoryBase<long, Employee>, IEmployeeAppli
|
||||
return await _EmployeeRepository.WorkedEmployeesInWorkshopSelectList(workshopId);
|
||||
}
|
||||
|
||||
public async Task<OperationResult<EmployeeDataFromApiViewModel>> GetEmployeeDataFromApi(string nationalCode, string birthDate)
|
||||
{
|
||||
var op = new OperationResult<EmployeeDataFromApiViewModel>();
|
||||
var birthDateGr = birthDate.ToGeorgianDateTime();
|
||||
|
||||
if (_EmployeeRepository.Exists(x => x.NationalCode == nationalCode))
|
||||
{
|
||||
var employee = _EmployeeRepository.GetByNationalCode(nationalCode);
|
||||
|
||||
if (employee.IsAuthorized == false)
|
||||
{
|
||||
var apiResult = await _uidService.GetPersonalInfo(nationalCode, birthDate);
|
||||
|
||||
if (apiResult.ResponseContext.Status.Code != 0)
|
||||
{
|
||||
return op.Failed("کد ملی و تاریخ تولد با هم همخانی ندارند");
|
||||
}
|
||||
var basicInfo = apiResult.BasicInformation;
|
||||
var identityInfo = apiResult.IdentificationInformation;
|
||||
|
||||
var gender = basicInfo.GenderEnum switch
|
||||
{
|
||||
Gender.Female => "زن",
|
||||
Gender.Male => "مرد",
|
||||
_ => throw new AggregateException()
|
||||
};
|
||||
|
||||
var idNumber = identityInfo.ShenasnamehNumber == "0" ? identityInfo.NationalId : identityInfo.ShenasnamehNumber;
|
||||
employee.Edit(basicInfo.FirstName, basicInfo.LastName, basicInfo.FatherName, birthDateGr,
|
||||
employee.DateOfIssue, employee.PlaceOfIssue, identityInfo.NationalId, idNumber,
|
||||
gender, "ایرانی", employee.Phone, employee.Address, employee.State, employee.City,
|
||||
employee.MaritalStatus, employee.MilitaryService, employee.LevelOfEducation,
|
||||
employee.FieldOfStudy, employee.BankCardNumber, employee.BankBranch, employee.InsuranceCode, employee.InsuranceHistoryByYear,
|
||||
employee.InsuranceHistoryByMonth, employee.NumberOfChildren,
|
||||
employee.OfficePhone, employee.MclsUserName, employee.MclsPassword,
|
||||
employee.EserviceUserName, employee.EservicePassword, employee.TaxOfficeUserName,
|
||||
employee.TaxOfficepassword, employee.SanaUserName, employee.SanaPassword);
|
||||
|
||||
employee.Authorized();
|
||||
await _EmployeeRepository.SaveChangesAsync();
|
||||
}
|
||||
|
||||
return op.Failed("این پرسنل در بانک اطلاعات موجود میباشد");
|
||||
}
|
||||
else
|
||||
{
|
||||
EmployeeDataFromApiViewModel data;
|
||||
if (_employeeAuthorizeTempRepository.Exists(x => x.NationalCode == nationalCode))
|
||||
{
|
||||
var employeeAuthorizeTemp = await _employeeAuthorizeTempRepository.GetByNationalCode(nationalCode);
|
||||
if (employeeAuthorizeTemp.BirthDate.ToFarsi() != birthDate)
|
||||
{
|
||||
return op.Failed("کد ملی و تاریخ تولد با هم همخانی ندارند");
|
||||
}
|
||||
|
||||
data = new EmployeeDataFromApiViewModel()
|
||||
{
|
||||
BirthDate = employeeAuthorizeTemp.BirthDate.ToFarsi(),
|
||||
NationalCode = employeeAuthorizeTemp.NationalCode,
|
||||
IdNumber = employeeAuthorizeTemp.IdNumber,
|
||||
FName = employeeAuthorizeTemp.FName,
|
||||
FatherName = employeeAuthorizeTemp.FatherName,
|
||||
Gender = employeeAuthorizeTemp.Gender,
|
||||
LName = employeeAuthorizeTemp.LName,
|
||||
};
|
||||
return op.Succcedded(data);
|
||||
}
|
||||
var apiResult = await _uidService.GetPersonalInfo(nationalCode, birthDate);
|
||||
|
||||
if (apiResult.ResponseContext.Status.Code != 0)
|
||||
{
|
||||
return op.Failed("کد ملی و تاریخ تولد با هم همخانی ندارند");
|
||||
}
|
||||
var basicInfo = apiResult.BasicInformation;
|
||||
var identityInfo = apiResult.IdentificationInformation;
|
||||
|
||||
data = new EmployeeDataFromApiViewModel()
|
||||
{
|
||||
BirthDate = identityInfo.BirthDate,
|
||||
NationalCode = identityInfo.NationalId,
|
||||
IdNumber = identityInfo.ShenasnamehNumber == "0" ? identityInfo.NationalId : identityInfo.ShenasnamehNumber,
|
||||
FatherName = basicInfo.FatherName,
|
||||
FName = basicInfo.FirstName,
|
||||
Gender = basicInfo.GenderEnum,
|
||||
LName = basicInfo.LastName,
|
||||
IdNumberSeri = identityInfo.ShenasnameSeri,
|
||||
IdNumberSerial = identityInfo.ShenasnameSerial
|
||||
};
|
||||
|
||||
var newAuthorizeTemp = new EmployeeAuthorizeTemp(data.Gender, data.FName, data.LName, data.FatherName, birthDateGr, data.NationalCode, data.IdNumber, data.IdNumberSerial, data.IdNumberSeri);
|
||||
await _employeeAuthorizeTempRepository.CreateAsync(newAuthorizeTemp);
|
||||
await _employeeAuthorizeTempRepository.SaveChangesAsync();
|
||||
|
||||
return op.Succcedded(data);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
}
|
||||
@@ -23,6 +23,7 @@ using Company.Domain.DateSalaryAgg;
|
||||
using Company.Domain.DateSalaryItemAgg;
|
||||
using Company.Domain.EmployeeAccountAgg;
|
||||
using Company.Domain.EmployeeAgg;
|
||||
using Company.Domain.EmployeeAuthorizeTempAgg;
|
||||
using Company.Domain.EmployeeBankInformationAgg;
|
||||
using Company.Domain.EmployeeChildrenAgg;
|
||||
using Company.Domain.EmployeeClientTempAgg;
|
||||
@@ -174,6 +175,7 @@ public class CompanyContext : DbContext
|
||||
public DbSet<EmployeeClientTemp> EmployeeClientTemps { get; set; }
|
||||
public DbSet<LeftWorkTemp> LeftWorkTemps { get; set; }
|
||||
|
||||
public DbSet<EmployeeAuthorizeTemp> EmployeeAuthorizeTemps { get; set; }
|
||||
#endregion
|
||||
|
||||
#region Pooya
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
using Company.Domain.EmployeeAuthorizeTempAgg;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace CompanyManagment.EFCore.Mapping;
|
||||
|
||||
public class EmployeeAuthorizeTempMapping:IEntityTypeConfiguration<EmployeeAuthorizeTemp>
|
||||
{
|
||||
public void Configure(EntityTypeBuilder<EmployeeAuthorizeTemp> builder)
|
||||
{
|
||||
builder.ToTable("EmployeeAuthorizeTemps");
|
||||
builder.HasKey(x => x.id);
|
||||
|
||||
builder.Property(x => x.NationalCode).HasMaxLength(15);
|
||||
builder.Property(x => x.IdNumber).HasMaxLength(15);
|
||||
builder.Property(x => x.FName).HasMaxLength(100);
|
||||
builder.Property(x => x.LName).HasMaxLength(100);
|
||||
builder.Property(x => x.FatherName).HasMaxLength(100);
|
||||
builder.Property(x => x.Gender).HasConversion<string>().HasMaxLength(15);
|
||||
|
||||
builder.Property(x => x.IdNumberSerial).HasMaxLength(25);
|
||||
builder.Property(x => x.IdNumberSeri).HasMaxLength(25);
|
||||
|
||||
builder.HasIndex(x => x.NationalCode).IsUnique();
|
||||
|
||||
}
|
||||
}
|
||||
@@ -80,9 +80,17 @@ public class EmployeeMapping : IEntityTypeConfiguration<Employee>
|
||||
.HasForeignKey(x => x.EmployeeId);
|
||||
|
||||
builder.HasMany(x => x.EmployeeBankInformationList).WithOne(x => x.Employee)
|
||||
.HasForeignKey(x => x.EmployeeId);
|
||||
.HasForeignKey(x => x.EmployeeId);
|
||||
|
||||
builder.Ignore(x => x.FullName);
|
||||
|
||||
#endregion
|
||||
|
||||
#region Mahan
|
||||
|
||||
builder.Property(x => x.IdNumberSerial).HasMaxLength(25);
|
||||
builder.Property(x => x.IdNumberSeri).HasMaxLength(25);
|
||||
|
||||
builder.Ignore(x => x.FullName);
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
9471
CompanyManagment.EFCore/Migrations/20250501111715_add employeeAuthorizeTemp and add serialNumber.Designer.cs
generated
Normal file
9471
CompanyManagment.EFCore/Migrations/20250501111715_add employeeAuthorizeTemp and add serialNumber.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,73 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace CompanyManagment.EFCore.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class addemployeeAuthorizeTempandaddserialNumber : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "IdNumberSeri",
|
||||
table: "Employees",
|
||||
type: "nvarchar(25)",
|
||||
maxLength: 25,
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "IdNumberSerial",
|
||||
table: "Employees",
|
||||
type: "nvarchar(25)",
|
||||
maxLength: 25,
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "EmployeeAuthorizeTemps",
|
||||
columns: table => new
|
||||
{
|
||||
id = table.Column<long>(type: "bigint", nullable: false)
|
||||
.Annotation("SqlServer:Identity", "1, 1"),
|
||||
Gender = table.Column<string>(type: "nvarchar(15)", maxLength: 15, nullable: false),
|
||||
FName = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
|
||||
LName = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
|
||||
FatherName = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
|
||||
BirthDate = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
NationalCode = table.Column<string>(type: "nvarchar(15)", maxLength: 15, nullable: true),
|
||||
IdNumber = table.Column<string>(type: "nvarchar(15)", maxLength: 15, nullable: true),
|
||||
IdNumberSerial = table.Column<string>(type: "nvarchar(25)", maxLength: 25, nullable: true),
|
||||
IdNumberSeri = table.Column<string>(type: "nvarchar(25)", maxLength: 25, nullable: true),
|
||||
CreationDate = table.Column<DateTime>(type: "datetime2", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_EmployeeAuthorizeTemps", x => x.id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_EmployeeAuthorizeTemps_NationalCode",
|
||||
table: "EmployeeAuthorizeTemps",
|
||||
column: "NationalCode",
|
||||
unique: true,
|
||||
filter: "[NationalCode] IS NOT NULL");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "EmployeeAuthorizeTemps");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IdNumberSeri",
|
||||
table: "Employees");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "IdNumberSerial",
|
||||
table: "Employees");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1495,6 +1495,14 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
.HasMaxLength(20)
|
||||
.HasColumnType("nvarchar(20)");
|
||||
|
||||
b.Property<string>("IdNumberSeri")
|
||||
.HasMaxLength(25)
|
||||
.HasColumnType("nvarchar(25)");
|
||||
|
||||
b.Property<string>("IdNumberSerial")
|
||||
.HasMaxLength(25)
|
||||
.HasColumnType("nvarchar(25)");
|
||||
|
||||
b.Property<string>("InsuranceCode")
|
||||
.HasMaxLength(10)
|
||||
.HasColumnType("nvarchar(10)");
|
||||
@@ -1591,6 +1599,62 @@ namespace CompanyManagment.EFCore.Migrations
|
||||
b.ToTable("Employees", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Company.Domain.EmployeeAuthorizeTempAgg.EmployeeAuthorizeTemp", b =>
|
||||
{
|
||||
b.Property<long>("id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("bigint");
|
||||
|
||||
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("id"));
|
||||
|
||||
b.Property<DateTime>("BirthDate")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<DateTime>("CreationDate")
|
||||
.HasColumnType("datetime2");
|
||||
|
||||
b.Property<string>("FName")
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("nvarchar(100)");
|
||||
|
||||
b.Property<string>("FatherName")
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("nvarchar(100)");
|
||||
|
||||
b.Property<string>("Gender")
|
||||
.IsRequired()
|
||||
.HasMaxLength(15)
|
||||
.HasColumnType("nvarchar(15)");
|
||||
|
||||
b.Property<string>("IdNumber")
|
||||
.HasMaxLength(15)
|
||||
.HasColumnType("nvarchar(15)");
|
||||
|
||||
b.Property<string>("IdNumberSeri")
|
||||
.HasMaxLength(25)
|
||||
.HasColumnType("nvarchar(25)");
|
||||
|
||||
b.Property<string>("IdNumberSerial")
|
||||
.HasMaxLength(25)
|
||||
.HasColumnType("nvarchar(25)");
|
||||
|
||||
b.Property<string>("LName")
|
||||
.HasMaxLength(100)
|
||||
.HasColumnType("nvarchar(100)");
|
||||
|
||||
b.Property<string>("NationalCode")
|
||||
.HasMaxLength(15)
|
||||
.HasColumnType("nvarchar(15)");
|
||||
|
||||
b.HasKey("id");
|
||||
|
||||
b.HasIndex("NationalCode")
|
||||
.IsUnique()
|
||||
.HasFilter("[NationalCode] IS NOT NULL");
|
||||
|
||||
b.ToTable("EmployeeAuthorizeTemps", (string)null);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Company.Domain.EmployeeBankInformationAgg.EmployeeBankInformation", b =>
|
||||
{
|
||||
b.Property<long>("id")
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.InfraStructure;
|
||||
using Company.Domain.EmployeeAuthorizeTempAgg;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace CompanyManagment.EFCore.Repository;
|
||||
|
||||
public class EmployeeAuthorizeTempRepository:RepositoryBase<long,EmployeeAuthorizeTemp>, IEmployeeAuthorizeTempRepository
|
||||
{
|
||||
private readonly CompanyContext _context;
|
||||
public EmployeeAuthorizeTempRepository(CompanyContext context) : base(context)
|
||||
{
|
||||
_context = context;
|
||||
}
|
||||
|
||||
public async Task<EmployeeAuthorizeTemp> GetByNationalCode(string nationalCode)
|
||||
{
|
||||
return await _context.EmployeeAuthorizeTemps.FirstOrDefaultAsync(x =>
|
||||
x.NationalCode == nationalCode);
|
||||
}
|
||||
}
|
||||
@@ -450,7 +450,7 @@ public class EmployeeRepository : RepositoryBase<long, Employee>, IEmployeeRepos
|
||||
|
||||
var employeeData = new Employee(command.FName, command.LName, command.FatherName, dateOfBirth,
|
||||
dateOfIssue,
|
||||
command.PlaceOfIssue, command.NationalCode, command.IdNumber, command.Gender, command.Nationality,
|
||||
command.PlaceOfIssue, command.NationalCode, command.IdNumber, command.Gender, command.Nationality,command.IdNumberSerial,command.IdNumberSeri,
|
||||
command.Phone, command.Address,
|
||||
command.State, command.City, command.MaritalStatus, command.MilitaryService, command.LevelOfEducation,
|
||||
command.FieldOfStudy, command.BankCardNumber,
|
||||
|
||||
@@ -205,6 +205,7 @@ using CompanyManagment.App.Contracts.EmployeeClientTemp;
|
||||
using CompanyManagment.App.Contracts.InstitutionPlan;
|
||||
using CompanyManagment.App.Contracts.LeftWorkTemp;
|
||||
using CompanyManagment.App.Contracts.TemporaryClientRegistration;
|
||||
using Company.Domain.EmployeeAuthorizeTempAgg;
|
||||
|
||||
namespace PersonalContractingParty.Config;
|
||||
|
||||
@@ -423,6 +424,9 @@ public class PersonalBootstrapper
|
||||
|
||||
services.AddTransient<ILeftWorkTempRepository, LeftWorkTempRepository>();
|
||||
services.AddTransient<ILeftWorkTempApplication, LeftWorkTempApplication>();
|
||||
|
||||
services.AddTransient<IEmployeeAuthorizeTempRepository, EmployeeAuthorizeTempRepository>();
|
||||
|
||||
#endregion
|
||||
#region Pooya
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -16,7 +16,8 @@
|
||||
</style>
|
||||
}
|
||||
|
||||
<link href="@Href("~/Admintheme/css/personelCreate.css")" rel="stylesheet"/>
|
||||
@* <link href="@Href("~/Admintheme/css/personelCreate.css")" rel="stylesheet"/> *@
|
||||
<link href="@Href("~/Admintheme/css/personelEdit.css")" rel="stylesheet"/>
|
||||
|
||||
<fieldset class="content-fieldset">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
|
||||
@@ -1591,5 +1591,15 @@ public class IndexModel : PageModel
|
||||
});
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
public async Task<IActionResult> OnPostEmployeeDataFromApi(string nationalCode, string birthDate)
|
||||
{
|
||||
var result = await _employeeApplication.GetEmployeeDataFromApi(nationalCode, birthDate);
|
||||
return new JsonResult(new
|
||||
{
|
||||
success = result.IsSuccedded,
|
||||
message = result.Message,
|
||||
data = result.Data
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,13 @@
|
||||
.modal .modal-dialog .modal-content{
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.disable {
|
||||
filter: grayscale(100%);
|
||||
pointer-events: none;
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
@media(min-width: 1650px) {
|
||||
.modal-dialog {
|
||||
margin: auto;
|
||||
@@ -74,7 +81,7 @@
|
||||
}
|
||||
|
||||
.form {
|
||||
position: absolute;
|
||||
/*position: absolute;*/
|
||||
font-size: 1.2rem;
|
||||
width: 100%;
|
||||
}
|
||||
@@ -135,17 +142,31 @@
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.form1, .listForm1 {
|
||||
.formInit {
|
||||
margin-top: 30px;
|
||||
width: 96%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.formInit .formSection {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 30px;
|
||||
height: 45vh;
|
||||
}
|
||||
|
||||
.form1, .listForm1 {
|
||||
/*left: 1200px;*/
|
||||
margin-top: 30px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.form2, .listForm2 {
|
||||
left: 1200px;
|
||||
/*left: 1200px;*/
|
||||
margin-top: 30px;
|
||||
}
|
||||
.form3, .listForm3 {
|
||||
right: 1200px;
|
||||
/*right: 1200px;*/
|
||||
padding: 0 10px;
|
||||
margin: 0;
|
||||
margin-top: 30px;
|
||||
@@ -188,13 +209,15 @@
|
||||
padding: 7px;
|
||||
text-align: center;
|
||||
margin: 0 3px 0 3px;
|
||||
width: 33.33%;
|
||||
/*width: 33.33%;*/
|
||||
width: 25%;
|
||||
z-index: 9;
|
||||
}
|
||||
|
||||
.progressBar {
|
||||
position: absolute;
|
||||
width: 33.33%;
|
||||
/*width: 33.33%;*/
|
||||
width: 25%;
|
||||
background: linear-gradient(90deg, rgba(15,149,0,1) 0%, rgba(53,189,37,1) 18%, rgba(68,207,52,1) 47%, rgba(73,214,57,1) 82%, rgba(15,149,0,1) 100%);
|
||||
height: 103%;
|
||||
right: -1px;
|
||||
|
||||
827
ServiceHost/wwwroot/AdminTheme/css/personelEdit.css
Normal file
827
ServiceHost/wwwroot/AdminTheme/css/personelEdit.css
Normal file
@@ -0,0 +1,827 @@
|
||||
.modal-dialog {
|
||||
width: 55%;
|
||||
margin: 30px auto;
|
||||
}
|
||||
|
||||
#MainModal {
|
||||
backdrop-filter: blur(8px);
|
||||
}
|
||||
|
||||
.modal .modal-dialog .modal-content {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
@media(min-width: 1650px) {
|
||||
.modal-dialog {
|
||||
margin: auto;
|
||||
position: fixed;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%) !important;
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1580px) {
|
||||
.modal-dialog {
|
||||
width: 60%;
|
||||
}
|
||||
}
|
||||
|
||||
.modal .modal-dialog .modal-content {
|
||||
border-radius: 18px;
|
||||
min-height: 68rem;
|
||||
background: #ebebeb;
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.modal .modal-dialog .modal-content {
|
||||
min-height: 80rem;
|
||||
}
|
||||
}
|
||||
|
||||
.form-box {
|
||||
position: relative;
|
||||
padding: 40px 20px;
|
||||
top: 5rem;
|
||||
border: 1px solid #d1d1d1;
|
||||
position: relative;
|
||||
border-radius: 1rem;
|
||||
overflow: hidden;
|
||||
min-height: 57rem;
|
||||
}
|
||||
|
||||
.main-title {
|
||||
position: absolute;
|
||||
width: 17rem;
|
||||
font-size: 1.7rem;
|
||||
background-color: inherit;
|
||||
left: 49%;
|
||||
top: 7px;
|
||||
margin-left: -100px;
|
||||
text-align: center;
|
||||
color: black;
|
||||
border: 1px solid #00000030;
|
||||
border-radius: 9px;
|
||||
padding: 2px 0px;
|
||||
}
|
||||
|
||||
.ltr {
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
.close {
|
||||
margin-top: 12px;
|
||||
margin-left: -19px;
|
||||
font-size: 26px;
|
||||
position: absolute;
|
||||
right: 25px;
|
||||
}
|
||||
|
||||
.form {
|
||||
position: absolute;
|
||||
font-size: 1.2rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.input-type {
|
||||
padding: 0px 8px;
|
||||
}
|
||||
|
||||
.nationality-type {
|
||||
padding: 0.7px 4px;
|
||||
}
|
||||
|
||||
.duty-condition {
|
||||
position: relative;
|
||||
top: -5px;
|
||||
}
|
||||
|
||||
.loc-box {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.loc-text {
|
||||
height: 182px;
|
||||
}
|
||||
|
||||
.insInput {
|
||||
background-color: #d4e9ff;
|
||||
}
|
||||
|
||||
.insInputDate label {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.content-fieldset {
|
||||
width: 95%;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.radio-sections {
|
||||
padding: 15px 7px !important;
|
||||
background: #ffffff6b;
|
||||
border-radius: 7px;
|
||||
border: 1px solid #0000004a;
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: space-evenly;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.form1 .form-group, .listForm1 .form-group {
|
||||
justify-content: space-around;
|
||||
padding: 15px 5px 15px 0;
|
||||
border: 1px solid #e3e3e3;
|
||||
box-shadow: 0px 0px 4px 0px #a7a7a7;
|
||||
background: #e5e5e5;
|
||||
border-radius: 7px;
|
||||
margin: 0;
|
||||
margin-bottom: 15px !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.form1, .listForm1 {
|
||||
margin-top: 30px;
|
||||
width: 96%;
|
||||
}
|
||||
|
||||
.form2, .listForm2 {
|
||||
left: 1200px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.form3, .listForm3 {
|
||||
right: 1200px;
|
||||
padding: 0 10px;
|
||||
margin: 0;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.flexible-wrap {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.form3 legend, .listForm3 legend {
|
||||
margin-bottom: 5px;
|
||||
font-size: 16px;
|
||||
border-bottom: 0px;
|
||||
color: #505458;
|
||||
width: 130px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.form3 fieldset, .listForm3 fieldset {
|
||||
border: 1px solid #999797;
|
||||
border-radius: 10px;
|
||||
padding: 5px 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.steps {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: row-reverse;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0;
|
||||
height: 42px;
|
||||
border: 1px solid #36292947;
|
||||
border-top-right-radius: 7px;
|
||||
border-top-left-radius: 7px;
|
||||
box-shadow: 0 2px 5px 0 rgb(104 106 106 / 49%), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
|
||||
.step {
|
||||
padding: 7px;
|
||||
text-align: center;
|
||||
margin: 0 3px 0 3px;
|
||||
width: 33.33%;
|
||||
z-index: 9;
|
||||
}
|
||||
|
||||
.progressBar {
|
||||
position: absolute;
|
||||
width: 33.33%;
|
||||
background: linear-gradient(90deg, rgba(15,149,0,1) 0%, rgba(53,189,37,1) 18%, rgba(68,207,52,1) 47%, rgba(73,214,57,1) 82%, rgba(15,149,0,1) 100%);
|
||||
height: 103%;
|
||||
right: -1px;
|
||||
top: -1px;
|
||||
transition: 1s;
|
||||
}
|
||||
|
||||
.progressBar:after {
|
||||
content: '';
|
||||
border-top: 20px solid transparent;
|
||||
border-bottom: 20px solid transparent;
|
||||
position: absolute;
|
||||
left: -19px;
|
||||
top: 1px;
|
||||
border-right: 20px solid #0f9500;
|
||||
}
|
||||
|
||||
.radio-box {
|
||||
font-size: 12px;
|
||||
border-radius: 10px;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(15, 1fr);
|
||||
}
|
||||
|
||||
.radio-label {
|
||||
grid-column: 1/7;
|
||||
grid-row: 1;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.radio-input {
|
||||
grid-column: 7 / 16;
|
||||
grid-row: 1;
|
||||
text-align: left;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(15, 1fr);
|
||||
}
|
||||
|
||||
.radio-input label:first-child {
|
||||
grid-column: 1 / 8;
|
||||
}
|
||||
|
||||
.radio-input label:nth-child(2) {
|
||||
grid-column: 8 / 16;
|
||||
}
|
||||
|
||||
.radio-input.nationality {
|
||||
grid-column: 5 / 16;
|
||||
}
|
||||
|
||||
.radio-input.nationality label:first-child {
|
||||
grid-column: 1 / 7;
|
||||
}
|
||||
|
||||
.radio-input.nationality label:nth-child(2) {
|
||||
grid-column: 7 / 16;
|
||||
}
|
||||
|
||||
.form-box input[type="radio"] {
|
||||
margin: 2px 0px;
|
||||
}
|
||||
|
||||
.form-box .radio-input input[type="radio"] {
|
||||
margin: 0 4px 0px 4px;
|
||||
transform: translate(0px,4px);
|
||||
}
|
||||
|
||||
.inputs-box {
|
||||
float: left;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.inputs {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.input {
|
||||
border: 1px solid #0000004a;
|
||||
border-radius: 7px;
|
||||
padding: 7px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.input:focus {
|
||||
box-shadow: 0 2px 5px 0 rgb(136 137 141), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
|
||||
|
||||
#save {
|
||||
background-color: #0f9500;
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#close {
|
||||
background-color: white;
|
||||
color: #323030;
|
||||
}
|
||||
|
||||
.btn-modal {
|
||||
padding: 1rem 0;
|
||||
border-radius: 20px;
|
||||
border: none;
|
||||
font-size: 12px;
|
||||
width: 9rem;
|
||||
}
|
||||
|
||||
.btns {
|
||||
position: absolute;
|
||||
display: inline-flex;
|
||||
bottom: 12px;
|
||||
width: 100%;
|
||||
justify-content: flex-end;
|
||||
margin-right: 50px;
|
||||
}
|
||||
|
||||
.btns-2 {
|
||||
bottom: 15px;
|
||||
margin-right: 17px;
|
||||
}
|
||||
|
||||
.btn-modal.pre, .btn-modal.listPrev {
|
||||
border-top-left-radius: 0px;
|
||||
border-bottom-left-radius: 0px;
|
||||
background-color: #c7c0c0ba;
|
||||
color: #000000b8;
|
||||
margin-left: -4px;
|
||||
}
|
||||
|
||||
.btn-modal.next, .btn-modal.listNext {
|
||||
border-top-right-radius: 0px;
|
||||
border-bottom-right-radius: 0px;
|
||||
margin-left: -4px;
|
||||
border-right: 1px solid #817b7b;
|
||||
background-color: white;
|
||||
color: #1e88b3;
|
||||
}
|
||||
|
||||
.btns-left {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.btn-rounded {
|
||||
border-radius: 2em;
|
||||
padding: 6px 10px;
|
||||
}
|
||||
|
||||
.form-footer-btns {
|
||||
position: absolute;
|
||||
bottom: 5px;
|
||||
left: 40%;
|
||||
}
|
||||
|
||||
.form-footer {
|
||||
padding: 15px;
|
||||
text-align: right;
|
||||
float: left;
|
||||
border-top: 0;
|
||||
position: absolute;
|
||||
bottom: -5px;
|
||||
left: 5px;
|
||||
}
|
||||
|
||||
#divEdit .form-footer {
|
||||
bottom: 5px;
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
|
||||
.children-box {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
#children-container {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 18rem;
|
||||
overflow-y: auto;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: #f2f2f2 transparent;
|
||||
direction: ltr;
|
||||
border: 1px solid #9b97976e;
|
||||
border-radius: 10px 10px 7px 7px;
|
||||
padding: 10px 0;
|
||||
background-color: #dbdadaba;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
#children {
|
||||
border-collapse: separate !important;
|
||||
position: relative;
|
||||
top: -10px;
|
||||
width: 100%;
|
||||
background: whitesmoke;
|
||||
text-align: center;
|
||||
border-radius: 10px;
|
||||
border: none !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
#children th {
|
||||
text-align: center;
|
||||
color: white;
|
||||
position: sticky;
|
||||
top: -10px;
|
||||
z-index: 20;
|
||||
background-color: #404040;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
#children th, td {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
#children th:nth-child(2n) {
|
||||
border-left: 1px solid #fff;
|
||||
}
|
||||
|
||||
#children tr:nth-child(2n) {
|
||||
background-color: #e3e3e3;
|
||||
}
|
||||
|
||||
#children th:nth-child(2n) {
|
||||
border-left: 1px solid #fff;
|
||||
}
|
||||
|
||||
|
||||
#children td:nth-child(2n) {
|
||||
border-left: 1px solid #fff;
|
||||
border-right: 1px solid #9b979721;
|
||||
}
|
||||
|
||||
#children td:nth-child(2n+1) {
|
||||
border-left: 1px solid #9b979721;
|
||||
display: flex;
|
||||
flex-direction: row-reverse;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
#children td {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#children th:first-child {
|
||||
border-radius: 7px 0px 0px 0px;
|
||||
-moz-border-radius: 7px 0px 0px 0px;
|
||||
-webkit-border-radius: 7px 0px 0px 0px;
|
||||
}
|
||||
|
||||
#children th:last-child {
|
||||
border-left: 1px solid #fff;
|
||||
border-radius: 0px 7px 0 0;
|
||||
-moz-border-radius: 0px 7px 0 0;
|
||||
-webkit-border-radius: 0px 7px 0 0;
|
||||
}
|
||||
|
||||
#children tbody tr {
|
||||
min-height: 68px;
|
||||
}
|
||||
|
||||
#children-container.hide-scrollbar::-webkit-scrollbar {
|
||||
width: 0px;
|
||||
}
|
||||
|
||||
#children-container::-webkit-scrollbar {
|
||||
width: 7px;
|
||||
height: 5px;
|
||||
}
|
||||
|
||||
#children-container::-webkit-scrollbar-track {
|
||||
background-color: #f2f2f2;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#children-container::-webkit-scrollbar-thumb {
|
||||
background-color: #ccc;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#children-container::-webkit-scrollbar-thumb:hover {
|
||||
background-color: #aaa;
|
||||
}
|
||||
|
||||
.children-box .add {
|
||||
cursor: pointer;
|
||||
padding: 8px 6px;
|
||||
border-radius: 16px;
|
||||
border: 2px solid #0f9500;
|
||||
background: white;
|
||||
color: #0f9500;
|
||||
font-size: 10px;
|
||||
width: 9rem;
|
||||
}
|
||||
|
||||
.d-flex {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.trash {
|
||||
color: #c91d1d;
|
||||
font-size: 22px;
|
||||
position: relative;
|
||||
left: -7px;
|
||||
top: 5px;
|
||||
}
|
||||
|
||||
.add:hover {
|
||||
background: #0f9500;
|
||||
color: white;
|
||||
border: 2px solid #0f9500;
|
||||
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
|
||||
.items, .items1 {
|
||||
border: 1px solid #c7c7c7;
|
||||
border-radius: 5px;
|
||||
padding: 5px 0px;
|
||||
background-color: white;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.green {
|
||||
background-color: #e0ffe0;
|
||||
}
|
||||
|
||||
.modal-content2 {
|
||||
background-color: whitesmoke;
|
||||
border: 1px solid #a5a5a59e;
|
||||
border-radius: 18px;
|
||||
margin-top: 300px;
|
||||
padding: 0px 30px;
|
||||
}
|
||||
|
||||
.modal .modal-dialoge .modal-content2 .modal-body {
|
||||
padding: 50px 20px;
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
.modal-dialoge {
|
||||
padding: 0px 180px;
|
||||
}
|
||||
|
||||
.error-icon {
|
||||
position: absolute;
|
||||
left: 15px;
|
||||
top: 40px;
|
||||
font-size: 16px;
|
||||
color: red;
|
||||
}
|
||||
|
||||
.error-message {
|
||||
font-size: 1rem;
|
||||
color: red;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.input-div {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.education {
|
||||
height: 36px;
|
||||
}
|
||||
|
||||
.errored, .patternMisMatch {
|
||||
animation: shake 300ms;
|
||||
box-shadow: inset 0 0 2px #eb3434, 0 0 5px #eb3434 !important;
|
||||
border: 1px solid #eb3434 !important;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
@media (max-width: 1550px) and (min-width:1441px) {
|
||||
.education {
|
||||
height: 33px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1550px) {
|
||||
.modal-content {
|
||||
height: 680px !important;
|
||||
}
|
||||
|
||||
.box {
|
||||
font-size: 12px;
|
||||
height: 575px;
|
||||
top: 40px;
|
||||
}
|
||||
|
||||
.inputs {
|
||||
padding: 6px 8px;
|
||||
}
|
||||
|
||||
.btn-modal {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.main-title {
|
||||
width: 185px;
|
||||
font-size: 17px;
|
||||
left: 52%;
|
||||
top: 5px;
|
||||
}
|
||||
|
||||
.trash {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 1440px) {
|
||||
|
||||
#progress:after {
|
||||
border-top: 17px solid transparent;
|
||||
border-bottom: 17px solid transparent;
|
||||
}
|
||||
|
||||
.inputs {
|
||||
padding: 8px 10px;
|
||||
}
|
||||
|
||||
.education {
|
||||
height: 29px;
|
||||
}
|
||||
|
||||
.btn-modal {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.main-title {
|
||||
width: 169px;
|
||||
font-size: 15px;
|
||||
left: 53%;
|
||||
top: 3px;
|
||||
}
|
||||
|
||||
.radio-sections {
|
||||
padding: 8px 5px !important;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.nationality-type {
|
||||
padding: 0px 2px;
|
||||
}
|
||||
|
||||
.input-type {
|
||||
padding: 0px 5px;
|
||||
}
|
||||
|
||||
.duty-condition {
|
||||
top: -9px;
|
||||
}
|
||||
|
||||
.loc-box {
|
||||
margin-top: 9px;
|
||||
}
|
||||
|
||||
#children-container, .loc-text {
|
||||
height: 136px;
|
||||
}
|
||||
|
||||
#children th, td {
|
||||
padding: 5px 8px;
|
||||
}
|
||||
|
||||
#children th {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.radio-box {
|
||||
font-size: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.form-box {
|
||||
min-height: 69rem;
|
||||
}
|
||||
|
||||
.form1, .listForm1 {
|
||||
width: 93%;
|
||||
}
|
||||
|
||||
.radio-input.nationality label:first-child {
|
||||
grid-column: 1 / 9;
|
||||
}
|
||||
|
||||
.radio-input.nationality label:nth-child(2) {
|
||||
grid-column: 9 / 16;
|
||||
}
|
||||
|
||||
#employee-panel .name-th {
|
||||
max-width: 55px;
|
||||
}
|
||||
|
||||
#employee-panel .Lname-th {
|
||||
max-width: 85px;
|
||||
}
|
||||
|
||||
#employee-panel .code-th {
|
||||
max-width: 55px;
|
||||
}
|
||||
|
||||
#employee-panel .insurance-th {
|
||||
max-width: 50px;
|
||||
}
|
||||
|
||||
#employee-panel #datatable tbody tr td {
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 900px) {
|
||||
.modal-dialog {
|
||||
width: 75%;
|
||||
}
|
||||
/* .operationBtns a {
|
||||
width: 3.8rem;
|
||||
height: 3.6rem;
|
||||
}*/
|
||||
#employee-panel .code-th {
|
||||
max-width: 65px;
|
||||
}
|
||||
|
||||
#employee-panel .Lname-th {
|
||||
max-width: 75px;
|
||||
}
|
||||
|
||||
.Lname-td .fulltext {
|
||||
max-width: 68px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.form-box {
|
||||
min-height: 85rem;
|
||||
padding: 40px 10px;
|
||||
}
|
||||
|
||||
.radio-box, .step {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.modal .modal-dialog .modal-content {
|
||||
min-height: 96rem;
|
||||
}
|
||||
|
||||
.form1 .form-group, .listForm1 .form-group {
|
||||
padding: 8px 5px 8px 0;
|
||||
}
|
||||
|
||||
.modal-dialog {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.form3 fieldset, .listForm3 fieldset {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.form {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.input-type {
|
||||
padding: 0px 3px;
|
||||
}
|
||||
|
||||
.loc-text {
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
.radio-input.nationality, .radio-input {
|
||||
grid-column: 5 / 16;
|
||||
}
|
||||
|
||||
.radio-input.nationality label:first-child {
|
||||
grid-column: 1 / 8;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) and (min-width:490px ) {
|
||||
.Lname-td .fulltext {
|
||||
max-width: 80px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 450px) {
|
||||
.form-box {
|
||||
min-height: 86rem;
|
||||
}
|
||||
|
||||
.form-footer-btns {
|
||||
left: 25%;
|
||||
}
|
||||
|
||||
.name-td .fulltext {
|
||||
max-width: 75px;
|
||||
}
|
||||
|
||||
.modal .modal-dialog .modal-content {
|
||||
min-height: 96rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 390px) {
|
||||
|
||||
.name-td .fulltext {
|
||||
max-width: 65px;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user