Recovery Data Completed
This commit is contained in:
@@ -20,6 +20,7 @@ public interface IInsuranceJobRepositpry:IRepository<long, InsuranceJob>
|
||||
OperationResult CreateInsuranceJob(CreateInsuranceJob command);
|
||||
List<(long id, string date)> GetOldYersInsuranceItemIds();
|
||||
OperationResult CopyFromLastYear(CopyFromLastYearViewModel command);
|
||||
OperationResult RecoveryOldData1403();
|
||||
OperationResult Remove(long id);
|
||||
OperationResult EditInsuranceJob(EditInsuranceJob command);
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ public interface IInsuranceJobItemRepositpry : IRepository<long, InsuranceJobIte
|
||||
DetailsInsuranceJobItem GetDetails(long id);
|
||||
List<InsuranceJobItemViewModel> GetInsuranceJobItemByInsuranceJobId(long Id, string year, string month);
|
||||
List<InsuranceJobItemViewModel> Search(InsuranceJobItemSearchModel searchModel);
|
||||
InsuranceJobItemViewModel GetInsuranceJobItemByInsuranceJobIdForFixedSalary(long insuranceJobId, long jobId);
|
||||
InsuranceJobItemViewModel GetInsuranceJobItemByInsuranceJobIdForFixedSalary(long insuranceJobId, long jobId,
|
||||
string year, string month);
|
||||
|
||||
}
|
||||
@@ -12,6 +12,7 @@ public interface IInsuranceJobApplication
|
||||
{
|
||||
List<(long id, string date)> GetOldYersInsuranceItemIds();
|
||||
OperationResult CopyFromLastYear(CopyFromLastYearViewModel command);
|
||||
OperationResult RecoveryOldData1403();
|
||||
OperationResult Create(CreateInsuranceJob command);
|
||||
OperationResult Edit(EditInsuranceJob command);
|
||||
EditInsuranceJob GetDetails(long id,string year, string month);
|
||||
|
||||
@@ -29,6 +29,11 @@ public class InsuranceJobApplication: IInsuranceJobApplication
|
||||
return _insuranceJobRepositpry.CopyFromLastYear(command);
|
||||
}
|
||||
|
||||
public OperationResult RecoveryOldData1403()
|
||||
{
|
||||
return _insuranceJobRepositpry.RecoveryOldData1403();
|
||||
}
|
||||
|
||||
public OperationResult Create(CreateInsuranceJob command)
|
||||
{
|
||||
var opration = new OperationResult();
|
||||
|
||||
@@ -1718,7 +1718,7 @@ public class InsuranceListApplication: IInsuranceListApplication
|
||||
|
||||
var searchModel = new InsuranceJobItemSearchModel();
|
||||
searchModel.InsuranceJobId = (long)insuranceJobId;
|
||||
var JobItem = _insuranceJobItemRepository.GetInsuranceJobItemByInsuranceJobIdForFixedSalary((long)insuranceJobId, jobId);
|
||||
var JobItem = _insuranceJobItemRepository.GetInsuranceJobItemByInsuranceJobIdForFixedSalary((long)insuranceJobId, jobId, year, month);
|
||||
|
||||
if (JobItem != null && JobItem.Id != 0)
|
||||
{
|
||||
|
||||
@@ -124,10 +124,11 @@ public class InsuranceJobItemRepository : RepositoryBase<long, InsuranceJobItem>
|
||||
}
|
||||
|
||||
|
||||
public InsuranceJobItemViewModel GetInsuranceJobItemByInsuranceJobIdForFixedSalary(long insuranceJobId, long jobId)
|
||||
public InsuranceJobItemViewModel GetInsuranceJobItemByInsuranceJobIdForFixedSalary(long insuranceJobId, long jobId, string year, string month)
|
||||
{
|
||||
var searcheDate = ($"{year}/{month}/01").ToGeorgianDateTime();
|
||||
var insuranceJobItemViewModel = new InsuranceJobItemViewModel();
|
||||
var insuranceJobItems = _context.InsuranceJobItems.Where(x => x.InsuranceJobId == insuranceJobId).ToList();
|
||||
var insuranceJobItems = _context.InsuranceJobItems.Where(i => i.InsuranceJobId == insuranceJobId && i.StartDate <= searcheDate && i.EndDate >= searcheDate).ToList();
|
||||
var insuranceJobItemIds = insuranceJobItems.Select(x => x.id).ToList();
|
||||
var jobAndJob = _context.InsuranceJobAndJobsSet
|
||||
.Where(x => insuranceJobItemIds.Contains(x.InsuranceJobItemId) && x.JobId == jobId).FirstOrDefault();
|
||||
|
||||
@@ -20,13 +20,15 @@ namespace CompanyManagment.EFCore.Repository;
|
||||
public class InsuranceJobRepository : RepositoryBase<long, InsuranceJob>, IInsuranceJobRepositpry
|
||||
{
|
||||
private readonly CompanyContext _context;
|
||||
private readonly TestDbContext _testDbContext;
|
||||
private readonly IInsuranceJobItemRepositpry _insuranceJobItemRepositpry;
|
||||
private readonly IPercentageRepository _percentageRepository;
|
||||
public InsuranceJobRepository(CompanyContext context, IInsuranceJobItemRepositpry insuranceJobItemRepositpry, IPercentageRepository percentageRepository) : base(context)
|
||||
public InsuranceJobRepository(CompanyContext context, IInsuranceJobItemRepositpry insuranceJobItemRepositpry, IPercentageRepository percentageRepository, TestDbContext testDbContext) : base(context)
|
||||
{
|
||||
_context = context;
|
||||
_insuranceJobItemRepositpry = insuranceJobItemRepositpry;
|
||||
_percentageRepository = percentageRepository;
|
||||
_testDbContext = testDbContext;
|
||||
}
|
||||
|
||||
public EditInsuranceJob GetDetails(long id, string year, string month)
|
||||
@@ -274,6 +276,65 @@ public class InsuranceJobRepository : RepositoryBase<long, InsuranceJob>, IInsur
|
||||
|
||||
}
|
||||
|
||||
public OperationResult RecoveryOldData1403()
|
||||
{
|
||||
|
||||
OperationResult result = new OperationResult();
|
||||
using (var transaction = _context.Database.BeginTransaction())
|
||||
{
|
||||
try
|
||||
{
|
||||
var res = _testDbContext.InsuranceJobItems.Include(x => x.InsuranceJobAndJobs).ToList();
|
||||
foreach (var item in res)
|
||||
{
|
||||
var createItem = new InsuranceJobItem(item.PercentageLessThan, 0, item.PercentageMoreThan, 0,
|
||||
item.InsuranceJobId, item.StartDate, item.EndDate);
|
||||
_context.InsuranceJobItems.Add(createItem);
|
||||
_context.SaveChanges();
|
||||
|
||||
List<InsuranceJobAndJobs> insuranceJobAndJobsList = new List<InsuranceJobAndJobs>();
|
||||
foreach (var jobItem in item.InsuranceJobAndJobs)
|
||||
{
|
||||
var insuranceJobAndJobsObj = new InsuranceJobAndJobs();
|
||||
insuranceJobAndJobsObj.JobId = jobItem.JobId;
|
||||
insuranceJobAndJobsObj.InsuranceJobItemId = createItem.id;
|
||||
insuranceJobAndJobsList.Add(insuranceJobAndJobsObj);
|
||||
}
|
||||
_context.InsuranceJobAndJobsSet.AddRange(insuranceJobAndJobsList);
|
||||
_context.SaveChanges();
|
||||
|
||||
|
||||
if (!_percentageRepository.Exists(x => x.Percent == item.PercentageLessThan))
|
||||
{
|
||||
var percentage = new Percentage(item.PercentageLessThan);
|
||||
_percentageRepository.Create(percentage);
|
||||
}
|
||||
|
||||
if (!_percentageRepository.Exists(x => x.Percent == item.PercentageMoreThan))
|
||||
{
|
||||
var percentage2 = new Percentage(item.PercentageMoreThan);
|
||||
_percentageRepository.Create(percentage2);
|
||||
}
|
||||
|
||||
_percentageRepository.SaveChanges();
|
||||
|
||||
}
|
||||
|
||||
transaction.Commit();
|
||||
result.IsSuccedded = true;
|
||||
result.Message = "حذف اطلاعات با موفقیت انجام شد";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
transaction.Rollback();
|
||||
result.Failed("ثبت اطلاعات با خطا مواجه شد");
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
|
||||
}
|
||||
public OperationResult Remove(long id)
|
||||
{
|
||||
OperationResult result = new OperationResult();
|
||||
|
||||
39
CompanyManagment.EFCore/TestDbContext.cs
Normal file
39
CompanyManagment.EFCore/TestDbContext.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using Company.Domain.InsuranceJobItemAgg;
|
||||
using Company.Domain.InsurancJobAgg;
|
||||
using Company.Domain.RollCallAgg;
|
||||
using CompanyManagment.EFCore.Mapping;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CompanyManagment.EFCore
|
||||
{
|
||||
public class TestDbContext : DbContext
|
||||
{
|
||||
public DbSet<InsuranceJobItem> InsuranceJobItems { get; set; }
|
||||
public DbSet<InsuranceJob> InsuranceJobs { get; set; }
|
||||
|
||||
public TestDbContext(DbContextOptions<TestDbContext> options) : base(options)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
public TestDbContext()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
var assembly = typeof(PersonalContractingpartyMapping).Assembly;
|
||||
modelBuilder.ApplyConfigurationsFromAssembly(assembly);
|
||||
base.OnModelCreating(modelBuilder);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
21
PersonalContractingParty.Config/TestDbBootStrapper.cs
Normal file
21
PersonalContractingParty.Config/TestDbBootStrapper.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using Company.Domain.InsuranceJobItemAgg;
|
||||
using Company.Domain.InsurancJobAgg;
|
||||
using CompanyManagment.App.Contracts.InsuranceJob;
|
||||
using CompanyManagment.Application;
|
||||
using CompanyManagment.EFCore;
|
||||
using CompanyManagment.EFCore.Repository;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace PersonalContractingParty.Config;
|
||||
|
||||
public class TestDbBootStrapper
|
||||
{
|
||||
public static void Configure(IServiceCollection services, string connectionString)
|
||||
{
|
||||
services.AddTransient<IInsuranceJobApplication, InsuranceJobApplication>();
|
||||
services.AddTransient<IInsuranceJobRepositpry, InsuranceJobRepository>();
|
||||
services.AddTransient<IInsuranceJobItemRepositpry, InsuranceJobItemRepository>();
|
||||
services.AddDbContext<TestDbContext>(x => x.UseSqlServer(connectionString));
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,15 @@
|
||||
<a href="#showmodal=@Url.Page("/Company/InsuranceJob/Index", "CopyFromLastYear")" class="btn btn-rounded waves-effect waves-light m-b-5 btn-show-modal"><i class="fa fa-user-plus"></i> کپی از اصناف سال قبل </a>
|
||||
@*<a href="#showmodal=@Url.Page("/Company/InsuranceJob/Index","CreateInformation")" class="btn btn-rounded waves-effect waves-light m-b-5 btn-show-modal"><i class="fa fa-user-plus" ></i> ثبت اطلاعات مقطوع </a>*@
|
||||
</p>
|
||||
|
||||
<p class="pull-right">
|
||||
|
||||
<a asp-page="/Company/InsuranceJob/Index" asp-page-handler="OldDataRecovery1403" class="btn btn-rounded waves-effect waves-light m-b-5 btn-show-modal"><i class="fa fa-user-plus"></i> ریکاوری دیتای سال 1403 </a>
|
||||
@*<a href="#showmodal=@Url.Page("/Company/InsuranceJob/Index","CreateInformation")" class="btn btn-rounded waves-effect waves-light m-b-5 btn-show-modal"><i class="fa fa-user-plus" ></i> ثبت اطلاعات مقطوع </a>*@
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
<div class="panel-group panel-group-joined" id="accordion-test">
|
||||
|
||||
@@ -82,6 +82,12 @@ public class IndexModel : PageModel
|
||||
return new JsonResult(res);
|
||||
}
|
||||
|
||||
public IActionResult OnGetOldDataRecovery1403()
|
||||
{
|
||||
var res = _insuranceJobApplication.RecoveryOldData1403();
|
||||
|
||||
return new JsonResult(res);
|
||||
}
|
||||
//public async Task<IActionResult> OnPostJobListByText(string textSearch)
|
||||
//{
|
||||
// var jobs = _jobApplication.GetJobListByText(textSearch);
|
||||
|
||||
@@ -65,20 +65,20 @@ public class IndexModel : PageModel
|
||||
|
||||
var searchModelPercentage = new PercentageSearchModel();
|
||||
var percentageList = _percentageApplication.Search(searchModelPercentage);
|
||||
var percentagIds = dateSalaryItems.Select(x => x.PercentageId).ToList();
|
||||
var percentages = percentageList.Where(x => !percentagIds.Contains(x.Id)).ToList();
|
||||
//var percentagIds = dateSalaryItems.Select(x => x.PercentageId).ToList();
|
||||
//var percentages = percentageList.Where(x => !percentagIds.Contains(x.Id)).ToList();
|
||||
|
||||
foreach (var item in percentages)
|
||||
{
|
||||
var obj = new DateSalaryItemViewModel();
|
||||
obj.Percent = item.Percent;
|
||||
obj.PercentageId = item.Id;
|
||||
obj.Salary = null;
|
||||
obj.DateSalaryId = id;
|
||||
obj.Id = 0;
|
||||
obj.StrSalary = "";
|
||||
dateSalaryItems.Add(obj);
|
||||
}
|
||||
//foreach (var item in percentages)
|
||||
//{
|
||||
// var obj = new DateSalaryItemViewModel();
|
||||
// obj.Percent = item.Percent;
|
||||
// obj.PercentageId = item.Id;
|
||||
// obj.Salary = null;
|
||||
// obj.DateSalaryId = id;
|
||||
// obj.Id = 0;
|
||||
// obj.StrSalary = "";
|
||||
// dateSalaryItems.Add(obj);
|
||||
//}
|
||||
|
||||
var list = new CreateDateSalaryForInsuranceJob();
|
||||
list.EndDateFa = dateSalary.EndDateFa;
|
||||
|
||||
@@ -34,7 +34,9 @@ builder.Services.AddRazorPages()
|
||||
builder.Services.AddHttpContextAccessor();
|
||||
builder.Services.AddHttpClient("holidayApi", c => c.BaseAddress = new System.Uri("https://api.github.com"));
|
||||
var connectionString = builder.Configuration.GetConnectionString("MesbahDb");
|
||||
var connectionStringTestDb = builder.Configuration.GetConnectionString("TestDb");
|
||||
PersonalBootstrapper.Configure(builder.Services, connectionString);
|
||||
TestDbBootStrapper.Configure(builder.Services, connectionStringTestDb);
|
||||
AccountManagementBootstrapper.Configure(builder.Services, connectionString);
|
||||
WorkFlowBootstrapper.Configure(builder.Services, connectionString);
|
||||
QueryBootstrapper.Configure(builder.Services);
|
||||
|
||||
@@ -15,11 +15,14 @@
|
||||
//"MesbahDb": "Data Source=171.22.24.15;Initial Catalog=mesbah_db;Persist Security Info=False;User ID=ir_db;Password=R2rNp[170]is[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;",
|
||||
|
||||
"TestDb": "Data Source=.;Initial Catalog=TestDb;Integrated Security=True;TrustServerCertificate=true;"
|
||||
|
||||
//mahan Docker
|
||||
//"MesbahDb": "Data Source=localhost,5069;Initial Catalog=mesbah_db;User ID=sa;Password=YourPassword123;TrustServerCertificate=True;"
|
||||
},
|
||||
|
||||
"GoogleRecaptchaV3": {
|
||||
"SiteKey": "6Lfhp_AnAAAAAB79WkrMoHd1k8ir4m8VvfjE7FTH",
|
||||
"SecretKey": "6Lfhp_AnAAAAANjDDY6DPrbbUQS7k6ZCRmrVP5Lb"
|
||||
|
||||
Reference in New Issue
Block a user