finish create employee bug
This commit is contained in:
@@ -49,40 +49,51 @@ public class LeftWorkTempApplication : ILeftWorkTempApplication
|
||||
_rollCallEmployeeRepository = rollCallEmployeeRepository;
|
||||
}
|
||||
|
||||
public async Task<OperationResult> Create(CreateLeftWorkTemp command)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
public async Task<OperationResult> Create(CreateLeftWorkTemp command)
|
||||
{
|
||||
var op = new OperationResult();
|
||||
|
||||
foreach (var employee in command.EmployeeIds)
|
||||
{
|
||||
#region Validation
|
||||
foreach (var employeeId in command.EmployeeIds)
|
||||
{
|
||||
#region Validation
|
||||
|
||||
if (command.LeftWorkTime.TryToGeorgianDateTime(out var leftWorkDateGr) == false)
|
||||
{
|
||||
return op.Failed("تاریخ شروع به کار وارد شده نامعتبر است");
|
||||
}
|
||||
if (command.LastDayStanding.TryToGeorgianDateTime(out var lastDayStandingDateGr) == false)
|
||||
{
|
||||
return op.Failed("تاریخ شروع به کار وارد شده نامعتبر است");
|
||||
}
|
||||
var leftWork = _leftWorkRepository.GetByDateAndWorkshopIdAndEmployeeId(command.WorkshopId, employee, lastDayStandingDateGr);
|
||||
if (command.LeftWorkTime.TryToGeorgianDateTime(out var leftWorkDateGr) == false)
|
||||
{
|
||||
return op.Failed("تاریخ شروع به کار وارد شده نامعتبر است");
|
||||
}
|
||||
if (command.LastDayStanding.TryToGeorgianDateTime(out var lastDayStandingDateGr) == false)
|
||||
{
|
||||
return op.Failed("تاریخ شروع به کار وارد شده نامعتبر است");
|
||||
}
|
||||
|
||||
var leftWork = await _leftWorkRepository.GetLastLeftWork(employeeId, command.WorkshopId);
|
||||
|
||||
if (lastDayStandingDateGr.AddDays(1).Date != leftWorkDateGr)
|
||||
{
|
||||
return op.Failed("تاریخ آخرین روز کاری با تاریخ ترک کار یک روز اختلاف ندارند");
|
||||
}
|
||||
|
||||
if (leftWork == null)
|
||||
{
|
||||
return op.Failed("شروع به کار پرسنل یافت نشد");
|
||||
}
|
||||
{
|
||||
return op.Failed("تاریخ آخرین روز کاری با تاریخ ترک کار یک روز اختلاف ندارند");
|
||||
}
|
||||
|
||||
if (leftWork == null)
|
||||
{
|
||||
return op.Failed("شروع به کار پرسنل یافت نشد");
|
||||
}
|
||||
|
||||
if (leftWork.HasLeft)
|
||||
{
|
||||
return op.Failed("پرسنل وارد شده قبلا ترک کار ثبت شده است");
|
||||
}
|
||||
|
||||
if (leftWork.StartWorkDate > lastDayStandingDateGr)
|
||||
{
|
||||
return op.Failed("تاریخ ثبت شده قبل از شروع به کار است");
|
||||
}
|
||||
|
||||
if (leftWork.WorkshopId != command.WorkshopId || leftWork.EmployeeId != employeeId)
|
||||
{
|
||||
return op.Failed("اطلاعات وارد شده نامعتبر است");
|
||||
}
|
||||
|
||||
if (leftWork.WorkshopId != command.WorkshopId || leftWork.EmployeeId != employee)
|
||||
{
|
||||
return op.Failed("اطلاعات وارد شده نامعتبر است");
|
||||
}
|
||||
|
||||
|
||||
|
||||
//if (leftWork.StartWorkDate >= leftWorkDateGr)
|
||||
//{
|
||||
@@ -106,17 +117,17 @@ public class LeftWorkTempApplication : ILeftWorkTempApplication
|
||||
|
||||
#endregion
|
||||
|
||||
var leftWorkTemp = LeftWorkTemp.CreateLeftWork(leftWork.Id, leftWork.StartWorkDateGr, leftWorkDateGr, lastDayStandingDateGr,
|
||||
command.WorkshopId, employee, leftWork.JobId);
|
||||
var leftWorkTemp = LeftWorkTemp.CreateLeftWork(leftWork.id, leftWork.StartWorkDate, leftWorkDateGr, lastDayStandingDateGr,
|
||||
command.WorkshopId, employeeId, leftWork.JobId);
|
||||
|
||||
await _leftWorkTempRepository.CreateAsync(leftWorkTemp);
|
||||
}
|
||||
await _leftWorkTempRepository.CreateAsync(leftWorkTemp);
|
||||
}
|
||||
|
||||
await _leftWorkTempRepository.SaveChangesAsync();
|
||||
return op.Succcedded();
|
||||
}
|
||||
await _leftWorkTempRepository.SaveChangesAsync();
|
||||
return op.Succcedded();
|
||||
}
|
||||
|
||||
public Task<GetStartWorkTempDetails> GetStartAndLeftWorkDetails(long employeeId, long workshopId)
|
||||
public Task<GetStartWorkTempDetails> GetStartAndLeftWorkDetails(long employeeId, long workshopId)
|
||||
{
|
||||
return _leftWorkTempRepository.GetStartAndLeftWorkDetails(employeeId, workshopId);
|
||||
}
|
||||
|
||||
@@ -155,12 +155,8 @@
|
||||
|
||||
<script>
|
||||
//Job Load
|
||||
var jobsLoadEmployeeAjaxUrl = `@Url.Page("/Company/Employees/EmployeeList", "JobSearch")`;
|
||||
var jobsLoadRollCallAjaxUrl = `@Url.Page("/Company/RollCall/EmployeeUploadPicture", "JobSearch")`;
|
||||
|
||||
//get Employee Data By NationalCode
|
||||
var getEmployeeDataByNationalCodeUrl = `@Url.Page("/Company/Employees/EmployeeList", "EmployeeDetailsWithNationalCode")`;
|
||||
var getRollCallDataByNationalCodeUrl = `@Url.Page("/Company/RollCall/EmployeeUploadPicture", "EmployeeDetailsWithNationalCode")`;
|
||||
|
||||
var jobsLoadEmployeeAjaxUrl = `@Url.Page("/Company/Employees/EmployeeList", "JobSearch")`; // EmployeeList Handler
|
||||
var jobsLoadRollCallAjaxUrl = `@Url.Page("/Company/RollCall/EmployeeUploadPicture", "JobSearch")`; // RollCall Handler
|
||||
var jobsLoadHomeAjaxUrl = `@Url.Page("/Index", "JobSearch")`; // Home Handler
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/employees/js/createemployeeform.js?ver=@clientVersion"></script>
|
||||
@@ -49,13 +49,9 @@
|
||||
</div>
|
||||
|
||||
<script>
|
||||
//Job Load
|
||||
var jobsLoadEmployeeAjaxUrl = `@Url.Page("/Company/Employees/EmployeeList", "JobSearch")`;
|
||||
var jobsLoadRollCallAjaxUrl = `@Url.Page("/Company/RollCall/EmployeeUploadPicture", "JobSearch")`;
|
||||
|
||||
//get Employee Data By NationalCode
|
||||
var getEmployeeDataByNationalCodeUrl = `@Url.Page("/Company/Employees/EmployeeList", "EmployeeDetailsWithNationalCode")`;
|
||||
var getRollCallDataByNationalCodeUrl = `@Url.Page("/Company/RollCall/EmployeeUploadPicture", "EmployeeDetailsWithNationalCode")`;
|
||||
|
||||
var getEmployeeDataByNationalCodeUrl = `@Url.Page("/Company/Employees/EmployeeList", "EmployeeDetailsWithNationalCode")`; // EmployeeList Handler
|
||||
var getRollCallDataByNationalCodeUrl = `@Url.Page("/Company/RollCall/EmployeeUploadPicture", "EmployeeDetailsWithNationalCode")`; // RollCall Handler
|
||||
var getHomeDataByNationalCodeUrl = `@Url.Page("/Index", "EmployeeDetailsWithNationalCode")`; // Home Handler
|
||||
</script>
|
||||
<script src="~/assetsclient/pages/employees/js/identityinformationmodal.js?ver=@clientVersion"></script>
|
||||
@@ -16,6 +16,7 @@ using System.Security.Claims;
|
||||
using _0_Framework.Infrastructure;
|
||||
using CompanyManagment.App.Contracts.Bank;
|
||||
using CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
||||
using CompanyManagment.App.Contracts.Job;
|
||||
using CompanyManagment.App.Contracts.PersonnleCode;
|
||||
using CompanyManagment.App.Contracts.LeftWorkTemp;
|
||||
|
||||
@@ -39,6 +40,7 @@ namespace ServiceHost.Areas.Client.Pages
|
||||
private readonly ICustomizeWorkshopSettingsApplication _customizeWorkshopSettingsApplication;
|
||||
private readonly IBankApplication _bankApplication;
|
||||
private readonly ILeftWorkTempApplication _leftWorkTempApplication;
|
||||
private readonly IJobApplication _jobApplication;
|
||||
|
||||
public string profilePicture { get; set; }
|
||||
public string AccountFullName { get; set; }
|
||||
@@ -59,7 +61,7 @@ namespace ServiceHost.Areas.Client.Pages
|
||||
public bool HasApkToDownload { get; set; }
|
||||
|
||||
#endregion
|
||||
public IndexModel(IAuthHelper authHelper, IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, ILeaveApplication leaveApplication, IEmployeeApplication employeeApplication, IPaymentToEmployeeItemApplication paymentToEmployeeItemApplication, IPaymentToEmployeeApplication paymentToEmployeeApplication, IHolidayItemApplication holidayItemApplication, IInsuranceListApplication insuranceListApplication, IAndroidApkVersionApplication androidApkVersionApplication, IRollCallServiceApplication rollCallServiceApplication, IPersonnelCodeApplication personnelCodeApplication, ICustomizeWorkshopSettingsApplication customizeWorkshopSettingsApplication, IBankApplication bankApplication, ILeftWorkTempApplication leftWorkTempApplication)
|
||||
public IndexModel(IAuthHelper authHelper, IPasswordHasher passwordHasher, IWorkshopApplication workshopApplication, ILeaveApplication leaveApplication, IEmployeeApplication employeeApplication, IPaymentToEmployeeItemApplication paymentToEmployeeItemApplication, IPaymentToEmployeeApplication paymentToEmployeeApplication, IHolidayItemApplication holidayItemApplication, IInsuranceListApplication insuranceListApplication, IAndroidApkVersionApplication androidApkVersionApplication, IRollCallServiceApplication rollCallServiceApplication, IPersonnelCodeApplication personnelCodeApplication, ICustomizeWorkshopSettingsApplication customizeWorkshopSettingsApplication, IBankApplication bankApplication, ILeftWorkTempApplication leftWorkTempApplication, IJobApplication jobApplication)
|
||||
{
|
||||
_workshopApplication = workshopApplication;
|
||||
_employeeApplication = employeeApplication;
|
||||
@@ -73,6 +75,7 @@ namespace ServiceHost.Areas.Client.Pages
|
||||
_customizeWorkshopSettingsApplication = customizeWorkshopSettingsApplication;
|
||||
_bankApplication = bankApplication;
|
||||
_leftWorkTempApplication = leftWorkTempApplication;
|
||||
_jobApplication = jobApplication;
|
||||
_leaveApplication = leaveApplication;
|
||||
_authHelper = authHelper;
|
||||
_passwordHasher = passwordHasher;
|
||||
@@ -496,7 +499,22 @@ namespace ServiceHost.Areas.Client.Pages
|
||||
});
|
||||
}
|
||||
|
||||
public IActionResult OnGetCreateEmployee()
|
||||
public IActionResult OnGetJobSearch(string jobName)
|
||||
{
|
||||
var jobViewModels = _jobApplication.GetJobListByText(jobName);
|
||||
|
||||
return new JsonResult(jobViewModels);
|
||||
}
|
||||
|
||||
public async Task<IActionResult> OnGetEmployeeDetailsWithNationalCode(string nationalCode, string birthDate)
|
||||
{
|
||||
var workshopSlug = User.FindFirst("WorkshopSlug")?.Value;
|
||||
long workshopIDecrypt = _passwordHasher.SlugDecrypt(workshopSlug);
|
||||
var result = await _employeeApplication.ValidateCreateEmployeeClientByNationalCodeAndWorkshopId(nationalCode, birthDate, workshopIDecrypt);
|
||||
return new JsonResult(result);
|
||||
}
|
||||
|
||||
public IActionResult OnGetCreateEmployee()
|
||||
{
|
||||
var workshopSlug = User.FindFirst("WorkshopSlug")?.Value;
|
||||
long workshopIDecrypt = _passwordHasher.SlugDecrypt(workshopSlug);
|
||||
|
||||
@@ -254,22 +254,21 @@
|
||||
</div>
|
||||
|
||||
<div class="col" Permission="@SubAccountPermissionHelper.WorkFlowOperationsPermissionCode">
|
||||
<a class="bg-transparent position-relative" asp-page="/Company/WorkFlow/Index">
|
||||
<svg width="42" height="42" viewBox="-4.08 -4.08 32.16 32.16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="SVGRepo_bgCarrier" stroke-width="0"></g>
|
||||
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>
|
||||
<g id="SVGRepo_iconCarrier">
|
||||
<circle cx="19" cy="5" r="3" stroke="#14B8A6" stroke-width="1.8"></circle>
|
||||
<path d="M7 14H16" stroke="#14B8A6" stroke-width="1.8" stroke-linecap="round"></path>
|
||||
<path d="M7 17.5H13" stroke="#14B8A6" stroke-width="1.8" stroke-linecap="round"></path>
|
||||
<path d="M2 12C2 16.714 2 19.0711 3.46447 20.5355C4.92893 22 7.28595 22 12 22C16.714 22 19.0711 22 20.5355 20.5355C22 19.0711 22 16.714 22 12V10.5M13.5 2H12C7.28595 2 4.92893 2 3.46447 3.46447C2.49073 4.43821 2.16444 5.80655 2.0551 8" stroke="#14B8A6" stroke-width="1.8" stroke-linecap="round"></path>
|
||||
</g>
|
||||
</svg>
|
||||
<span id="_countWorkFlowMenuMobile" class="alert-number">
|
||||
@* @(ViewData["countWorkFlow"] != null && (int)ViewData["countWorkFlow"] > 99 ? "+99" : ViewData["countWorkFlow"]) *@
|
||||
</span>
|
||||
@* <span id="_countWorkFlowMenuMobile" class="alert-number @((int)ViewData["countWorkFlow"] == 0 ? "d-none" : "")">@ViewData["countWorkFlow"]</span> *@
|
||||
<span>کارپوشه</span>
|
||||
<a class="bg-transparent position-relative d-flex align-items-center justify-content-center flex-column" asp-page="/Company/WorkFlow/Index">
|
||||
<div style="width: 45px;display: flex;align-items: center;justify-content: center;position: relative;height: 40px;">
|
||||
<svg width="42" height="42" viewBox="-4.08 -4.08 32.16 32.16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="SVGRepo_bgCarrier" stroke-width="0"></g>
|
||||
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>
|
||||
<g id="SVGRepo_iconCarrier">
|
||||
<circle cx="19" cy="5" r="3" stroke="#14B8A6" stroke-width="1.8"></circle>
|
||||
<path d="M7 14H16" stroke="#14B8A6" stroke-width="1.8" stroke-linecap="round"></path>
|
||||
<path d="M7 17.5H13" stroke="#14B8A6" stroke-width="1.8" stroke-linecap="round"></path>
|
||||
<path d="M2 12C2 16.714 2 19.0711 3.46447 20.5355C4.92893 22 7.28595 22 12 22C16.714 22 19.0711 22 20.5355 20.5355C22 19.0711 22 16.714 22 12V10.5M13.5 2H12C7.28595 2 4.92893 2 3.46447 3.46447C2.49073 4.43821 2.16444 5.80655 2.0551 8" stroke="#14B8A6" stroke-width="1.8" stroke-linecap="round"></path>
|
||||
</g>
|
||||
</svg>
|
||||
<span id="_countWorkFlowMenuMobile" class="alert-number"></span>
|
||||
</div>
|
||||
<span>کارپوشه</span>
|
||||
</a>
|
||||
</div>
|
||||
@* <div class="col">
|
||||
|
||||
@@ -519,7 +519,7 @@
|
||||
color: #fff;
|
||||
font-weight: 600;
|
||||
padding: 2px 0 0 0;
|
||||
top: -12px;
|
||||
top: -4px;
|
||||
left: -4px;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,9 @@ $(document).ready(function () {
|
||||
dir: "rtl"
|
||||
});
|
||||
var jobsLoadAjaxURL = '';
|
||||
if (currentUrl.includes("/Client/Company/Employees/EmployeeList")) {
|
||||
if (currentUrl.includes("/Client#showmodal=/Client?handler=CreateEmployee")) {
|
||||
jobsLoadAjaxURL = jobsLoadHomeAjaxUrl;
|
||||
} else if (currentUrl.includes("/Client/Company/Employees/EmployeeList")) {
|
||||
jobsLoadAjaxURL = jobsLoadEmployeeAjaxUrl;
|
||||
} else {
|
||||
jobsLoadAjaxURL = jobsLoadRollCallAjaxUrl;
|
||||
|
||||
@@ -427,7 +427,7 @@ function saveFullData() {
|
||||
if (pic1) formData.append("Command.RollCallUploadEmployeePicture.Picture1", pic1);
|
||||
if (pic2) formData.append("Command.RollCallUploadEmployeePicture.Picture2", pic2);
|
||||
|
||||
if (currentUrl.includes("/Client/Company/Employees/EmployeeList")) {
|
||||
if (currentUrl.includes("/Client/Company/Employees/EmployeeList") || currentUrl.includes("/Client#showmodal=/Client?handler=CreateEmployee")) {
|
||||
employeeBankInfos.forEach((item, index) => {
|
||||
formData.append(`Command.EmployeeBankInfos[${index}].BankId`, item.BankId);
|
||||
formData.append(`Command.EmployeeBankInfos[${index}].BankAccountNumber`, item.BankAccountNumber);
|
||||
|
||||
@@ -66,7 +66,10 @@ function checkNationalCodeAndBirthday() {
|
||||
|
||||
function checkNationalCode(nationalCode, birthDate) {
|
||||
let checkNationalUrl = '';
|
||||
if (currentUrl.includes("/Client/Company/RollCall/EmployeeUploadPicture")) {
|
||||
|
||||
if (currentUrl.includes("/Client#showmodal=/Client?handler=CreateEmployee")) {
|
||||
checkNationalUrl = getHomeDataByNationalCodeUrl;
|
||||
} else if (currentUrl.includes("/Client/Company/RollCall/EmployeeUploadPicture")) {
|
||||
checkNationalUrl = getRollCallDataByNationalCodeUrl;
|
||||
} else {
|
||||
checkNationalUrl = getEmployeeDataByNationalCodeUrl;
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
$(document).ready(function () {
|
||||
let currentUrlGroup = window.location.href;
|
||||
|
||||
$(document).ready(function () {
|
||||
$(document).on("click", ".btn-cancel2", function () {
|
||||
$('#MainModal').modal('toggle');
|
||||
});
|
||||
@@ -696,12 +698,10 @@ $(document).ready(function () {
|
||||
});
|
||||
|
||||
function loadWorkshopSettingList() {
|
||||
let currentUrl = window.location.href; // Get the full URL
|
||||
let workshopSettingListUrl = '';
|
||||
|
||||
if (currentUrl.includes("/Client#showmodal=/Client?handler=CreateEmployee")) {
|
||||
if (currentUrlGroup.includes("/Client#showmodal=/Client?handler=CreateEmployee")) {
|
||||
workshopSettingListUrl = workshopSettingListAjaxHome;
|
||||
} else if (currentUrl.includes("/Client/Company/RollCall/EmployeeUploadPicture")) {
|
||||
} else if (currentUrlGroup.includes("/Client/Company/RollCall/EmployeeUploadPicture")) {
|
||||
workshopSettingListUrl = workshopSettingListAjaxRollCall;
|
||||
} else {
|
||||
workshopSettingListUrl = workshopSettingListAjax;
|
||||
@@ -785,11 +785,21 @@ $('#workshopSettingSelect').on('change', function () {
|
||||
$('#next-step').removeClass('disable');
|
||||
}
|
||||
|
||||
|
||||
let workshopSettingListUrl = '';
|
||||
if (currentUrlGroup.includes("/Client#showmodal=/Client?handler=CreateEmployee")) {
|
||||
workshopSettingListUrl = workshopSettingListAjaxHome;
|
||||
} else if (currentUrlGroup.includes("/Client/Company/RollCall/EmployeeUploadPicture")) {
|
||||
workshopSettingListUrl = workshopSettingListAjaxRollCall;
|
||||
} else {
|
||||
workshopSettingListUrl = workshopSettingListAjax;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
type: 'GET',
|
||||
url: workshopSettingListAjax,
|
||||
url: workshopSettingListUrl,
|
||||
headers: { "RequestVerificationToken": antiForgeryToken },
|
||||
success: function (response) {
|
||||
const workshopSettingGroupSelecting = response.data;
|
||||
|
||||
Reference in New Issue
Block a user