1675 lines
56 KiB
C#
1675 lines
56 KiB
C#
using System.Text;
|
||
using _0_Framework.Application;
|
||
using Company.Domain.CheckoutAgg;
|
||
using Company.Domain.ContractAgg;
|
||
using CompanyManagment.App.Contracts.Checkout;
|
||
using CompanyManagment.App.Contracts.Contract;
|
||
using CompanyManagment.App.Contracts.Employee;
|
||
using CompanyManagment.App.Contracts.EmployeeChildren;
|
||
using CompanyManagment.App.Contracts.EmployeeClientTemp;
|
||
using CompanyManagment.App.Contracts.EmployeeInsuranceRecord;
|
||
using CompanyManagment.App.Contracts.Employer;
|
||
using CompanyManagment.App.Contracts.Error;
|
||
using CompanyManagment.App.Contracts.Job;
|
||
using CompanyManagment.App.Contracts.LeftWork;
|
||
using CompanyManagment.App.Contracts.LeftWorkInsurance;
|
||
using CompanyManagment.App.Contracts.LeftWorkTemp;
|
||
using CompanyManagment.App.Contracts.PersonnleCode;
|
||
using CompanyManagment.App.Contracts.Workshop;
|
||
using Microsoft.AspNetCore.Authorization;
|
||
using Microsoft.AspNetCore.Mvc;
|
||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||
using Microsoft.AspNetCore.Mvc.Rendering;
|
||
using PersianTools.Core;
|
||
using SocialExplorer.IO.FastDBF;
|
||
|
||
//using SocialExplorer.IO.FastDBF;
|
||
|
||
namespace ServiceHost.Areas.Admin.Pages.Company.Employees;
|
||
|
||
[Authorize]
|
||
public class IndexModel : PageModel
|
||
{
|
||
private readonly IAuthHelper _authHelper;
|
||
private readonly ICheckoutApplication _checkoutApplication;
|
||
private readonly ICheckoutRepository _checkoutRepository;
|
||
private readonly IContractApplication _contractApplication;
|
||
private readonly IContractRepository _contractRepository;
|
||
|
||
private readonly IEmployeeApplication _employeeApplication;
|
||
private readonly IEmployeeChildrenApplication _employeeChildrenApplication;
|
||
private readonly IEmployerApplication _employerApplication;
|
||
private readonly IJobApplication _jobApplication;
|
||
private readonly ILeftWorkApplication _leftWorkApplication;
|
||
private readonly ILeftWorkInsuranceApplication _leftWorkInsuranceApplication;
|
||
private readonly IPersonnelCodeApplication _personnelCodeApplication;
|
||
private readonly IWebHostEnvironment _webHostEnvironment;
|
||
private readonly IWorkshopApplication _workShopApplication;
|
||
private readonly ILeftWorkTempApplication _leftWorkTempApplication;
|
||
private readonly IEmployeeClientTempApplication _employeeClientTempApplication;
|
||
public List<CreateEmployeChildren> ChildrenList;
|
||
public string employeeFullName;
|
||
public List<EmployeeViewModel> Employees;
|
||
public string EmployerFullName;
|
||
public List<EmployeeSelectListViewModel> PersonnelList;
|
||
public EmployeeSearchModel SearchModel;
|
||
public string WorkshopFullName;
|
||
|
||
|
||
public IndexModel(IAuthHelper authHelper, IEmployeeApplication employeeApplication,
|
||
IEmployeeChildrenApplication employeeChildrenApplication, IWorkshopApplication workShopApplication,
|
||
IContractApplication contractApplication, IContractRepository contractRepository,
|
||
ICheckoutApplication checkoutApplication, ICheckoutRepository checkoutRepository,
|
||
IWebHostEnvironment webHostEnvironment, ILeftWorkInsuranceApplication leftWorkInsuranceApplication,
|
||
ILeftWorkApplication leftWorkApplication, IPersonnelCodeApplication personnelCodeApplication,
|
||
IJobApplication jobApplication, IEmployerApplication employerApplication, ILeftWorkTempApplication leftWorkTempApplication, IEmployeeClientTempApplication employeeClientTempApplication)
|
||
{
|
||
_employeeApplication = employeeApplication;
|
||
_employeeChildrenApplication = employeeChildrenApplication;
|
||
_workShopApplication = workShopApplication;
|
||
_contractApplication = contractApplication;
|
||
_contractRepository = contractRepository;
|
||
_checkoutApplication = checkoutApplication;
|
||
_checkoutRepository = checkoutRepository;
|
||
_webHostEnvironment = webHostEnvironment;
|
||
_leftWorkInsuranceApplication = leftWorkInsuranceApplication;
|
||
_leftWorkApplication = leftWorkApplication;
|
||
_personnelCodeApplication = personnelCodeApplication;
|
||
_jobApplication = jobApplication;
|
||
_employerApplication = employerApplication;
|
||
_leftWorkTempApplication = leftWorkTempApplication;
|
||
_employeeClientTempApplication = employeeClientTempApplication;
|
||
_authHelper = authHelper;
|
||
}
|
||
|
||
[TempData] public string Message { get; set; }
|
||
//public string LName;
|
||
|
||
[BindProperty] public List<string> listArray { get; set; }
|
||
|
||
public void OnGet(EmployeeSearchModel searchModel)
|
||
{
|
||
Employees = _employeeApplication.SearchForMain(searchModel);
|
||
|
||
if (searchModel.Id > 0)
|
||
employeeFullName = Employees.Select(x => x.EmployeeFullName).FirstOrDefault();
|
||
else
|
||
employeeFullName = searchModel.EmployeeName;
|
||
|
||
if (searchModel.WorkshopId > 0)
|
||
{
|
||
var workshop = _workShopApplication.GetDetails(searchModel.WorkshopId);
|
||
WorkshopFullName = workshop.WorkshopFullName;
|
||
}
|
||
else
|
||
{
|
||
WorkshopFullName = searchModel.WorkshopName;
|
||
}
|
||
|
||
|
||
if (searchModel.EmployerId > 0)
|
||
{
|
||
var employer = _employerApplication.GetDetails(searchModel.EmployerId);
|
||
EmployerFullName = employer.IsLegal == "حقیقی" ? employer.FName + " " + employer.LName : employer.LName;
|
||
;
|
||
}
|
||
else
|
||
{
|
||
EmployerFullName = searchModel.EmployerLName;
|
||
}
|
||
}
|
||
|
||
//public async Task OnGet(EmployeeSearchModel searchModel)
|
||
//{
|
||
// Employees = await _employeeApplication.Search(searchModel);
|
||
// if (searchModel.Id > 0)
|
||
// {
|
||
// employeeFullName = Employees.Select(x => x.EmployeeFullName).FirstOrDefault();
|
||
// }
|
||
//}
|
||
|
||
#region newEmployeeSearch
|
||
|
||
public async Task<IActionResult> OnGetPersonelMainList(string searchEmployee)
|
||
{
|
||
PersonnelList = await _employeeApplication.GetEmployeeToList();
|
||
var person = PersonnelList.Where(x => x.EmployeeFullName.Contains(searchEmployee)).Take(200).ToList();
|
||
person = person.OrderBy(x => x.EmployeeFullName.Length).ToList();
|
||
|
||
//var person = await _employeeApplication.GetEmployeeToList();
|
||
|
||
return new JsonResult(new
|
||
{
|
||
IsSuccedded = true,
|
||
mylist = person
|
||
});
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region stroredProcedure
|
||
|
||
public IActionResult OnPostSerachEmployeeByText(string textSearch)
|
||
{
|
||
var emplyoeeList = _employeeApplication.GetEmployeeByTextSearch(textSearch);
|
||
return new JsonResult(new
|
||
{
|
||
IsSuccedded = true,
|
||
empList = emplyoeeList
|
||
});
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region Create Employee File پرونده
|
||
public IActionResult OnGetCreate()
|
||
{
|
||
return Partial("./Create");
|
||
}
|
||
/// <summary>
|
||
/// ایجاد پرسنل پرونده
|
||
/// </summary>
|
||
/// <param name="command"></param>
|
||
/// <returns></returns>
|
||
public IActionResult OnPostCreate(CreateEmployee command)
|
||
{
|
||
var children = command.CreateEmployeChildrenList.Count(x => x.DateOfBirth != null);
|
||
command.NumberOfChildren = children.ToString();
|
||
var result = _employeeApplication.Create(command);
|
||
Thread.Sleep(1000);
|
||
|
||
if (result.IsSuccedded)
|
||
for (var i = 0; i <= children - 1; i++)
|
||
if (command.CreateEmployeChildrenList[i].DateOfBirth != null)
|
||
{
|
||
var child = new CreateEmployeChildren
|
||
{
|
||
ParentNationalCode = command.NationalCode,
|
||
DateOfBirth = command.CreateEmployeChildrenList[i].DateOfBirth,
|
||
FName = command.CreateEmployeChildrenList[i].FName,
|
||
EmployeeId = result.SendId
|
||
};
|
||
_employeeChildrenApplication.Create(child);
|
||
}
|
||
|
||
return new JsonResult(result);
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region Create admin Employee
|
||
public IActionResult OnGetCreateEmployee()
|
||
{
|
||
return Partial("./CreateEmployee");
|
||
}
|
||
|
||
/// <summary>
|
||
/// ایجاد پرسنل در ادمین
|
||
/// </summary>
|
||
/// <param name="command"></param>
|
||
/// <returns></returns>
|
||
public IActionResult OnPostCreateEmployee(CreateEmployee command)
|
||
{
|
||
|
||
var children = command.CreateEmployeChildrenList.Count(x => x.DateOfBirth != null);
|
||
command.NumberOfChildren = children.ToString();
|
||
var result = new OperationResult();
|
||
|
||
if (string.IsNullOrWhiteSpace(command.NationalCode))
|
||
return new JsonResult(result.Failed("لطفا کد ملی را وارد نمایید"));
|
||
|
||
|
||
if (string.IsNullOrWhiteSpace(command.MaritalStatus))
|
||
return new JsonResult(result.Failed("لطفا وضعیت تاهل را مشخص نمایید"));
|
||
|
||
if (string.IsNullOrWhiteSpace(command.InsuranceHistoryByYear) || string.IsNullOrWhiteSpace(command.InsuranceHistoryByMonth))
|
||
return new JsonResult(result.Failed("لطفا سابقه بیمه را مشخص نمایید"));
|
||
if (command.InsuranceHistoryByYear != "0")
|
||
{
|
||
var insuranceYear = command.InsuranceHistoryByYear.ExtractIntNumbers();
|
||
if(insuranceYear == 0)
|
||
return new JsonResult(result.Failed("لطفا سال را به عدد وارد کنید"));
|
||
}
|
||
|
||
if (command.InsuranceHistoryByMonth != "0")
|
||
{
|
||
var insuranceMonth = command.InsuranceHistoryByMonth.ExtractIntNumbers();
|
||
if (insuranceMonth == 0)
|
||
return new JsonResult(result.Failed("لطفا ماه را به عدد وارد کنید"));
|
||
}
|
||
|
||
|
||
result = _employeeApplication.Create(command);
|
||
Thread.Sleep(1000);
|
||
|
||
if (result.IsSuccedded)
|
||
for (var i = 0; i <= children - 1; i++)
|
||
if (command.CreateEmployeChildrenList[i].DateOfBirth != null)
|
||
{
|
||
var child = new CreateEmployeChildren
|
||
{
|
||
ParentNationalCode = command.NationalCode,
|
||
DateOfBirth = command.CreateEmployeChildrenList[i].DateOfBirth,
|
||
FName = command.CreateEmployeChildrenList[i].FName,
|
||
EmployeeId = result.SendId
|
||
};
|
||
_employeeChildrenApplication.Create(child);
|
||
}
|
||
|
||
return new JsonResult(result);
|
||
}
|
||
#endregion
|
||
|
||
|
||
public IActionResult OnGetEdit(long id)
|
||
{
|
||
var employee = _employeeApplication.GetDetails(id);
|
||
employee.EditEmployeChildrenList = _employeeChildrenApplication.GetChildren(employee.Id);
|
||
|
||
return Partial("Edit", employee);
|
||
}
|
||
|
||
public JsonResult OnPostEdit(EditEmployee command)
|
||
{
|
||
var childrenEdit = 0;
|
||
var children = 0;
|
||
if (ModelState.IsValid)
|
||
{
|
||
}
|
||
|
||
if (command.CreateEmployeChildrenList != null)
|
||
children = command.CreateEmployeChildrenList.Count(x => x.DateOfBirth != null);
|
||
|
||
if (command.EditEmployeChildrenList != null)
|
||
childrenEdit = command.EditEmployeChildrenList.Count(x => x.DateOfBirth != null);
|
||
|
||
//if (children > 0)
|
||
//{
|
||
// var oldChildrenNumber = Convert.ToInt32(command.NumberOfChildren);
|
||
// var sumChildren = oldChildrenNumber + children;
|
||
// command.NumberOfChildren = sumChildren.ToString();
|
||
//}
|
||
|
||
|
||
var result = _employeeApplication.Edit(command);
|
||
Thread.Sleep(1000);
|
||
if (result.IsSuccedded)
|
||
{
|
||
for (var i = 0; i <= childrenEdit - 1; i++)
|
||
if (command.EditEmployeChildrenList != null && command.EditEmployeChildrenList[i].DateOfBirth != null)
|
||
{
|
||
var child = new EditEmployeeChildren
|
||
{
|
||
ParentNationalCode = command.NationalCode,
|
||
DateOfBirth = command.EditEmployeChildrenList[i].DateOfBirth,
|
||
FName = command.EditEmployeChildrenList[i].FName,
|
||
EmployeeId = command.Id,
|
||
Id = command.EditEmployeChildrenList[i].Id,
|
||
IsRemoved = command.EditEmployeChildrenList[i].IsRemoved
|
||
};
|
||
_employeeChildrenApplication.Edit(child);
|
||
}
|
||
|
||
for (var i = 0; i <= children - 1; i++)
|
||
if (command.CreateEmployeChildrenList != null &&
|
||
command.CreateEmployeChildrenList[i].DateOfBirth != null)
|
||
{
|
||
var child = new CreateEmployeChildren
|
||
{
|
||
EmployeeId = command.Id,
|
||
ParentNationalCode = command.NationalCode,
|
||
DateOfBirth = command.CreateEmployeChildrenList[i].DateOfBirth,
|
||
FName = command.CreateEmployeChildrenList[i].FName
|
||
};
|
||
_employeeChildrenApplication.Create(child);
|
||
}
|
||
}
|
||
|
||
var childrenCunt = _employeeChildrenApplication.GetChildren(command.Id).Count;
|
||
command.NumberOfChildren = childrenCunt.ToString();
|
||
_employeeApplication.Edit(command);
|
||
return new JsonResult(result);
|
||
}
|
||
|
||
public IActionResult OnGetDetails(long id)
|
||
{
|
||
var emp = _employeeApplication.GetDetails(id);
|
||
emp.CreateEmployeChildrenList = _employeeChildrenApplication.GetChildren(id);
|
||
|
||
var path = "profilePhotos";
|
||
var directoryPath = $"{_webHostEnvironment.WebRootPath}\\ProductPictures\\{path}";
|
||
//string TestPath = "D:\\";
|
||
var odbf = new DbfFile(Encoding.GetEncoding(1256));
|
||
odbf.Open(Path.Combine(directoryPath, "DSKKAR00.dbf"), FileMode.Create);
|
||
//کد کارگاه
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_ID", DbfColumn.DbfColumnType.Character, 10, 0));
|
||
//نام کارگاه
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_NAME", DbfColumn.DbfColumnType.Character, 100, 0));
|
||
//نام کارفرما
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_FARM", DbfColumn.DbfColumnType.Character, 100, 0));
|
||
//نام آدرس
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_ADRS", DbfColumn.DbfColumnType.Character, 100, 0));
|
||
//نوع لیست
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_KIND", DbfColumn.DbfColumnType.Number, 1, 0));
|
||
//سال عملکرد
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_YY", DbfColumn.DbfColumnType.Number, 2, 0));
|
||
//ماه عملکرد
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_MM", DbfColumn.DbfColumnType.Number, 2, 0));
|
||
//شماره لیست
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_LISTNO", DbfColumn.DbfColumnType.Character, 12, 0));
|
||
//شرح لیست
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_DISC", DbfColumn.DbfColumnType.Character, 100, 0));
|
||
//تعداد کارکنان
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_NUM", DbfColumn.DbfColumnType.Number, 5, 0));
|
||
//تعداد کارکنان
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_TDD", DbfColumn.DbfColumnType.Number, 6, 0));
|
||
//مجموع دستمزد روزانه
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_TROOZ", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
//مجموع دستمزد ماهانه
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_TMAH", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
//مجموع مزایای ماهانه
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_TMAZ", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
//مجموع دستمزد و مزایای ماهانه مشمول
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_TMASH", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
// مجموع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_TTOTL", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
//مجموع حق بیمه سهم بیمه شده
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_TBIME", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
//مجموع حق بیمه سهم کارفرما
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_TKOSO", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
//مجموع حق بیمه بیکاری
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_BIC", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
//نرخ حق بیمه
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_RATE", DbfColumn.DbfColumnType.Number, 5, 0));
|
||
//نرخ پورسانتاژ
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_PRATE", DbfColumn.DbfColumnType.Number, 2, 0));
|
||
//نرخ مشاغل سخت زیان آور
|
||
odbf.Header.AddColumn(new DbfColumn("DSK_BIMH", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
//ردیف پیمان
|
||
odbf.Header.AddColumn(new DbfColumn("MON_PYM", DbfColumn.DbfColumnType.Character, 3, 0));
|
||
var orec = new DbfRecord(odbf.Header);
|
||
//کد کارگاه
|
||
orec[0] = GetSpecifiedCharactes("9008289145", 10);
|
||
orec[1] = GetSpecifiedCharactes("ریواس سیستم پارس", 100).ToIranSystem();
|
||
orec[2] = GetSpecifiedCharactes("ریواس سیستم پارس", 100).ToIranSystem();
|
||
orec[3] = GetSpecifiedCharactes(
|
||
"رشت - بلوار شهدای گمنام - کوچه شهید علی قربانی - ساختمان پیام نور - طبقه اول واحد 2", 100).ToIranSystem();
|
||
// نوع لیست
|
||
orec[4] = "0";
|
||
//سال
|
||
orec[5] = "2";
|
||
//ماه
|
||
orec[6] = "2";
|
||
//شماره لیست
|
||
orec[7] = GetSpecifiedCharactes("01", 12);
|
||
//شرح لیست
|
||
orec[8] = GetSpecifiedCharactes("", 100).ToIranSystem();
|
||
//تعداد کرکنان
|
||
orec[9] = "3";
|
||
//مجموع روزهای کارکرد
|
||
orec[10] = "93";
|
||
//مجموع دستمزد روزانه
|
||
orec[11] = "5308284";
|
||
//مجموع دستمزد ماهانه
|
||
orec[12] = "164556804";
|
||
//مجموع مزایای ماهانه مشمول
|
||
orec[13] = "60000000";
|
||
//مجموع دستمزد و مزایای ماهانه مشمول
|
||
orec[14] = "224556804";
|
||
//مجموع کل دستمزد و مزایای ماهانه مشمول و غیر مشمول
|
||
orec[15] = "224556804";
|
||
// مجموع حق بیمه سهم بیمه شده
|
||
orec[16] = "15718977";
|
||
//مجموع حق بیمه سهم کارفرما
|
||
orec[17] = "44911361";
|
||
//مجموع حق بیمه بیکاری
|
||
orec[18] = "6736704";
|
||
//نرخ حق بیمه
|
||
orec[19] = "23";
|
||
//نرخ پورسانتاژ
|
||
orec[20] = "0";
|
||
//نرخ مشاغل سخت زیان آور
|
||
orec[21] = "0";
|
||
//ردیف پیمان
|
||
orec[22] = GetSpecifiedCharactes("000", 12);
|
||
|
||
|
||
odbf.Write(orec);
|
||
//odbf.Header.RecordCount = 50;
|
||
odbf.WriteHeader();
|
||
|
||
odbf.Close();
|
||
|
||
//لیست پرسنل
|
||
var dsw = new DbfFile(Encoding.GetEncoding(1256));
|
||
dsw.Open(Path.Combine(directoryPath, "DSKWOR00.dbf"), FileMode.Create);
|
||
//کد کارگاه
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_ID", DbfColumn.DbfColumnType.Character, 10, 0));
|
||
//سال عملکرد
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_YY", DbfColumn.DbfColumnType.Number, 2, 0));
|
||
//ماه عملکرد
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_MM", DbfColumn.DbfColumnType.Number, 2, 0));
|
||
//شماره لیست
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_LISTNO", DbfColumn.DbfColumnType.Character, 12, 0));
|
||
//شماره بیمه
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_ID1", DbfColumn.DbfColumnType.Character, 10, 0));
|
||
// نام
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_FNAME", DbfColumn.DbfColumnType.Character, 100, 0));
|
||
// نام خانوادگی
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_LNAME", DbfColumn.DbfColumnType.Character, 100, 0));
|
||
//نام پدر
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_DNAME", DbfColumn.DbfColumnType.Character, 100, 0));
|
||
// شماره شناسنامه
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_IDNO", DbfColumn.DbfColumnType.Character, 15, 0));
|
||
// محل صدور
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_IDPLC", DbfColumn.DbfColumnType.Character, 100, 0));
|
||
// تاریخ صدور
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_IDATE", DbfColumn.DbfColumnType.Character, 8, 0));
|
||
// تاریخ تولد
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_BDATE", DbfColumn.DbfColumnType.Character, 8, 0));
|
||
// جنسیت
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_SEX", DbfColumn.DbfColumnType.Character, 3, 0));
|
||
// ملیت
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_NAT", DbfColumn.DbfColumnType.Character, 10, 0));
|
||
// شرح شغل
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_OCP", DbfColumn.DbfColumnType.Character, 100, 0));
|
||
// تاریخ شروع بکار
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_SDATE", DbfColumn.DbfColumnType.Character, 8, 0));
|
||
// تاریخ ترک کار
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_EDATE", DbfColumn.DbfColumnType.Character, 8, 0));
|
||
// تعداد روزهای کارکرد
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_DD", DbfColumn.DbfColumnType.Number, 2, 0));
|
||
// دستمزد روزانه
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_ROOZ", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
// دستمزد ماهانه
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_MAH", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
// مزایای ماهانه
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_MAZ", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
// جمع دستمزد و مزایای ماهانه مشمول
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_MASH", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
// جمع کل دستمزد و مزایای ماهانه
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_TOTL", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
//حق بیمه سهم بیمه شده
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_BIME", DbfColumn.DbfColumnType.Number, 12, 0));
|
||
//نرخ پورسانتاژ
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_PRATE", DbfColumn.DbfColumnType.Number, 2, 0));
|
||
// کد شغل
|
||
dsw.Header.AddColumn(new DbfColumn("DSW_JOB", DbfColumn.DbfColumnType.Character, 6, 0));
|
||
// کد ملی
|
||
dsw.Header.AddColumn(new DbfColumn("PER_NATCOD", DbfColumn.DbfColumnType.Character, 10, 0));
|
||
|
||
|
||
var dswrec = new DbfRecord(dsw.Header);
|
||
//کد کارگاه
|
||
dswrec[0] = GetSpecifiedCharactes("9008289145", 10);
|
||
//سال
|
||
dswrec[1] = "2";
|
||
//ماه
|
||
dswrec[2] = "2";
|
||
//شماره لیست
|
||
dswrec[3] = GetSpecifiedCharactes("01", 12);
|
||
//شماره بیمه
|
||
dswrec[4] = GetSpecifiedCharactes("48071464", 8);
|
||
// نام
|
||
dswrec[5] = GetSpecifiedCharactes("راضیه", 100).ToIranSystem();
|
||
//خانوادگی نام
|
||
dswrec[6] = GetSpecifiedCharactes("پیردهقان", 100).ToIranSystem();
|
||
//پدر نام
|
||
dswrec[7] = GetSpecifiedCharactes("غلام", 100).ToIranSystem();
|
||
//شماره شناسنامه
|
||
dswrec[8] = "2650230614";
|
||
//محل صدور
|
||
dswrec[9] = GetSpecifiedCharactes("رشت", 100).ToIranSystem();
|
||
;
|
||
//تاریخ صدور
|
||
dswrec[10] = "13770805";
|
||
//تاریخ تولد
|
||
dswrec[11] = "13770721";
|
||
//جنسیت
|
||
dswrec[12] = GetSpecifiedCharactes("زن", 3).ToIranSystem();
|
||
//ملیت
|
||
dswrec[13] = GetSpecifiedCharactes("ایرانی", 10).ToIranSystem();
|
||
//شرح شغل
|
||
dswrec[14] = GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100).ToIranSystem();
|
||
//تاریخ شروع بکار
|
||
dswrec[15] = "14000201";
|
||
//تاریخ ترک کار
|
||
dswrec[16] = "";
|
||
//تعداد روزهای کارکرد
|
||
dswrec[17] = "31";
|
||
//دستمزد روزانه
|
||
dswrec[18] = "1769428";
|
||
//دستمزد مااهانه
|
||
dswrec[19] = "54852268";
|
||
//مزایای ماهانه
|
||
dswrec[20] = "20000000";
|
||
//دستمزد و مزایای ماهانه مشمول
|
||
dswrec[21] = "74852268";
|
||
//جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول
|
||
dswrec[22] = "74852268";
|
||
//حق بیمه سهم بیمه شده
|
||
dswrec[23] = "5239659";
|
||
//نرخ پورسانتاژ
|
||
dswrec[24] = "0";
|
||
//کد شغل
|
||
dswrec[25] = "033022";
|
||
//کد ملی
|
||
dswrec[26] = "2650230614";
|
||
|
||
dsw.Write(dswrec);
|
||
|
||
|
||
var dswrec2 = new DbfRecord(dsw.Header);
|
||
//کد کارگاه
|
||
dswrec2[0] = GetSpecifiedCharactes("9008289145", 10);
|
||
//سال
|
||
dswrec2[1] = "2";
|
||
//ماه
|
||
dswrec2[2] = "2";
|
||
//شماره لیست
|
||
dswrec2[3] = GetSpecifiedCharactes("01", 12);
|
||
//شماره بیمه
|
||
dswrec2[4] = GetSpecifiedCharactes("34157806", 8);
|
||
// نام
|
||
dswrec2[5] = GetSpecifiedCharactes("پیمان", 100).ToIranSystem();
|
||
//خانوادگی نام
|
||
dswrec2[6] = GetSpecifiedCharactes("افشاری بجاربنه", 100).ToIranSystem();
|
||
//پدر نام
|
||
dswrec2[7] = GetSpecifiedCharactes("علیرضا", 100).ToIranSystem();
|
||
//شماره شناسنامه
|
||
dswrec2[8] = "2580900713";
|
||
//محل صدور
|
||
dswrec2[9] = GetSpecifiedCharactes("رشت", 100).ToIranSystem();
|
||
;
|
||
//تاریخ صدور
|
||
dswrec2[10] = "";
|
||
//تاریخ تولد
|
||
dswrec2[11] = "13750229";
|
||
//جنسیت
|
||
dswrec2[12] = GetSpecifiedCharactes("مرد", 3).ToIranSystem();
|
||
//ملیت
|
||
dswrec2[13] = GetSpecifiedCharactes("ایرانی", 10).ToIranSystem();
|
||
//شرح شغل
|
||
dswrec2[14] = GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100).ToIranSystem();
|
||
//تاریخ شروع بکار
|
||
dswrec2[15] = "14010701";
|
||
//تاریخ ترک کار
|
||
dswrec2[16] = "";
|
||
//تعداد روزهای کارکرد
|
||
dswrec2[17] = "31";
|
||
//دستمزد روزانه
|
||
dswrec2[18] = "1769428";
|
||
//دستمزد مااهانه
|
||
dswrec2[19] = "54852268";
|
||
//مزایای ماهانه
|
||
dswrec2[20] = "20000000";
|
||
//دستمزد و مزایای ماهانه مشمول
|
||
dswrec2[21] = "74852268";
|
||
//جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول
|
||
dswrec2[22] = "74852268";
|
||
//حق بیمه سهم بیمه شده
|
||
dswrec2[23] = "5239659";
|
||
//نرخ پورسانتاژ
|
||
dswrec2[24] = "0";
|
||
//کد شغل
|
||
dswrec2[25] = "033022";
|
||
//کد ملی
|
||
dswrec2[26] = "2580900713";
|
||
|
||
dsw.Write(dswrec2);
|
||
|
||
|
||
var dswrec3 = new DbfRecord(dsw.Header);
|
||
//کد کارگاه
|
||
dswrec3[0] = GetSpecifiedCharactes("9008289145", 10);
|
||
//سال
|
||
dswrec3[1] = "2";
|
||
//ماه
|
||
dswrec3[2] = "2";
|
||
//شماره لیست
|
||
dswrec3[3] = GetSpecifiedCharactes("01", 12);
|
||
//شماره بیمه
|
||
dswrec3[4] = GetSpecifiedCharactes("48076618", 8);
|
||
// نام
|
||
dswrec3[5] = GetSpecifiedCharactes("فاطمه", 100).ToIranSystem();
|
||
//خانوادگی نام
|
||
dswrec3[6] = GetSpecifiedCharactes("پادکان", 100).ToIranSystem();
|
||
//پدر نام
|
||
dswrec3[7] = GetSpecifiedCharactes("محمدفرشاد", 100).ToIranSystem();
|
||
//شماره شناسنامه
|
||
dswrec3[8] = "2581230231";
|
||
//محل صدور
|
||
dswrec3[9] = GetSpecifiedCharactes("رشت", 100).ToIranSystem();
|
||
;
|
||
//تاریخ صدور
|
||
dswrec3[10] = "";
|
||
//تاریخ تولد
|
||
dswrec3[11] = "13780926";
|
||
//جنسیت
|
||
dswrec3[12] = GetSpecifiedCharactes("زن", 3).ToIranSystem();
|
||
//ملیت
|
||
dswrec3[13] = GetSpecifiedCharactes("ایرانی", 10).ToIranSystem();
|
||
//شرح شغل
|
||
dswrec3[14] = GetSpecifiedCharactes("کارشناس نرم افزار کامپیوتر", 100).ToIranSystem();
|
||
//تاریخ شروع بکار
|
||
dswrec3[15] = "14010701";
|
||
//تاریخ ترک کار
|
||
dswrec3[16] = "";
|
||
//تعداد روزهای کارکرد
|
||
dswrec3[17] = "31";
|
||
//دستمزد روزانه
|
||
dswrec3[18] = "1769428";
|
||
//دستمزد مااهانه
|
||
dswrec3[19] = "54852268";
|
||
//مزایای ماهانه
|
||
dswrec3[20] = "20000000";
|
||
//دستمزد و مزایای ماهانه مشمول
|
||
dswrec3[21] = "74852268";
|
||
//جمع کل دستمزد و مزایای ماهانه مسمول غیرمشمول
|
||
dswrec3[22] = "74852268";
|
||
//حق بیمه سهم بیمه شده
|
||
dswrec3[23] = "5239659";
|
||
//نرخ پورسانتاژ
|
||
dswrec3[24] = "0";
|
||
//کد شغل
|
||
dswrec3[25] = "001094";
|
||
//کد ملی
|
||
dswrec3[26] = "2581230231";
|
||
|
||
dsw.Write(dswrec3);
|
||
|
||
dsw.WriteHeader();
|
||
|
||
dsw.Close();
|
||
|
||
|
||
return Partial("Details", emp);
|
||
}
|
||
|
||
private string GetSpecifiedCharactes(string str, int MaxLength)
|
||
{
|
||
return str.Length <= MaxLength ? str : str.Substring(0, MaxLength);
|
||
}
|
||
|
||
public IActionResult OnGetDeActive(long id)
|
||
{
|
||
var result = _employeeApplication.DeActive(id);
|
||
if (result.IsSuccedded)
|
||
return RedirectToPage("./Index");
|
||
Message = result.Message;
|
||
return RedirectToPage("./Index");
|
||
}
|
||
|
||
public IActionResult OnGetIsActive(long id)
|
||
{
|
||
var result = _employeeApplication.Active(id);
|
||
if (result.IsSuccedded)
|
||
return RedirectToPage("./Index");
|
||
Message = result.Message;
|
||
return RedirectToPage("./Index");
|
||
}
|
||
|
||
public IActionResult OnGetInsuranceRecords(long employeeId)
|
||
{
|
||
var editEIR = new EditEmployeeInsuranceRecord();
|
||
editEIR.WorkshopSelectList = new SelectList(_workShopApplication.GetWorkshopAll(), "Id", "WorkshopFullName");
|
||
editEIR.EmployeeId = employeeId;
|
||
editEIR.employeeInsuranceRecordViewModels = _employeeApplication
|
||
.SearchInsuranceRecord(new EmployeeInsuranceRecordSearchModel { EmployeeId = employeeId })
|
||
.OrderByDescending(x => x.Workshop.IsActiveString).ToList();
|
||
|
||
|
||
var emp = _employeeApplication.GetDetails(employeeId);
|
||
var fullname = string.Join(" ", emp.FName, emp.LName, "(" + emp.NationalCode + ")");
|
||
|
||
return Partial("./InsuranceRecords", editEIR);
|
||
}
|
||
|
||
public IActionResult OnPostInsuranceRecords(EditEmployeeInsuranceRecord eir)
|
||
{
|
||
var operationResult = new OperationResult();
|
||
|
||
|
||
var ids_Exist = new List<long>();
|
||
|
||
#region Validation
|
||
|
||
operationResult = _employeeApplication.ValidationEmployeeCompleteItem(eir.EmployeeId);
|
||
if (!operationResult.IsSuccedded) return new JsonResult(operationResult);
|
||
|
||
var eir_lst = new List<CreateEmployeeInsuranceRecord>();
|
||
|
||
if (eir.employeeInsuranceRecordViewModels != null)
|
||
foreach (var _eir in eir.employeeInsuranceRecordViewModels)
|
||
{
|
||
operationResult = _employeeApplication.ValidationEmployeeInsuranceRecord(_eir);
|
||
if (!operationResult.IsSuccedded) return new JsonResult(operationResult);
|
||
var create = new CreateEmployeeInsuranceRecord
|
||
{
|
||
EmployeeId = eir.EmployeeId,
|
||
WorkShopId = _eir.WorkShopId,
|
||
DateOfStart = _eir.DateOfStart.ToGeorgianDateTime(),
|
||
DateOfEnd = _eir.DateOfEnd == null ? null : _eir.DateOfEnd.ToGeorgianDateTime()
|
||
};
|
||
eir_lst.Add(create);
|
||
}
|
||
|
||
operationResult = _employeeApplication.ValidationEmployeeInsuranceRecord(eir_lst);
|
||
if (!operationResult.IsSuccedded) return new JsonResult(operationResult);
|
||
|
||
#endregion
|
||
|
||
#region Remove Items
|
||
|
||
try
|
||
{
|
||
if (eir.employeeInsuranceRecordViewModels != null)
|
||
foreach (var _eir in eir.employeeInsuranceRecordViewModels)
|
||
if (_eir.Id == 0) //new
|
||
{
|
||
}
|
||
else //Exist
|
||
{
|
||
ids_Exist.Add(_eir.Id);
|
||
}
|
||
|
||
var exist = _employeeApplication.SearchInsuranceRecord(new EmployeeInsuranceRecordSearchModel
|
||
{ EmployeeId = eir.EmployeeId });
|
||
if (exist != null)
|
||
foreach (var item in exist)
|
||
if (ids_Exist.Count != 0)
|
||
{
|
||
if (!ids_Exist.Contains(item.Id)) _employeeApplication.RemoveEmployeeInsuranceRecord(item.Id);
|
||
}
|
||
else
|
||
{
|
||
_employeeApplication.RemoveEmployeeInsuranceRecord(item.Id);
|
||
}
|
||
}
|
||
catch (Exception)
|
||
{
|
||
return new JsonResult(operationResult);
|
||
}
|
||
|
||
#endregion
|
||
|
||
|
||
#region Create_Edit
|
||
|
||
if (eir.employeeInsuranceRecordViewModels != null)
|
||
foreach (var _eir in eir.employeeInsuranceRecordViewModels)
|
||
if (_eir.Id == 0) //Create
|
||
{
|
||
var create = new CreateEmployeeInsuranceRecord
|
||
{
|
||
EmployeeId = eir.EmployeeId,
|
||
WorkShopId = _eir.WorkShopId,
|
||
DateOfStart = _eir.DateOfStart.ToGeorgianDateTime(),
|
||
DateOfEnd = _eir.DateOfEnd == null ? null : _eir.DateOfEnd.ToGeorgianDateTime()
|
||
};
|
||
operationResult = _employeeApplication.CreateEmployeeInsuranceRecord(create);
|
||
}
|
||
else //Edit
|
||
{
|
||
var edit = new EditEmployeeInsuranceRecord
|
||
{
|
||
Id = _eir.Id,
|
||
EmployeeId = eir.EmployeeId,
|
||
WorkShopId = _eir.WorkShopId,
|
||
DateOfStart = _eir.DateOfStart.ToGeorgianDateTime(),
|
||
DateOfEnd = _eir.DateOfEnd == null ? null : _eir.DateOfEnd.ToGeorgianDateTime()
|
||
};
|
||
operationResult = _employeeApplication.EditEmployeeInsuranceRecord(edit);
|
||
}
|
||
|
||
#endregion
|
||
|
||
|
||
//return Partial("./InsuranceRecords");
|
||
operationResult.IsSuccedded = true;
|
||
|
||
return new JsonResult(operationResult);
|
||
}
|
||
|
||
public IActionResult OnPostCaldate(string dateOfstart, string dateOfend)
|
||
{
|
||
if (string.IsNullOrEmpty(dateOfend)) dateOfend = DateTime.Now.ToFarsi();
|
||
var TotalDays =
|
||
Tools.BetweenDateGeorgianToDay(dateOfstart.ToGeorgianDateTime(), dateOfend.ToGeorgianDateTime());
|
||
return new JsonResult(TotalDays);
|
||
}
|
||
|
||
public IActionResult OnPostCaldatearr(List<string> dateOfstart, List<string> dateOfend)
|
||
{
|
||
var i = 0;
|
||
decimal TotalDays = 0;
|
||
foreach (var item in dateOfstart)
|
||
{
|
||
if (string.IsNullOrEmpty(dateOfend[i])) dateOfend[i] = DateTime.Now.ToFarsi();
|
||
if (!string.IsNullOrEmpty(item))
|
||
TotalDays += Tools.BetweenDateGeorgianToDay(dateOfstart[i].ToGeorgianDateTime(),
|
||
dateOfend[i].ToGeorgianDateTime());
|
||
i++;
|
||
}
|
||
|
||
var totalYears_ws = Math.Truncate(TotalDays / 365);
|
||
var totalMonths_ws = Math.Truncate(TotalDays % 365 / 30);
|
||
var remainingDays_ws = Math.Truncate(TotalDays % 365 % 30);
|
||
var result = new
|
||
{
|
||
TotalDays_ws = TotalDays,
|
||
totalYears_ws = totalYears_ws + " سال",
|
||
totalMonths_ws = totalMonths_ws + " ماه",
|
||
remainingDays_ws = remainingDays_ws + " روز"
|
||
};
|
||
return new JsonResult(result);
|
||
}
|
||
|
||
#region PersonelCode
|
||
|
||
public IActionResult OnPostGetPersonelCode(long workshopId, long employeeId)
|
||
{
|
||
var searchModel = new PersonnelCodeSearchModel();
|
||
searchModel.WorkshopId = workshopId;
|
||
searchModel.EmployeeId = employeeId;
|
||
var personnelCode = _personnelCodeApplication.GetPersonnelCodeViewModel(searchModel);
|
||
|
||
return new JsonResult(new
|
||
{
|
||
personnelCode.PersonnelCode, personnelCode.HasPersonelCode
|
||
});
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region WorkshopInformation
|
||
|
||
public IActionResult OnPostGetWorkshopInformation(long workshopId)
|
||
{
|
||
var workshop = _workShopApplication.GetDetails(workshopId);
|
||
|
||
return new JsonResult(new
|
||
{
|
||
workshop.AddBonusesPay,
|
||
workshop.AddLeavePay,
|
||
workshop.AddYearsPay
|
||
});
|
||
}
|
||
|
||
#endregion
|
||
|
||
public IActionResult OnPostJobListByWorkshopId(long workshopId)
|
||
{
|
||
var jobs = _jobApplication.GetJobListByWorkshopId(workshopId);
|
||
return new JsonResult(new
|
||
{
|
||
IsSuccedded = true,
|
||
jobList = jobs
|
||
});
|
||
}
|
||
|
||
public IActionResult OnPostJobListByText(string textSearch, long workshopId)
|
||
{
|
||
var jobs = _jobApplication.GetJobListByTextAndWorkshopId(textSearch, workshopId);
|
||
jobs = jobs.OrderBy(x => x.JobName.Length).ToList().Select(x => new JobViewModel
|
||
{
|
||
Id = x.Id,
|
||
JobName = x.JobName,
|
||
JobCode = x.JobCode,
|
||
SearchResultTitle = x.JobName,
|
||
SearchResultCode = x.JobCode
|
||
}).ToList();
|
||
return new JsonResult(new
|
||
{
|
||
IsSuccedded = true,
|
||
jobList = jobs,
|
||
List = jobs
|
||
});
|
||
}
|
||
|
||
public IActionResult OnPostJobByTextSearch(string textSearch)
|
||
{
|
||
var jobs = _jobApplication.GetJobListByText(textSearch);
|
||
|
||
jobs = jobs.OrderBy(x => x.JobName.Length).ToList().Select(x => new JobViewModel
|
||
{
|
||
Id = x.Id,
|
||
JobName = x.JobName,
|
||
JobCode = x.JobCode,
|
||
SearchResultTitle = x.JobName,
|
||
SearchResultCode = x.JobCode
|
||
}).ToList();
|
||
return new JsonResult(new
|
||
{
|
||
IsSuccedded = true,
|
||
List = jobs
|
||
});
|
||
}
|
||
|
||
public IActionResult OnPostCheckDeleteLeftWork(long workshopId, long employeeId, string date, int type)
|
||
{
|
||
var result = new OperationResult();
|
||
if (!string.IsNullOrEmpty(date))
|
||
result = _leftWorkApplication.CheckDeleteLeftWork(workshopId, employeeId, date, type);
|
||
else
|
||
result.Succcedded();
|
||
return new JsonResult(result);
|
||
}
|
||
|
||
public IActionResult OnPostCheckDeleteLeftWorkInsurance(long workshopId, long employeeId, string date, int type)
|
||
{
|
||
var result = new OperationResult();
|
||
if (!string.IsNullOrEmpty(date))
|
||
result = _leftWorkInsuranceApplication.CheckDeleteLeftWorkInsurance(workshopId, employeeId, date, type);
|
||
else
|
||
result.Succcedded();
|
||
return new JsonResult(result);
|
||
}
|
||
|
||
public IActionResult OnPostCheckEditLeftWorkInsurance(long workshopId, long employeeId, string date, int type)
|
||
{
|
||
var result = new OperationResult();
|
||
if (!string.IsNullOrEmpty(date))
|
||
result = _leftWorkInsuranceApplication.CheckEditLeftWorkInsurance(workshopId, employeeId, date, type);
|
||
else
|
||
result.Succcedded();
|
||
return new JsonResult(result);
|
||
}
|
||
|
||
public IActionResult OnPostCheckBeforeSaveLeftWorkInsurance(long workshopId, long employeeId, string date, int type)
|
||
{
|
||
var result = new OperationResult();
|
||
if (!string.IsNullOrEmpty(date))
|
||
result = _leftWorkInsuranceApplication.CheckBeforeSaveLeftWorkInsurance(workshopId, employeeId, date, type);
|
||
else
|
||
result.Succcedded();
|
||
return new JsonResult(result);
|
||
}
|
||
|
||
public IActionResult OnPostCheckEditLeftWork(long workshopId, long employeeId, string date, int type)
|
||
{
|
||
var result = new OperationResult();
|
||
if (!string.IsNullOrEmpty(date))
|
||
result = _leftWorkApplication.CheckEditLeftWork(workshopId, employeeId, date, type);
|
||
else
|
||
result.Succcedded();
|
||
return new JsonResult(result);
|
||
}
|
||
|
||
#region CopyPsCode
|
||
|
||
public IActionResult OnGetCopyAllPsCode()
|
||
{
|
||
return Partial("./CopyPersonnelCode");
|
||
}
|
||
|
||
public IActionResult OnGetCopyPersonnelCode()
|
||
{
|
||
var workshops = _workShopApplication.GetWorkshop();
|
||
foreach (var workshop in workshops)
|
||
{
|
||
var a = new ContractSearchModel
|
||
{
|
||
WorkshopIds = workshop.Id,
|
||
EmployeeId = 0,
|
||
EditPersonnelCode = true
|
||
};
|
||
var ContractSearch = _contractApplication.Search(a);
|
||
var result = ContractSearch.GroupBy(c => c.PersonnelCode)
|
||
.Select(c => c.First())
|
||
.ToList();
|
||
var finalresult = result.OrderBy(x => x.PersonnelCode).ToList();
|
||
foreach (var contract in finalresult)
|
||
{
|
||
var command = new CreatePersonnelCode
|
||
{
|
||
WorkshopId = contract.WorkshopIds,
|
||
EmployeeId = contract.EmployeeId,
|
||
PersonnelCode = contract.PersonnelCode
|
||
};
|
||
|
||
var res = _personnelCodeApplication.Create(command);
|
||
|
||
//pscode= $"{contract.PersonnelCode}";
|
||
//emp = contract.EmployeeName;
|
||
//wk = contract.WorkshopName;
|
||
|
||
Console.WriteLine(
|
||
$"{res.IsSuccedded} [archiveCode: {contract.ArchiveCode}] personel code : {contract.PersonnelCode}");
|
||
Thread.Sleep(200);
|
||
}
|
||
}
|
||
|
||
|
||
return new JsonResult(new
|
||
{
|
||
success = true
|
||
});
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region CodeChange
|
||
|
||
public IActionResult OnPostCheck(ExtensionViewModel command)
|
||
{
|
||
var a = command.ConvertYear;
|
||
var b = command.ConvertMonth;
|
||
|
||
|
||
var op = new OperationResult();
|
||
if (command.ContractsId == null)
|
||
{
|
||
op = op.Failed("هیچ قراردادی برای تمدید انتخاب نشده است");
|
||
|
||
return new JsonResult(op);
|
||
}
|
||
|
||
op = op.Succcedded();
|
||
return new JsonResult(op);
|
||
}
|
||
|
||
public IActionResult OnGetLoadContracts(long workshopId, long employeeId)
|
||
{
|
||
var contractListResult = new List<ContractViweModel>();
|
||
var LeftWorkSerchModel = new LeftWorkSearchModel
|
||
{
|
||
WorkshopId = workshopId,
|
||
EmployeeId = employeeId
|
||
};
|
||
|
||
|
||
var LeftWorkList = _leftWorkApplication.search(LeftWorkSerchModel);
|
||
var newContractList = new List<ContractViweModel>();
|
||
if (LeftWorkList.Count > 0)
|
||
{
|
||
var personelList = LeftWorkList.GroupBy(x => x.EmployeeId).Select(x => x.First()).ToList();
|
||
|
||
|
||
contractListResult = personelList.Select(x => new ContractViweModel
|
||
{
|
||
EmployeeName = x.EmployeeFullName,
|
||
WorkshopIds = x.WorkshopId,
|
||
EmployeeId = x.EmployeeId,
|
||
LaterThanEnd = true,
|
||
Extension = true,
|
||
RedColor = false
|
||
}).ToList();
|
||
|
||
foreach (var item in contractListResult)
|
||
{
|
||
long pCode = 0;
|
||
var search = new PersonnelCodeSearchModel
|
||
{
|
||
WorkshopId = item.WorkshopIds,
|
||
EmployeeId = item.EmployeeId
|
||
};
|
||
var pesronelcodelList = _personnelCodeApplication.Search(search);
|
||
if (pesronelcodelList.Count > 0)
|
||
{
|
||
PersonnelCodeViewModel first = null;
|
||
foreach (var model in pesronelcodelList)
|
||
{
|
||
first = model;
|
||
break;
|
||
}
|
||
|
||
if (first != null) pCode = first.PersonnelCode;
|
||
}
|
||
|
||
|
||
item.PersonnelCode = pCode;
|
||
newContractList.Add(item);
|
||
}
|
||
}
|
||
|
||
|
||
newContractList = newContractList.OrderBy(x => x.PersonnelCode).ToList();
|
||
var command2 = new CreateCheckout
|
||
{
|
||
Contracts = newContractList
|
||
};
|
||
return Partial("alert", command2);
|
||
}
|
||
|
||
public IActionResult OnGetChangeCode()
|
||
{
|
||
listArray = new List<string>();
|
||
|
||
|
||
var command = new CreateCheckout
|
||
{
|
||
WorkshopNameSelectList =
|
||
new SelectList(_workShopApplication.GetWorkshopAccount(), "Id", "WorkshopFullName"),
|
||
WorkshopCodeSelectList = new SelectList(_workShopApplication.GetWorkshopAccount(), "Id", "ArchiveCode")
|
||
};
|
||
|
||
return Partial("./ChangeCode", command);
|
||
}
|
||
|
||
|
||
public IActionResult GetProgress()
|
||
{
|
||
string progress = HttpContext.Response.Headers["X-Progress"];
|
||
|
||
if (string.IsNullOrEmpty(progress)) return new JsonResult(300);
|
||
|
||
return new JsonResult(int.Parse(progress));
|
||
}
|
||
|
||
public async Task<IActionResult> OnPostChangeCode(CreateCheckout command, CancellationToken cancellationToken)
|
||
{
|
||
var count = command.Contracts.Count;
|
||
if (count > 0)
|
||
{
|
||
IProgress<int> progress = new Progress<int>(value =>
|
||
{
|
||
// report progress to client
|
||
Response.Headers.Add($"X-Progress-{Guid.NewGuid()}", value.ToString());
|
||
});
|
||
for (var i = 0; i <= count - 1; i++)
|
||
if (command.Contracts[i].PersonnelCode > 0)
|
||
{
|
||
var search = new PersonnelCodeSearchModel
|
||
{
|
||
WorkshopId = command.WorkshopId,
|
||
EmployeeId = command.Contracts[i].EmployeeId
|
||
};
|
||
|
||
var contractSerachModel = new ContractSearchModel
|
||
{
|
||
EmployeeId = command.Contracts[i].EmployeeId,
|
||
WorkshopIds = command.WorkshopId
|
||
};
|
||
var chekoutSerachModel = new CheckoutSearchModel
|
||
{
|
||
EmployeeId = command.Contracts[i].EmployeeId,
|
||
WorkshopId = command.WorkshopId
|
||
};
|
||
var pesronelcodelList = _personnelCodeApplication.Search(search);
|
||
var contractSerachResult = _contractApplication.Search(contractSerachModel);
|
||
var chekoutSerchResult =
|
||
await _checkoutApplication.Search(chekoutSerachModel).ConfigureAwait(false);
|
||
if (pesronelcodelList.Count > 0)
|
||
{
|
||
foreach (var person in pesronelcodelList)
|
||
{
|
||
var getPeronel = _personnelCodeApplication.GetDetails(person.Id);
|
||
if (getPeronel != null)
|
||
{
|
||
var edit = new EditPersonnelCode
|
||
{
|
||
Id = getPeronel.Id,
|
||
PersonnelCode = command.Contracts[i].PersonnelCode
|
||
};
|
||
_personnelCodeApplication.Edit(edit);
|
||
}
|
||
|
||
progress.Report((i + 1) * 33 / count + 33);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
var createCommand = new CreatePersonnelCode
|
||
{
|
||
WorkshopId = command.WorkshopId,
|
||
EmployeeId = command.Contracts[i].EmployeeId,
|
||
PersonnelCode = command.Contracts[i].PersonnelCode
|
||
};
|
||
_personnelCodeApplication.Create(createCommand);
|
||
}
|
||
|
||
if (contractSerachResult.Count > 0)
|
||
foreach (var contract in contractSerachResult)
|
||
{
|
||
var getContract = _contractRepository.Get(contract.Id);
|
||
getContract.EditPersonnelCode(command.Contracts[i].PersonnelCode, contract.ContractStartGr,
|
||
contract.ArchiveCode);
|
||
_contractRepository.SaveChanges();
|
||
progress.Report((i + 1) * 33 / count + 33); // report progress to client
|
||
}
|
||
|
||
if (chekoutSerchResult.Count > 0)
|
||
foreach (var checkout in chekoutSerchResult)
|
||
{
|
||
var getCeckout = _checkoutRepository.Get(checkout.Id);
|
||
getCeckout.EditPersonnelCode(command.Contracts[i].PersonnelCode, checkout.ContractStartGr,
|
||
checkout.ArchiveCode);
|
||
_contractRepository.SaveChanges();
|
||
progress.Report((i + 1) * 33 / count + 33); // report progress to client
|
||
}
|
||
}
|
||
}
|
||
|
||
var opration = new OperationResult
|
||
{
|
||
IsSuccedded = true,
|
||
Message = "عملیات با موفقیت انجام شد"
|
||
};
|
||
|
||
return new JsonResult(opration);
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region LeftWorkInsurance
|
||
|
||
public PartialViewResult OnPostGetLeftWorkInsurance(long employeeId, string employeeName)
|
||
{
|
||
var search = new LeftWorkInsuranceSearchModel
|
||
{
|
||
EmployeeId = employeeId
|
||
};
|
||
//var employee = _employeeApplication.GetDetails(employeeId);
|
||
var serachResult = _leftWorkInsuranceApplication.search(search);
|
||
var ListGroup = new List<LeftWorkInsuranceGroup>();
|
||
if (serachResult.Count > 0)
|
||
{
|
||
var result = serachResult.GroupBy(c => c.WorkshopId)
|
||
.Select(c => c.First())
|
||
.ToList();
|
||
foreach (var item in result)
|
||
{
|
||
#region personelcode
|
||
|
||
var personelSearchModel = new PersonnelCodeSearchModel();
|
||
personelSearchModel.EmployeeId = item.EmployeeId;
|
||
personelSearchModel.WorkshopId = item.WorkshopId;
|
||
var personelcode = _personnelCodeApplication.GetPersonnelCodeViewModel(personelSearchModel);
|
||
|
||
#endregion
|
||
|
||
var isActive = 0;
|
||
var leftWorkInsuranceViewModels = serachResult.Where(x => x.WorkshopId == item.WorkshopId)
|
||
.OrderByDescending(x => x.StartWorkDateGr).ToList();
|
||
var activeCount = leftWorkInsuranceViewModels.Where(p => p.IsActiveWorkshop).Count();
|
||
if (activeCount > 0) isActive = 1;
|
||
var group = new LeftWorkInsuranceGroup
|
||
{
|
||
WorkshopId = item.WorkshopId,
|
||
WorkshopName = item.WorkshopName,
|
||
LeftworkInsuranceViewModels = leftWorkInsuranceViewModels,
|
||
IsActiveWorkshop = isActive,
|
||
PersonnelCode = personelcode.PersonnelCode,
|
||
HasPersonelCode = personelcode.HasPersonelCode,
|
||
JobId = item.JobId,
|
||
IncludeStatus = item.IncludeStatus,
|
||
JobList = _jobApplication.GetJobListByWorkshopId(item.WorkshopId)
|
||
};
|
||
ListGroup.Add(group);
|
||
}
|
||
}
|
||
|
||
ListGroup = ListGroup.OrderByDescending(p => p.IsActiveWorkshop).ThenBy(p => p.WorkshopName).ToList();
|
||
|
||
var command = new LeftworkInsuranceDividedList
|
||
{
|
||
EmployeeId = employeeId,
|
||
Workshops = new SelectList(_workShopApplication.GetWorkshopAll(), "Id", "WorkshopFullName"),
|
||
LeftWorkInsuranceGroups = ListGroup,
|
||
EmployeeName = employeeName //employee.EmployeeFullName
|
||
};
|
||
|
||
return Partial("./LeftWorkInsurance", command);
|
||
}
|
||
|
||
public IActionResult OnGetCreateLeftWorkInsurance(long employeeId, string employeeName)
|
||
{
|
||
var permissionIds = _authHelper.GetPermissions();
|
||
|
||
var search = new LeftWorkInsuranceSearchModel
|
||
{
|
||
EmployeeId = employeeId
|
||
};
|
||
var employee = _employeeApplication.GetDetails(employeeId);
|
||
var serachResult = _leftWorkInsuranceApplication.search(search);
|
||
var ListGroup = new List<LeftWorkInsuranceGroup>();
|
||
if (serachResult.Count > 0)
|
||
{
|
||
var result = serachResult.GroupBy(c => c.WorkshopId)
|
||
.Select(c => c.First())
|
||
.ToList();
|
||
foreach (var item in result)
|
||
{
|
||
#region personelcode
|
||
|
||
var personelSearchModel = new PersonnelCodeSearchModel();
|
||
personelSearchModel.EmployeeId = item.EmployeeId;
|
||
personelSearchModel.WorkshopId = item.WorkshopId;
|
||
var personelcode = _personnelCodeApplication.GetPersonnelCodeViewModel(personelSearchModel);
|
||
|
||
#endregion
|
||
|
||
var isActive = 0;
|
||
var leftWorkInsuranceViewModels = serachResult.Where(x => x.WorkshopId == item.WorkshopId)
|
||
.OrderByDescending(x => x.StartWorkDateGr).ToList();
|
||
var activeCount = leftWorkInsuranceViewModels.Where(p => p.IsActiveWorkshop).Count();
|
||
if (activeCount > 0) isActive = 1;
|
||
var group = new LeftWorkInsuranceGroup
|
||
{
|
||
WorkshopId = item.WorkshopId,
|
||
WorkshopName = item.WorkshopName,
|
||
LeftworkInsuranceViewModels = leftWorkInsuranceViewModels,
|
||
IsActiveWorkshop = isActive,
|
||
PersonnelCode = personelcode.PersonnelCode,
|
||
HasPersonelCode = personelcode.HasPersonelCode,
|
||
JobId = item.JobId,
|
||
IncludeStatus = item.IncludeStatus,
|
||
JobList = _jobApplication.GetJobListByWorkshopId(item.WorkshopId)
|
||
};
|
||
ListGroup.Add(group);
|
||
}
|
||
}
|
||
|
||
ListGroup = ListGroup.OrderByDescending(p => p.IsActiveWorkshop).ThenBy(p => p.WorkshopName).ToList();
|
||
|
||
var command = new LeftworkInsuranceDividedList
|
||
{
|
||
EmployeeId = employeeId,
|
||
Workshops = new SelectList(_workShopApplication.GetWorkshopAll(), "Id", "WorkshopFullName"),
|
||
LeftWorkInsuranceGroups = ListGroup,
|
||
EmployeeName = employee.EmployeeFullName,
|
||
PermissionIds = permissionIds
|
||
};
|
||
|
||
return Partial("./LeftWorkInsurance", command);
|
||
}
|
||
|
||
public IActionResult OnPostCreateLeftWorkInsurance(LeftworkInsuranceDividedList command)
|
||
{
|
||
var message = string.Empty;
|
||
var endResult = new OperationResult();
|
||
endResult.IsSuccedded = true;
|
||
var results = new List<OperationResult>();
|
||
|
||
if ((!command.IsDelete && command.LeftWorkInsuranceGroups == null) ||
|
||
(command.LeftWorkInsuranceGroups != null && command.LeftWorkInsuranceGroups.Count == 0))
|
||
return new JsonResult(new
|
||
{ endResult = endResult.Failed("پر کردن اطلاعات شرکت ضروری می باشد"), flag = "ok" });
|
||
if (endResult.IsSuccedded && command.PersonnelCode != null && command.PersonnelCode.Count > 0)
|
||
{
|
||
var personelcode = command.PersonnelCode.Where(x => x.HasPersonelCode == false && x.PersonnelCode == 0)
|
||
.FirstOrDefault();
|
||
if (personelcode != null)
|
||
return new JsonResult(new
|
||
{
|
||
endResult = endResult.Failed("شماره پرسنلی در کارگاه " + personelcode.WorkShopName +
|
||
" نامعتبر است. "),
|
||
flag = "ok"
|
||
});
|
||
}
|
||
|
||
if (endResult.IsSuccedded && command.LeftWorkInsuranceGroups != null &&
|
||
command.LeftWorkInsuranceGroups.Count > 0)
|
||
// int index = 0;
|
||
foreach (var item in command.LeftWorkInsuranceGroups)
|
||
if (item.LeftworkInsuranceViewModels != null && item.LeftworkInsuranceViewModels.Count > 0)
|
||
{
|
||
var leftworkInsurance = item.LeftworkInsuranceViewModels.Where(x => x.JobId == 0).FirstOrDefault();
|
||
if (leftworkInsurance != null)
|
||
return new JsonResult(new
|
||
{
|
||
endResult = endResult.Failed("سمت پرسنل در کارگاه " + leftworkInsurance.WorkshopName +
|
||
" انتخاب نشده است. "),
|
||
flag = "ok"
|
||
});
|
||
}
|
||
else if (!command.IsDelete)
|
||
{
|
||
return new JsonResult(new
|
||
{
|
||
endResult = endResult.Failed("پرکردن اطلاعات کارگاه " + item.WorkshopName +
|
||
" ضروری می باشد، در غیر اینصورت کارگاه مورد نظر را حذف نمایید "),
|
||
flag = "ok"
|
||
});
|
||
}
|
||
|
||
//if (endResult.IsSuccedded == true && (!command.IsDelete && command.LeftWorkInsuranceGroups != null && command.LeftWorkInsuranceGroups.Count > 0) || command.IsDelete)
|
||
//{
|
||
// return new JsonResult(new { endResult = endResult.Succcedded(-1,"ثبت با موفقیت انجام شد"), flag = "ok" });
|
||
//}
|
||
if ((endResult.IsSuccedded && !command.IsDelete && command.LeftWorkInsuranceGroups != null &&
|
||
command.LeftWorkInsuranceGroups.Count > 0) || command.IsDelete)
|
||
{
|
||
var employeeFullName = _employeeApplication.GetDetails(command.EmployeeId).EmployeeFullName;
|
||
if (command.LeftWorkInsuranceGroups != null)
|
||
endResult = _leftWorkInsuranceApplication.CreateLeftworkInsuranceByLeftworkGroups(employeeFullName,
|
||
command.EmployeeId, command.PersonnelCode, command.LeftWorkInsuranceGroups);
|
||
}
|
||
|
||
return new JsonResult(new { endResult, flag = "ok" });
|
||
// return new JsonResult(new { endResult = results, flag = "ok" });
|
||
}
|
||
|
||
public IActionResult OnPostBeforeDate(string date)
|
||
{
|
||
var persianBefore = "";
|
||
var year = Convert.ToInt32(date.Substring(0, 4));
|
||
var month = Convert.ToInt32(date.Substring(5, 2));
|
||
var day = Convert.ToInt32(date.Substring(8, 2));
|
||
var persianDate = new PersianDateTime(year, month, day);
|
||
var persianBeforeDate = persianDate.AddDays(-1);
|
||
persianBefore = persianBeforeDate.ToString("yyyy/MM/dd");
|
||
|
||
|
||
return new JsonResult(new
|
||
{
|
||
ResultDate = persianBefore
|
||
});
|
||
}
|
||
|
||
public IActionResult OnPostAfterDate(string date)
|
||
{
|
||
var persianAfter = "";
|
||
var year = Convert.ToInt32(date.Substring(0, 4));
|
||
var month = Convert.ToInt32(date.Substring(5, 2));
|
||
var day = Convert.ToInt32(date.Substring(8, 2));
|
||
|
||
var persianDate = new PersianDateTime(year, month, day);
|
||
var persianAfterDate = persianDate.AddDays(1);
|
||
persianAfter = persianAfterDate.ToString("yyyy/MM/dd");
|
||
|
||
return new JsonResult(new
|
||
{
|
||
ResultDate = persianAfter
|
||
});
|
||
}
|
||
|
||
public JsonResult OnPostDeleteLeftWorkInsuranceWorkshop(long workshopId, long employeeId)
|
||
{
|
||
var delResult = _leftWorkInsuranceApplication.RemoveAllLeftWorkInsurance(workshopId, employeeId);
|
||
return new JsonResult(delResult);
|
||
}
|
||
|
||
#endregion
|
||
|
||
|
||
#region LeftWork
|
||
|
||
public IActionResult OnGetLeftWork(long employeeId, string employeeName)
|
||
{
|
||
var permissionIds = _authHelper.GetPermissions();
|
||
var search = new LeftWorkSearchModel
|
||
{
|
||
EmployeeId = employeeId
|
||
};
|
||
var employee = _employeeApplication.GetDetails(employeeId);
|
||
var serachResult = _leftWorkApplication.SearchLeftWork(search);
|
||
var ListGroup = new List<LeftWorkGroup>();
|
||
if (serachResult.Count > 0)
|
||
{
|
||
var result = serachResult.GroupBy(c => c.WorkshopId)
|
||
.Select(c => c.First())
|
||
.ToList();
|
||
foreach (var item in result)
|
||
{
|
||
#region personelcode
|
||
|
||
var personelSearchModel = new PersonnelCodeSearchModel();
|
||
personelSearchModel.EmployeeId = item.EmployeeId;
|
||
personelSearchModel.WorkshopId = item.WorkshopId;
|
||
var personelcode = _personnelCodeApplication.GetPersonnelCodeViewModel(personelSearchModel);
|
||
|
||
#endregion
|
||
|
||
var isActive = 0;
|
||
var leftWorkViewModels = serachResult.Where(x => x.WorkshopId == item.WorkshopId)
|
||
.OrderByDescending(x => x.StartWorkDateGr).ToList();
|
||
var activeCount = leftWorkViewModels.Where(p => p.IsActiveWorkshop).Count();
|
||
if (activeCount > 0) isActive = 1;
|
||
var group = new LeftWorkGroup
|
||
{
|
||
WorkshopId = item.WorkshopId,
|
||
WorkshopName = item.WorkshopName,
|
||
LeftWorkViewModels = leftWorkViewModels,
|
||
IsActiveWorkshop = isActive,
|
||
PersonnelCode = personelcode.PersonnelCode,
|
||
HasPersonelCode = personelcode.HasPersonelCode,
|
||
JobId = item.JobId,
|
||
IncludeStatus = item.IncludeStatus
|
||
};
|
||
ListGroup.Add(group);
|
||
}
|
||
}
|
||
|
||
ListGroup = ListGroup.OrderByDescending(p => p.IsActiveWorkshop).ThenBy(p => p.WorkshopName).ToList();
|
||
|
||
var command = new LeftWorkDividedList
|
||
{
|
||
EmployeeId = employeeId,
|
||
Workshops = new SelectList(_workShopApplication.GetWorkshopAll(), "Id", "WorkshopFullName"),
|
||
LeftWorkGroups = ListGroup,
|
||
EmployeeName = employee.EmployeeFullName,
|
||
PermissionIds = permissionIds
|
||
};
|
||
|
||
var leftWorks = _leftWorkTempApplication.GetLeftWorkTempsByEmployeeId(employeeId).GetAwaiter().GetResult();
|
||
if (leftWorks.Any(x => x.LeftWorkType == LeftWorkTempType.LeftWork))
|
||
{
|
||
var resultError = new ErrorViewModel()
|
||
{
|
||
Message = "این پرسنل دارای یک درخواست ترک کار میباشد لطفا اول آن را در کارپوشه خود تعیین تکلیف نمایید",
|
||
};
|
||
return Partial("../Error/_ErrorModal", resultError);
|
||
}
|
||
|
||
//var clientTemps = _employeeClientTempApplication.GetByEmployeeId(employeeId).GetAwaiter().GetResult();
|
||
if (leftWorks.Any(x => x.LeftWorkType == LeftWorkTempType.StartWork) /*|| clientTemps.Any()*/)
|
||
{
|
||
var resultError = new ErrorViewModel()
|
||
{
|
||
Message = "این پرسنل دارای یک درخواست شروع به کار میباشد لطفا اول آن را در کارپوشه خود تعیین تکلیف نمایید",
|
||
};
|
||
return Partial("../Error/_ErrorModal", resultError);
|
||
}
|
||
|
||
return Partial("./LeftWork", command);
|
||
}
|
||
|
||
public IActionResult OnPostCreateLeftWork(LeftWorkDividedList command)
|
||
{
|
||
var message = string.Empty;
|
||
var endResult = new OperationResult();
|
||
endResult.IsSuccedded = true;
|
||
//List<OperationResult> results = new List<OperationResult>();
|
||
|
||
if ((!command.IsDelete && command.LeftWorkGroups == null) ||
|
||
(command.LeftWorkGroups != null && command.LeftWorkGroups.Count == 0))
|
||
return new JsonResult(new
|
||
{ endResult = endResult.Failed("پر کردن اطلاعات شرکت ضروری می باشد"), flag = "ok" });
|
||
if (endResult.IsSuccedded && command.PersonnelCode != null && command.PersonnelCode.Count > 0)
|
||
{
|
||
var personelcode = command.PersonnelCode.Where(x => x.HasPersonelCode == false && x.PersonnelCode == 0)
|
||
.FirstOrDefault();
|
||
if (personelcode != null)
|
||
return new JsonResult(new
|
||
{
|
||
endResult = endResult.Failed("شماره پرسنلی در کارگاه " + personelcode.WorkShopName +
|
||
" نامعتبر است. "),
|
||
flag = "ok"
|
||
});
|
||
}
|
||
|
||
if (endResult.IsSuccedded && command.LeftWorkGroups != null && command.LeftWorkGroups.Count > 0)
|
||
// int index = 0;
|
||
foreach (var item in command.LeftWorkGroups)
|
||
if (item.LeftWorkViewModels != null && item.LeftWorkViewModels.Count > 0)
|
||
{
|
||
var LeftWork = item.LeftWorkViewModels.Where(x => x.JobId == 0).FirstOrDefault();
|
||
if (LeftWork != null)
|
||
return new JsonResult(new
|
||
{
|
||
endResult = endResult.Failed("سمت پرسنل در کارگاه " + LeftWork.WorkshopName +
|
||
" انتخاب نشده است. "),
|
||
flag = "ok"
|
||
});
|
||
}
|
||
else if (!command.IsDelete)
|
||
{
|
||
return new JsonResult(new
|
||
{
|
||
endResult = endResult.Failed("پرکردن اطلاعات کارگاه " + item.WorkshopName +
|
||
" ضروری می باشد، در غیر اینصورت کارگاه مورد نظر را حذف نمایید "),
|
||
flag = "ok"
|
||
});
|
||
}
|
||
|
||
if ((endResult.IsSuccedded && !command.IsDelete && command.LeftWorkGroups != null &&
|
||
command.LeftWorkGroups.Count > 0) || command.IsDelete)
|
||
{
|
||
var employeeFullName = _employeeApplication.GetDetails(command.EmployeeId).EmployeeFullName;
|
||
if (command.LeftWorkGroups != null)
|
||
endResult = _leftWorkApplication.CreateLeftWorkByLeftWorkGroups(employeeFullName, command.EmployeeId,
|
||
command.PersonnelCode, command.LeftWorkGroups);
|
||
}
|
||
|
||
if (command.IsDelete && command.LeftWorkGroups == null)
|
||
return new JsonResult(new { endResult = "ثبت با موفقیت انجام شد", flag = "ok" });
|
||
return new JsonResult(new { endResult, flag = "ok" });
|
||
}
|
||
|
||
|
||
public JsonResult OnPostDeleteLeftWorkWorkshop(long workshopId, long employeeId)
|
||
{
|
||
var delResult = _leftWorkApplication.RemoveAllLeftWork(workshopId, employeeId);
|
||
return new JsonResult(delResult);
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region New by heydari
|
||
|
||
public IActionResult OnGetWorkshopName(string searchText)
|
||
{
|
||
var result = _workShopApplication.GetWorkshopByTextSearch(searchText);
|
||
result = result.OrderBy(x => x.WorkshopFullName.Length).ToList();
|
||
return new JsonResult(new
|
||
{
|
||
IsSuccedded = true,
|
||
mylist = result
|
||
});
|
||
}
|
||
|
||
public IActionResult OnGetEmployerName(string searchText)
|
||
{
|
||
var result = _employerApplication.GetEmployerWithFNameOrLName(searchText);
|
||
result = result.OrderBy(x => x.LName.Length).ToList();
|
||
return new JsonResult(new
|
||
{
|
||
IsSuccedded = true,
|
||
mylist = result
|
||
});
|
||
}
|
||
|
||
#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
|
||
});
|
||
}
|
||
} |