add convertor for InstitutionContract
This commit is contained in:
@@ -235,6 +235,11 @@ public class InstitutionContract : EntityBase
|
||||
VerifyCode = code;
|
||||
VerifyCodeCreation = DateTime.Now;
|
||||
}
|
||||
|
||||
public void SetWorkshopGroup(InstitutionContractWorkshopGroup workshopGroup)
|
||||
{
|
||||
WorkshopGroup = workshopGroup;
|
||||
}
|
||||
}
|
||||
|
||||
public class InstitutionContractAmendment : EntityBase
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using _0_Framework.Domain;
|
||||
using CompanyManagment.App.Contracts.InstitutionContract;
|
||||
|
||||
@@ -30,9 +31,22 @@ public class InstitutionContractWorkshopInitial:InstitutionContractWorkshopBase
|
||||
WorkshopCurrent = new InstitutionContractWorkshopCurrent(WorkshopName,Services.RollCall,Services.RollCallInPerson,
|
||||
Services.CustomizeCheckout,Services.Contract,Services.ContractInPerson,Services.Insurance,
|
||||
Services.InsuranceInPerson,PersonnelCount,Price,InstitutionContractWorkshopGroupId);
|
||||
|
||||
}
|
||||
|
||||
public static InstitutionContractWorkshopInitial CreateManual(string workshopName, bool hasRollCallPlan,
|
||||
bool hasRollCallPlanInPerson, bool hasCustomizeCheckoutPlan, bool hasContractPlan,
|
||||
bool hasContractPlanInPerson, bool hasInsurancePlan, bool hasInsurancePlanInPerson,
|
||||
int personnelCount, double price, long workshopId,List<long> employerIds)
|
||||
{
|
||||
|
||||
var entity = new InstitutionContractWorkshopInitial(workshopName, hasRollCallPlan,
|
||||
hasRollCallPlanInPerson, hasCustomizeCheckoutPlan, hasContractPlan, hasContractPlanInPerson,
|
||||
hasInsurancePlan, hasInsurancePlanInPerson, personnelCount, price);
|
||||
entity.WorkshopCreated = true;
|
||||
entity.WorkshopId = workshopId;
|
||||
entity.SetEmployers(employerIds);
|
||||
return entity;
|
||||
}
|
||||
}
|
||||
|
||||
public class InstitutionContractWorkshopDetailEmployer : EntityBase
|
||||
|
||||
@@ -13,8 +13,12 @@ using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Net.Http;
|
||||
using System.Security.Cryptography.Xml;
|
||||
using System.Text.Json.Serialization;
|
||||
using _0_Framework.Application.PaymentGateway;
|
||||
using Company.Domain.InstitutionContractAgg;
|
||||
using Company.Domain.InstitutionPlanAgg;
|
||||
using CompanyManagment.App.Contracts.TemporaryClientRegistration;
|
||||
using Microsoft.Extensions.Options;
|
||||
using static ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk.IndexModel2;
|
||||
|
||||
@@ -28,17 +32,21 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
private readonly CompanyContext _context;
|
||||
private readonly AccountContext _accountContext;
|
||||
private readonly IPaymentGateway _paymentGateway;
|
||||
private readonly ITemporaryClientRegistrationApplication _clientRegistrationApplication;
|
||||
|
||||
|
||||
[BindProperty]
|
||||
public IFormFile File { get; set; }
|
||||
[BindProperty] public IFormFile File { get; set; }
|
||||
|
||||
public IndexModel(IAndroidApkVersionApplication application, IRollCallDomainService rollCallDomainService, CompanyContext context, AccountContext accountContext, IHttpClientFactory httpClientFactory,IOptions<AppSettingConfiguration> appSetting)
|
||||
public IndexModel(IAndroidApkVersionApplication application, IRollCallDomainService rollCallDomainService,
|
||||
CompanyContext context, AccountContext accountContext, IHttpClientFactory httpClientFactory,
|
||||
IOptions<AppSettingConfiguration> appSetting,
|
||||
ITemporaryClientRegistrationApplication clientRegistrationApplication)
|
||||
{
|
||||
_application = application;
|
||||
_rollCallDomainService = rollCallDomainService;
|
||||
_context = context;
|
||||
_accountContext = accountContext;
|
||||
_clientRegistrationApplication = clientRegistrationApplication;
|
||||
_paymentGateway = new AqayePardakhtPaymentGateway(httpClientFactory, appSetting);
|
||||
}
|
||||
|
||||
@@ -54,7 +62,6 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
}
|
||||
|
||||
|
||||
|
||||
public IActionResult OnPostShiftDate()
|
||||
{
|
||||
//var startRollCall = new DateTime(2025, 2, 19);
|
||||
@@ -88,6 +95,7 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
ViewData["message"] = "تومام یک";
|
||||
return Page();
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnPostShiftDateNew2()
|
||||
{
|
||||
//var startRollCall = new DateTime(2025, 3, 21);
|
||||
@@ -100,9 +108,11 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
|
||||
//await ChangeFridayWorkToWeeklyDayOfWeek();
|
||||
//await SetPublicId();
|
||||
await UpdateInstitutionContract();
|
||||
ViewData["message"] = "تومام دو";
|
||||
return Page();
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnPostPaymentGateWay(CancellationToken cancellationToken)
|
||||
{
|
||||
var command = new CreatePaymentGatewayRequest()
|
||||
@@ -122,13 +132,11 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
|
||||
//TranslateCode(result?.ErrorCode);
|
||||
return Page();
|
||||
|
||||
}
|
||||
|
||||
public async System.Threading.Tasks.Task OnGetCallback(string? transid, string? cardnumber, string? tracking_number, string status)
|
||||
public async System.Threading.Tasks.Task OnGetCallback(string? transid, string? cardnumber,
|
||||
string? tracking_number, string status)
|
||||
{
|
||||
|
||||
|
||||
if (string.IsNullOrEmpty(cardnumber) || string.IsNullOrEmpty(tracking_number))
|
||||
{
|
||||
ViewData["message"] = "پرداخت ناموفق بوده است";
|
||||
@@ -138,7 +146,6 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
{
|
||||
ViewData["message"] = "پرداخت موفق بوده است";
|
||||
return;
|
||||
|
||||
}
|
||||
//var client = _httpClientFactory.CreateClient();
|
||||
//var response = await client.PostAsJsonAsync("https://panel.aqayepardakht.ir/api/v2/verify", new
|
||||
@@ -162,11 +169,10 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
{
|
||||
var subAccount = getSubAccount.id;
|
||||
|
||||
var workshopIds = _context.WorkshopSubAccounts.Where(x => x.SubAccountId == subAccount).Select(x => x.WorkshopId).ToList();
|
||||
var workshopIds = _context.WorkshopSubAccounts.Where(x => x.SubAccountId == subAccount)
|
||||
.Select(x => x.WorkshopId).ToList();
|
||||
role.Edit(role.Title, role.RolePermissions.Select(x => x.PermissionCode).ToList(), workshopIds);
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
await _accountContext.SaveChangesAsync();
|
||||
}
|
||||
@@ -180,35 +186,44 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
var newRewards = new List<CustomizeCheckoutTempReward>();
|
||||
foreach (var customizeCheckoutReward in customizeCheckout.CustomizeCheckoutRewards)
|
||||
{
|
||||
var reward = _context.Rewards.FirstOrDefault(x => x.GrantDate == customizeCheckoutReward.GrantDate && x.Title == customizeCheckoutReward.Title && x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId);
|
||||
var reward = _context.Rewards.FirstOrDefault(x =>
|
||||
x.GrantDate == customizeCheckoutReward.GrantDate && x.Title == customizeCheckoutReward.Title &&
|
||||
x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId);
|
||||
if (reward != null)
|
||||
{
|
||||
newRewards.Add(new CustomizeCheckoutTempReward(reward.Amount.ToMoney(), reward.Description, reward.GrantDate, reward.GrantDate.ToFarsi(), reward.IsActive, reward.Title, reward.id));
|
||||
newRewards.Add(new CustomizeCheckoutTempReward(reward.Amount.ToMoney(), reward.Description,
|
||||
reward.GrantDate, reward.GrantDate.ToFarsi(), reward.IsActive, reward.Title, reward.id));
|
||||
}
|
||||
}
|
||||
|
||||
var newSalary = new List<CustomizeCheckoutTempSalaryAid>();
|
||||
foreach (var customizeCheckoutSalaryAid in customizeCheckout.CustomizeCheckoutSalaryAids)
|
||||
{
|
||||
var salary = _context.SalaryAids.FirstOrDefault(x => x.SalaryAidDateTime == customizeCheckoutSalaryAid.SalaryAidDateTime &&
|
||||
x.Amount == customizeCheckoutSalaryAid.Amount.MoneyToDouble() &&
|
||||
x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId);
|
||||
var salary = _context.SalaryAids.FirstOrDefault(x =>
|
||||
x.SalaryAidDateTime == customizeCheckoutSalaryAid.SalaryAidDateTime &&
|
||||
x.Amount == customizeCheckoutSalaryAid.Amount.MoneyToDouble() &&
|
||||
x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId);
|
||||
|
||||
if (salary != null)
|
||||
{
|
||||
newSalary.Add(new CustomizeCheckoutTempSalaryAid(salary.Amount.ToMoney(), salary.SalaryAidDateTime,
|
||||
salary.SalaryAidDateTime.ToFarsi(), salary.CalculationDate, salary.CalculationDate.ToFarsi(), salary.id));
|
||||
newSalary.Add(new CustomizeCheckoutTempSalaryAid(salary.Amount.ToMoney(),
|
||||
salary.SalaryAidDateTime,
|
||||
salary.SalaryAidDateTime.ToFarsi(), salary.CalculationDate,
|
||||
salary.CalculationDate.ToFarsi(), salary.id));
|
||||
}
|
||||
}
|
||||
|
||||
var newFines = new List<CustomizeCheckoutTempFine>();
|
||||
foreach (var checkoutFine in customizeCheckout.CheckoutFines)
|
||||
{
|
||||
var fines = _context.Fines.FirstOrDefault(x => x.Amount == checkoutFine.Amount.MoneyToDouble() && x.FineDate == checkoutFine.FineDateGr &&
|
||||
x.Title == checkoutFine.Title && x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId);
|
||||
var fines = _context.Fines.FirstOrDefault(x =>
|
||||
x.Amount == checkoutFine.Amount.MoneyToDouble() && x.FineDate == checkoutFine.FineDateGr &&
|
||||
x.Title == checkoutFine.Title && x.EmployeeId == customizeCheckout.EmployeeId &&
|
||||
x.WorkshopId == customizeCheckout.WorkshopId);
|
||||
if (fines != null)
|
||||
{
|
||||
newFines.Add(new CustomizeCheckoutTempFine(fines.Title, fines.Amount.ToMoney(), fines.FineDate.ToFarsi(), fines.FineDate, fines.IsActive, fines.CreationDate, fines.id));
|
||||
newFines.Add(new CustomizeCheckoutTempFine(fines.Title, fines.Amount.ToMoney(),
|
||||
fines.FineDate.ToFarsi(), fines.FineDate, fines.IsActive, fines.CreationDate, fines.id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -216,28 +231,34 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
|
||||
foreach (var customizeCheckoutLoanInstallment in customizeCheckout.CustomizeCheckoutLoanInstallments)
|
||||
{
|
||||
|
||||
var installments = _context.Loans.SelectMany(x => x.LoanInstallments).AsNoTracking().Where(x => x.Month == customizeCheckoutLoanInstallment.Month && x.Year == customizeCheckoutLoanInstallment.Year && x.AmountForMonth == customizeCheckoutLoanInstallment.AmountForMonth.MoneyToDouble()).ToList();
|
||||
var installments = _context.Loans.SelectMany(x => x.LoanInstallments).AsNoTracking().Where(x =>
|
||||
x.Month == customizeCheckoutLoanInstallment.Month &&
|
||||
x.Year == customizeCheckoutLoanInstallment.Year &&
|
||||
x.AmountForMonth == customizeCheckoutLoanInstallment.AmountForMonth.MoneyToDouble()).ToList();
|
||||
var loans = _context.Loans
|
||||
.Where(x => x.Amount == customizeCheckoutLoanInstallment.LoanAmount.MoneyToDouble() && x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId).ToList();
|
||||
.Where(x => x.Amount == customizeCheckoutLoanInstallment.LoanAmount.MoneyToDouble() &&
|
||||
x.EmployeeId == customizeCheckout.EmployeeId &&
|
||||
x.WorkshopId == customizeCheckout.WorkshopId).ToList();
|
||||
|
||||
var installment = installments.First(x => loans.Any(l => l.id == x.LoanId));
|
||||
|
||||
if (installment != null)
|
||||
{
|
||||
newInstallments.Add(new CustomizeCheckoutTempLoanInstallments(installment.AmountForMonth.ToMoney(),
|
||||
newInstallments.Add(new CustomizeCheckoutTempLoanInstallments(
|
||||
installment.AmountForMonth.ToMoney(),
|
||||
installment.Month, installment.Year, installment.IsActive,
|
||||
customizeCheckoutLoanInstallment.LoanRemaining, customizeCheckoutLoanInstallment.LoanAmount,
|
||||
installment.Id));
|
||||
}
|
||||
}
|
||||
|
||||
customizeCheckout.SetValueObjects(newFines, newInstallments, newSalary, newRewards);
|
||||
|
||||
|
||||
_context.SaveChanges();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void SetEntityIdForCheckoutValues()
|
||||
{
|
||||
var customizeCheckouts = _context.CustomizeCheckouts.ToList();
|
||||
@@ -246,35 +267,43 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
var newRewards = new List<CustomizeCheckoutReward>();
|
||||
foreach (var customizeCheckoutReward in customizeCheckout.CustomizeCheckoutRewards)
|
||||
{
|
||||
var reward = _context.Rewards.FirstOrDefault(x => x.GrantDate == customizeCheckoutReward.GrantDate && x.Title == customizeCheckoutReward.Title && x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId);
|
||||
var reward = _context.Rewards.FirstOrDefault(x =>
|
||||
x.GrantDate == customizeCheckoutReward.GrantDate && x.Title == customizeCheckoutReward.Title &&
|
||||
x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId);
|
||||
if (reward != null)
|
||||
{
|
||||
newRewards.Add(new CustomizeCheckoutReward(reward.Amount.ToMoney(), reward.Description, reward.GrantDate, reward.GrantDate.ToFarsi(), reward.IsActive, reward.Title, reward.id));
|
||||
newRewards.Add(new CustomizeCheckoutReward(reward.Amount.ToMoney(), reward.Description,
|
||||
reward.GrantDate, reward.GrantDate.ToFarsi(), reward.IsActive, reward.Title, reward.id));
|
||||
}
|
||||
}
|
||||
|
||||
var newSalary = new List<CustomizeCheckoutSalaryAid>();
|
||||
foreach (var customizeCheckoutSalaryAid in customizeCheckout.CustomizeCheckoutSalaryAids)
|
||||
{
|
||||
var salary = _context.SalaryAids.FirstOrDefault(x => x.SalaryAidDateTime == customizeCheckoutSalaryAid.SalaryAidDateTime &&
|
||||
x.Amount == customizeCheckoutSalaryAid.Amount.MoneyToDouble() &&
|
||||
x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId);
|
||||
var salary = _context.SalaryAids.FirstOrDefault(x =>
|
||||
x.SalaryAidDateTime == customizeCheckoutSalaryAid.SalaryAidDateTime &&
|
||||
x.Amount == customizeCheckoutSalaryAid.Amount.MoneyToDouble() &&
|
||||
x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId);
|
||||
|
||||
if (salary != null)
|
||||
{
|
||||
newSalary.Add(new CustomizeCheckoutSalaryAid(salary.Amount.ToMoney(), salary.SalaryAidDateTime,
|
||||
salary.SalaryAidDateTime.ToFarsi(), salary.CalculationDate, salary.CalculationDate.ToFarsi(), salary.id));
|
||||
salary.SalaryAidDateTime.ToFarsi(), salary.CalculationDate,
|
||||
salary.CalculationDate.ToFarsi(), salary.id));
|
||||
}
|
||||
}
|
||||
|
||||
var newFines = new List<CustomizeCheckoutFine>();
|
||||
foreach (var checkoutFine in customizeCheckout.CheckoutFines)
|
||||
{
|
||||
var fines = _context.Fines.FirstOrDefault(x => x.Amount == checkoutFine.Amount.MoneyToDouble() && x.FineDate == checkoutFine.FineDateGr &&
|
||||
x.Title == checkoutFine.Title && x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId);
|
||||
var fines = _context.Fines.FirstOrDefault(x =>
|
||||
x.Amount == checkoutFine.Amount.MoneyToDouble() && x.FineDate == checkoutFine.FineDateGr &&
|
||||
x.Title == checkoutFine.Title && x.EmployeeId == customizeCheckout.EmployeeId &&
|
||||
x.WorkshopId == customizeCheckout.WorkshopId);
|
||||
if (fines != null)
|
||||
{
|
||||
newFines.Add(new CustomizeCheckoutFine(fines.Title, fines.Amount.ToMoney(), fines.FineDate.ToFarsi(), fines.FineDate, fines.IsActive, fines.CreationDate, fines.id));
|
||||
newFines.Add(new CustomizeCheckoutFine(fines.Title, fines.Amount.ToMoney(),
|
||||
fines.FineDate.ToFarsi(), fines.FineDate, fines.IsActive, fines.CreationDate, fines.id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -282,10 +311,14 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
|
||||
foreach (var customizeCheckoutLoanInstallment in customizeCheckout.CustomizeCheckoutLoanInstallments)
|
||||
{
|
||||
|
||||
var installments = _context.Loans.SelectMany(x => x.LoanInstallments).AsNoTracking().Where(x => x.Month == customizeCheckoutLoanInstallment.Month && x.Year == customizeCheckoutLoanInstallment.Year && x.AmountForMonth == customizeCheckoutLoanInstallment.AmountForMonth.MoneyToDouble()).ToList();
|
||||
var installments = _context.Loans.SelectMany(x => x.LoanInstallments).AsNoTracking().Where(x =>
|
||||
x.Month == customizeCheckoutLoanInstallment.Month &&
|
||||
x.Year == customizeCheckoutLoanInstallment.Year &&
|
||||
x.AmountForMonth == customizeCheckoutLoanInstallment.AmountForMonth.MoneyToDouble()).ToList();
|
||||
var loans = _context.Loans
|
||||
.Where(x => x.Amount == customizeCheckoutLoanInstallment.LoanAmount.MoneyToDouble() && x.EmployeeId == customizeCheckout.EmployeeId && x.WorkshopId == customizeCheckout.WorkshopId).ToList();
|
||||
.Where(x => x.Amount == customizeCheckoutLoanInstallment.LoanAmount.MoneyToDouble() &&
|
||||
x.EmployeeId == customizeCheckout.EmployeeId &&
|
||||
x.WorkshopId == customizeCheckout.WorkshopId).ToList();
|
||||
|
||||
var installment = installments.First(x => loans.Any(l => l.id == x.LoanId));
|
||||
|
||||
@@ -297,11 +330,11 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
installment.Id));
|
||||
}
|
||||
}
|
||||
|
||||
customizeCheckout.SetValueObjects(newFines, newInstallments, newSalary, newRewards);
|
||||
|
||||
|
||||
_context.SaveChanges();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -316,8 +349,8 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
var calculationMonth = Convert.ToInt32(calculationDate.ToFarsiMonth());
|
||||
var calculationYear = Convert.ToInt32(calculationDate.ToFarsiYear());
|
||||
|
||||
salaryAid.Edit(salaryAid.Amount, salaryAid.SalaryAidDateTime, 0, UserType.Anonymous, calculationMonth, calculationYear);
|
||||
|
||||
salaryAid.Edit(salaryAid.Amount, salaryAid.SalaryAidDateTime, 0, UserType.Anonymous, calculationMonth,
|
||||
calculationYear);
|
||||
}
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
@@ -329,7 +362,8 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
.Include(x => x.EmployeeDocumentItemCollection)
|
||||
.Where(x => x.IsConfirmed);
|
||||
|
||||
var employeeClientTemps = await _context.EmployeeClientTemps.Where(x => employeeDocuments.Any(a => a.WorkshopId == x.WorkshopId && a.EmployeeId == x.EmployeeId)).ToListAsync();
|
||||
var employeeClientTemps = await _context.EmployeeClientTemps.Where(x =>
|
||||
employeeDocuments.Any(a => a.WorkshopId == x.WorkshopId && a.EmployeeId == x.EmployeeId)).ToListAsync();
|
||||
|
||||
foreach (var employeeClientTemp in employeeClientTemps)
|
||||
{
|
||||
@@ -341,7 +375,8 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
|
||||
private async System.Threading.Tasks.Task ChangeIsConfirmed()
|
||||
{
|
||||
var employeeDocuments = await _context.EmployeeDocuments.Include(x => x.EmployeeDocumentItemCollection).ToListAsync();
|
||||
var employeeDocuments = await _context.EmployeeDocuments.Include(x => x.EmployeeDocumentItemCollection)
|
||||
.ToListAsync();
|
||||
foreach (var employeeDocument in employeeDocuments)
|
||||
{
|
||||
employeeDocument.UpdateRequiredItemsSubmittedByClient();
|
||||
@@ -349,24 +384,25 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
employeeDocument.UpdateIsSentToChecker();
|
||||
employeeDocument.UpdateIsConfirmed();
|
||||
}
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
public async System.Threading.Tasks.Task RefactorEmployeeDocumentItem()
|
||||
{
|
||||
var employeeDocumentItems = await _context.EmployeeDocumentItems.Where(x => x.UploaderType == UserType.Admin).ToListAsync();
|
||||
var employeeDocumentItems = await _context.EmployeeDocumentItems
|
||||
.Where(x => x.UploaderType == UserType.Admin).ToListAsync();
|
||||
foreach (var employeeDocumentItem in employeeDocumentItems)
|
||||
{
|
||||
var roleId = _accountContext.Accounts.FirstOrDefault(x => x.id == employeeDocumentItem.UploaderId)?.RoleId ?? 0;
|
||||
var roleId = _accountContext.Accounts.FirstOrDefault(x => x.id == employeeDocumentItem.UploaderId)
|
||||
?.RoleId ?? 0;
|
||||
employeeDocumentItem.SetRoleId(roleId);
|
||||
}
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#region Create reward for kebab mahdi
|
||||
|
||||
public async System.Threading.Tasks.Task CreateRewardForKebabMahdi()
|
||||
@@ -388,8 +424,6 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
// .Where(x => x.EmployeesStatus.Any(s => s.StartDate <= sinzdahBedarDate && s.EndDate >= sinzdahBedarDate)).Select(x=>x.EmployeeId);
|
||||
|
||||
|
||||
|
||||
|
||||
//var employeeSettings = _context.CustomizeWorkshopEmployeeSettings
|
||||
// .Where(x => x.WorkshopId == 170 &&
|
||||
// employeesHaveRollCall.Any(c => c == x.EmployeeId));
|
||||
@@ -444,8 +478,6 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
|
||||
foreach (var item in workshopAccount)
|
||||
{
|
||||
|
||||
|
||||
var oldActive = item.FirstOrDefault(x => oldAccountleftworkActiveNow.Contains(x.AccountId));
|
||||
if (oldActive != null)
|
||||
{
|
||||
@@ -460,11 +492,11 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
|
||||
foreach (var workshop in item)
|
||||
{
|
||||
_accountContext.AccountLeftWorks.Add(new AccountLeftWork(startGr, continueWorking, workshop.AccountId, workshop.WorkshopId, roleId, true));
|
||||
|
||||
_accountContext.AccountLeftWorks.Add(new AccountLeftWork(startGr, continueWorking,
|
||||
workshop.AccountId, workshop.WorkshopId, roleId, true));
|
||||
}
|
||||
_accountContext.SaveChanges();
|
||||
|
||||
_accountContext.SaveChanges();
|
||||
}
|
||||
|
||||
var oldDeActive = item.FirstOrDefault(x => oldAccountleftworkDeActivedNow.Contains(x.AccountId));
|
||||
@@ -478,14 +510,12 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
startGr = new DateTime(2023, 03, 21);
|
||||
foreach (var workshop in item)
|
||||
{
|
||||
_accountContext.Add(new AccountLeftWork(startGr, new DateTime(2024, 07, 21), workshop.AccountId, workshop.WorkshopId, roleId, false));
|
||||
|
||||
_accountContext.Add(new AccountLeftWork(startGr, new DateTime(2024, 07, 21), workshop.AccountId,
|
||||
workshop.WorkshopId, roleId, false));
|
||||
}
|
||||
|
||||
_accountContext.SaveChanges();
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Console.WriteLine("finished");
|
||||
@@ -495,7 +525,8 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
|
||||
#region RefactorRollcall
|
||||
|
||||
private void RefactorAllTheRollCallsOnEsfand(List<global::Company.Domain.RollCallAgg.RollCall> endedRollCalls, List<global::Company.Domain.RollCallAgg.RollCall> notEndedRollCalls)
|
||||
private void RefactorAllTheRollCallsOnEsfand(List<global::Company.Domain.RollCallAgg.RollCall> endedRollCalls,
|
||||
List<global::Company.Domain.RollCallAgg.RollCall> notEndedRollCalls)
|
||||
{
|
||||
var countEndedRollCalls = endedRollCalls.Count;
|
||||
var countNotEndedRollCalls = notEndedRollCalls.Count;
|
||||
@@ -517,8 +548,6 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
}
|
||||
|
||||
_context.SaveChanges();
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void SetBreakTime(List<global::Company.Domain.RollCallAgg.RollCall> r1)
|
||||
@@ -529,9 +558,9 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
|
||||
_context.SaveChanges();
|
||||
}
|
||||
|
||||
private void SetRollCall(List<global::Company.Domain.RollCallAgg.RollCall> r1)
|
||||
{
|
||||
|
||||
var endedRollCalls2 = r1.Where(x => x.EndDate != null).ToList();
|
||||
var countSetTDRollCall = endedRollCalls2.Count;
|
||||
var stepSetTDRollCal = 1;
|
||||
@@ -540,11 +569,13 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
{
|
||||
rollCall.ClearTimeDiff();
|
||||
}
|
||||
|
||||
_context.SaveChanges();
|
||||
foreach (var endedRollCall in endedRollCalls2)
|
||||
{
|
||||
endedRollCall.Edit(endedRollCall.StartDate.Value, endedRollCall.EndDate.Value, _rollCallDomainService);
|
||||
Console.WriteLine($"{stepSetTDRollCal} - {countSetTDRollCall} ended Set Time Differences{endedRollCall.id}");
|
||||
Console.WriteLine(
|
||||
$"{stepSetTDRollCal} - {countSetTDRollCall} ended Set Time Differences{endedRollCall.id}");
|
||||
stepSetTDRollCal += 1;
|
||||
}
|
||||
|
||||
@@ -554,21 +585,22 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
|
||||
private void SetRollCall2(List<global::Company.Domain.RollCallAgg.RollCall> r2)
|
||||
{
|
||||
|
||||
|
||||
var endedRollCalls2 = r2.Where(x => x.EndDate != null).ToList();
|
||||
var countSetTDRollCall = endedRollCalls2.Count;
|
||||
var stepSetTDRollCal = 1;
|
||||
foreach (var endedRollCall in endedRollCalls2)
|
||||
{
|
||||
endedRollCall.SetEndDateTime(endedRollCall.EndDate.Value, _rollCallDomainService);
|
||||
Console.WriteLine($"{stepSetTDRollCal} - {countSetTDRollCall} ended Set Time Differences{endedRollCall.id}");
|
||||
Console.WriteLine(
|
||||
$"{stepSetTDRollCal} - {countSetTDRollCall} ended Set Time Differences{endedRollCall.id}");
|
||||
stepSetTDRollCal += 1;
|
||||
}
|
||||
|
||||
//_context.SaveChanges();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
//public async Task<IActionResult> OnPostShiftDate()
|
||||
//{
|
||||
// var customizeWorkshopSettings = _context.CustomizeWorkshopSettings.AsSplitQuery();
|
||||
@@ -593,7 +625,8 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
|
||||
private async System.Threading.Tasks.Task ChangeFridayWorkToWeeklyDayOfWeek()
|
||||
{
|
||||
var employeeSettingsEnumerable = await _context.CustomizeWorkshopEmployeeSettings.Where(x => x.FridayWork == FridayWork.Default).ToListAsync();
|
||||
var employeeSettingsEnumerable = await _context.CustomizeWorkshopEmployeeSettings
|
||||
.Where(x => x.FridayWork == FridayWork.Default).ToListAsync();
|
||||
foreach (var employeeSetting in employeeSettingsEnumerable)
|
||||
{
|
||||
employeeSetting.FridayWorkToWeeklyDayOfWeek();
|
||||
@@ -615,19 +648,169 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
}
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
}
|
||||
|
||||
private async System.Threading.Tasks.Task SetPublicId()
|
||||
{
|
||||
var financialStatements = await _context.FinancialStatments.Where(x=>x.PublicId ==Guid.Empty).ToListAsync();
|
||||
var financialStatements =
|
||||
await _context.FinancialStatments.Where(x => x.PublicId == Guid.Empty).ToListAsync();
|
||||
foreach (var financialStatement in financialStatements)
|
||||
{
|
||||
financialStatement.SetPublicId();
|
||||
}
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
#region InstitutionContract
|
||||
|
||||
private async System.Threading.Tasks.Task UpdateInstitutionContract()
|
||||
{
|
||||
var today = DateTime.Today;
|
||||
var transaction = await _context.Database.BeginTransactionAsync();
|
||||
var query = _context.InstitutionContractSet
|
||||
.Include(x => x.WorkshopGroup)
|
||||
.Join(_context.PersonalContractingParties
|
||||
.Include(x => x.Employers)
|
||||
.ThenInclude(x => x.WorkshopEmployers)
|
||||
.ThenInclude(x => x.Workshop)
|
||||
.ThenInclude(x => x.LeftWorks),
|
||||
contract => contract.ContractingPartyId,
|
||||
contractingParty => contractingParty.id,
|
||||
(contract, contractingParty) => new { contract, contractingParty });
|
||||
|
||||
|
||||
var remoteContractsQuery = query
|
||||
.Where(x => x.contractingParty.Employers
|
||||
.Any(e => e.WorkshopEmployers
|
||||
.Any(we => we.Workshop.ArchiveCode == "99")));
|
||||
|
||||
var remoteContracts = remoteContractsQuery.ToList();
|
||||
|
||||
foreach (var item in remoteContracts)
|
||||
{
|
||||
//TODO: set data for institution price
|
||||
var workshops = item.contractingParty.Employers
|
||||
.SelectMany(e => e.WorkshopEmployers.Select(we => we.Workshop)).ToList();
|
||||
|
||||
var initialWorkshop = workshops
|
||||
.Select(w =>
|
||||
{
|
||||
var personnelCount =
|
||||
w.LeftWorks.Count(lw => lw.StartWorkDate <= today && lw.LeftWorkDate >= today);
|
||||
|
||||
var calculation = _clientRegistrationApplication
|
||||
.GetInstitutionPlanForWorkshop(new WorkshopTempViewModel()
|
||||
{
|
||||
CustomizeCheckout = false,
|
||||
Insurance = true,
|
||||
InsuranceInPerson = false,
|
||||
RollCall = true,
|
||||
WorkshopName = "",
|
||||
ContractAndCheckout = true,
|
||||
ContractAndCheckoutInPerson = false,
|
||||
ContractingPartyTempId = 0,
|
||||
CountPerson = personnelCount
|
||||
});
|
||||
var amount = calculation.OnlineAndInPersonSumAmountDouble;
|
||||
|
||||
var initial = InstitutionContractWorkshopInitial.CreateManual(w.WorkshopFullName, false,
|
||||
false, false, true,
|
||||
false, true, false, personnelCount, amount,
|
||||
w.id, w.WorkshopEmployers.Select(x => x.EmployerId
|
||||
).ToList());
|
||||
return initial;
|
||||
}).ToList();
|
||||
|
||||
var group = new InstitutionContractWorkshopGroup(item.contract.id, initialWorkshop);
|
||||
|
||||
var current = initialWorkshop.Select(x =>
|
||||
{
|
||||
var entity = new InstitutionContractWorkshopCurrent(x.WorkshopName,
|
||||
x.Services.RollCall, x.Services.RollCallInPerson, x.Services.CustomizeCheckout,
|
||||
x.Services.Contract,
|
||||
x.Services.ContractInPerson, x.Services.Insurance, x.Services.InsuranceInPerson,
|
||||
x.PersonnelCount,
|
||||
x.Price, x.InstitutionContractWorkshopGroupId);
|
||||
entity.SetEmployers(x.Employers.Select(e => e.EmployerId).ToList());
|
||||
|
||||
return entity;
|
||||
}).ToList();
|
||||
|
||||
group.UpdateCurrentWorkshops(current);
|
||||
|
||||
await _context.AddAsync(group);
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
|
||||
item.contract.SetWorkshopGroup(group);
|
||||
}
|
||||
|
||||
var inPersonContracts = query.Except(remoteContracts);
|
||||
foreach (var item in inPersonContracts)
|
||||
{
|
||||
var workshops = item.contractingParty.Employers
|
||||
.SelectMany(e => e.WorkshopEmployers.Select(we => we.Workshop)).ToList();
|
||||
|
||||
var initialWorkshop = workshops
|
||||
.Select(w =>
|
||||
{
|
||||
var personnelCount =
|
||||
w.LeftWorks.Count(lw => lw.StartWorkDate <= today && lw.LeftWorkDate >= today);
|
||||
|
||||
var calculation = _clientRegistrationApplication
|
||||
.GetInstitutionPlanForWorkshop(new WorkshopTempViewModel()
|
||||
{
|
||||
CustomizeCheckout = false,
|
||||
Insurance = true,
|
||||
InsuranceInPerson = false,
|
||||
RollCall = true,
|
||||
WorkshopName = "",
|
||||
ContractAndCheckout = true,
|
||||
ContractAndCheckoutInPerson = false,
|
||||
ContractingPartyTempId = 0,
|
||||
CountPerson = personnelCount
|
||||
});
|
||||
|
||||
var initial = InstitutionContractWorkshopInitial.CreateManual(w.WorkshopFullName, false,
|
||||
false, false, true,
|
||||
false, true, false, personnelCount,0,
|
||||
w.id, w.WorkshopEmployers.Select(x => x.EmployerId
|
||||
).ToList());
|
||||
return initial;
|
||||
}).ToList();
|
||||
|
||||
var group = new InstitutionContractWorkshopGroup(item.contract.id, initialWorkshop);
|
||||
|
||||
var current = initialWorkshop.Select(x =>
|
||||
{
|
||||
var entity = new InstitutionContractWorkshopCurrent(x.WorkshopName,
|
||||
x.Services.RollCall, x.Services.RollCallInPerson, x.Services.CustomizeCheckout,
|
||||
x.Services.Contract,
|
||||
x.Services.ContractInPerson, x.Services.Insurance, x.Services.InsuranceInPerson,
|
||||
x.PersonnelCount,
|
||||
x.Price, x.InstitutionContractWorkshopGroupId);
|
||||
entity.SetEmployers(x.Employers.Select(e => e.EmployerId).ToList());
|
||||
|
||||
return entity;
|
||||
}).ToList();
|
||||
|
||||
group.UpdateCurrentWorkshops(current);
|
||||
|
||||
await _context.AddAsync(group);
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
item.contract.SetWorkshopGroup(group);
|
||||
}
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
await transaction.CommitAsync();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
public class IndexModel2 : PageModel
|
||||
{
|
||||
private readonly ILogger<IndexModel2> logger;
|
||||
@@ -639,12 +822,10 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
this.httpClientFactory = httpClientFactory;
|
||||
}
|
||||
|
||||
[BindProperty]
|
||||
public string? Message { get; set; }
|
||||
[BindProperty] public string? Message { get; set; }
|
||||
|
||||
public void OnGet()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnPostAsync()
|
||||
@@ -656,7 +837,8 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
{
|
||||
pin = "aqayepardakht",
|
||||
amount = 100,
|
||||
callback = System.Web.HttpUtility.UrlEncode(Url.Page("./Index", "Callback", null, Request.Scheme, Request.Host.Value)),
|
||||
callback = System.Web.HttpUtility.UrlEncode(Url.Page("./Index", "Callback", null, Request.Scheme,
|
||||
Request.Host.Value)),
|
||||
card_number = "1111111111111111",
|
||||
invoice_id = "{C771E841-B810-413D-9D4C-9F659575B8CC}",
|
||||
mobile = "09121111111",
|
||||
@@ -674,7 +856,8 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
return Page();
|
||||
}
|
||||
|
||||
public async System.Threading.Tasks.Task OnGetCallbackAsync(string? transid, string? cardnumber, string? tracking_number)
|
||||
public async System.Threading.Tasks.Task OnGetCallbackAsync(string? transid, string? cardnumber,
|
||||
string? tracking_number)
|
||||
{
|
||||
Message = null;
|
||||
|
||||
@@ -756,14 +939,11 @@ namespace ServiceHost.Areas.AdminNew.Pages.Company.AndroidApk
|
||||
|
||||
public class TokenResponse
|
||||
{
|
||||
[JsonPropertyName("status")]
|
||||
public string? Status { get; set; }
|
||||
[JsonPropertyName("status")] public string? Status { get; set; }
|
||||
|
||||
[JsonPropertyName("code")]
|
||||
public int? ErrorCode { get; set; }
|
||||
[JsonPropertyName("code")] public int? ErrorCode { get; set; }
|
||||
|
||||
[JsonPropertyName("transid")]
|
||||
public string? TransactionId { get; set; }
|
||||
[JsonPropertyName("transid")] public string? TransactionId { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user