Files
Backend-Api/CompanyManagment.App.Contracts/Workshop/IWorkshopApplication.cs
2026-01-20 18:17:32 +03:30

278 lines
7.9 KiB
C#

using _0_Framework.Application;
using AccountManagement.Application.Contracts.Account;
using CompanyManagment.App.Contracts.Checkout.Dto;
using CompanyManagment.App.Contracts.Workshop.DTOs;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
namespace CompanyManagment.App.Contracts.Workshop;
public interface IWorkshopApplication
{
OperationResult Create(CreateWorkshop command);
OperationResult Edit(EditWorkshop command);
string GetWorkshopFullname(long id);
EditWorkshop GetDetails(long id);
List<WorkshopViewModel> GetWorkshop();
List<WorkshopViewModel> GetWorkshopAll();
List<WorkshopViewModel> GetWorkshopAccount();
List<WorkshopViewModel> GetWorkshopsByEmployerId(List<long> emloyerIds);
List<ConnectedPersonnelViewModel> GetConnectedPersonnels(long workshopId);
List<PersonnelInfoViewModel> GetPersonnelInfo(PersonnelInfoSearchModel searchModel);
int PersonnelCount(long workshopId);
List<WorkshopViewModel> Search(WorkshopSearchModel searchModel);
OperationResult Active(long id);
OperationResult DeActive(long id);
WorkshopViewModel GetWorkshopInfo(long id);
OperationResult Err();
OperationResult ExistErr();
//client
#region client
OperationResult Remove(long id);
List<WorkshopViewModel> GetWorkshopByTextSearchForClient(string textSearch);
List<WorkshopViewModel> SearchForClient(WorkshopSearchModel searchModel);
OperationResult CreateForClient(CreateWorkshop command);
OperationResult EditForClient(EditWorkshop command);
bool GetWorkshopAccountByAcountID(long acountID);
bool CheckAccountWorkshop(long workshopId);
List<WorkshopViewModel> SearchForClientRollCall();
#endregion
#region NewByHeydari
List<WorkshopViewModel> GetWorkshopByTextSearch(string searchText);
List<WorkshopViewModel> SearchForMain(WorkshopSearchModel searchModel);
OperationResult DeleteWorkshop(long id);
OperationResult ActiveAll(long id);
#endregion
#region Pooya
List<PersonnelInfoViewModel> GetPersonnelInfoRemastered(PersonnelInfoSearchModel searchModel);
#endregion
#region Vafa
List<PrintListWorkshop> PrintWorkshopList(WorkshopSearchModel searchModel);
#endregion
AccountViewModel GetClientAccountByWorkshopId(long workshopId);
#region Insurance
/// <summary>
/// لیست انتخاب کارگاه در مودال ایجاد بیمه
/// </summary>
/// <returns></returns>
List<WorkshopViewModel> GetWorkshopSelectListInsuransce();
#endregion
#region Mahan
Task<List<WorkshopWithStartedEmployeesDto>> GetWorkshopsForEmployeeStartWork(long accountId);
Task<int> GetWorkshopsForEmployeeStartWorkCount(long accountId);
Task<List<WorkshopWithLeftWorkTempEmployeesDto>> GetWorkshopsForLeftWorkTemp(long accountId);
Task<int> GetWorkshopsForLeftWorkTempCount(long accountId);
Task<List<WorkshopSelectListViewModel>> GetSelectList(string search, long id);
#endregion
Task<ActionResult<OperationResult>> CreateWorkshopWorkflowRegistration(CreateWorkshopWorkflowRegistration command);
#region ForApi
/// <summary>
/// دریافت لیست کارگاه های ادمین برای سلکت تو
/// Api
/// </summary>
/// <returns></returns>
Task<List<AdminWorkshopSelectListDto>> GetAdminWorkshopSelectList();
#endregion
}
public class CreateWorkshopWorkflowRegistration
{
/// <summary>
/// شناسه جزئیات کارگاه قرارداد نهاد مرتبط
/// </summary>
public long InstitutionContractWorkshopInitialId { get; set; }
/// <summary>
/// نام کارگاه
/// </summary>
public string WorkshopName { get; set; }
/// <summary>
/// نام مستعار
/// </summary>
public string SureName { get; set; }
/// <summary>
/// نوع مالکیت
/// </summary>
public string TypeOfOwnership { get; set; }
/// <summary>
/// کد بایگانی
/// </summary>
public string ArchiveCode { get; set; }
/// <summary>
/// نام نماینده
/// </summary>
public string AgentName { get; set; }
/// <summary>
/// شناسه طرف قرارداد
/// </summary>
public long ContractingPartyId { get; set; }
/// <summary>
/// شهر
/// </summary>
public string City { get; set; }
/// <summary>
/// استان
/// </summary>
public string Province { get; set; }
/// <summary>
/// آدرس
/// </summary>
public string Address { get; set; }
/// <summary>
/// شناسه حساب کارشناس ارشد قرارداد
/// </summary>
public long SeniorContractAccountId { get; set; }
/// <summary>
/// شناسه حساب کارشناس قرارداد
/// </summary>
public long JuniorContractAccountId { get; set; }
/// <summary>
/// شناسه حساب کارشناس ارشد بیمه
/// </summary>
public long SeniorInsuranceAccountId { get; set; }
/// <summary>
/// شناسه حساب کارشناس بیمه
/// </summary>
public long JuniorInsuranceAccountId { get; set; }
/// <summary>
/// باز بودن در تعطیلات
/// </summary>
public bool WorkingInHoliday { get; set; }
/// <summary>
/// محاسبه نوبت کاری در فیش حقوقی
/// </summary>
public bool RotatingShiftCompute { get; set; }
/// <summary>
/// ایجاد قرارداد
/// </summary>
public bool CreateContract { get; set; }
/// <summary>
/// امضاء قراداد
/// </summary>
public bool SignContract { get; set; }
/// <summary>
/// ایجات تصفیه حساب
/// </summary>
public bool CreateCheckout { get; set; }
/// <summary>
/// امضاء تصفیه حساب
/// </summary>
public bool SignCheckout { get; set; }
/// <summary>
/// تصفیه حساب بصورت استاتیک محاصبه شود
/// </summary>
public bool IsStaticCheckout { get; set; }
/// <summary>
/// اگر قرارداد بیش از یک ماه باشد و گزینه انتخاب شده منتهی به پایان سال باشد
/// این آیتم
/// True
/// است
/// </summary>
public IsActive CutContractEndOfYear { get; set; }
/// <summary>
/// سرویس تصفیه حساب سفارشی
/// </summary>
public string HasCustomizeCheckoutService { get; set; }
/// <summary>
/// محاسبه اضافه کار فیش حقوقی در لیست بیمه
/// </summary>
public bool InsuranceCheckoutOvertime { get; set; }
/// <summary>
/// محاسبه حق اولاد در لیست بیمه
/// </summary>
public bool InsuranceCheckoutFamilyAllowance { get; set; }
/// <summary>
/// حضور و غیاب رایگان ویژه
/// </summary>
public string HasRollCallFreeVip { get; set; }
/// <summary>
/// مدت قرارداد
/// </summary>
public string ContractTerm { get; set; }
/// <summary>
/// مخفی کردن کل پرداخت
/// </summary>
public bool TotalPaymentHide { get; set; }
/// <summary>
/// نوع ارسال بیمه
/// </summary>
public string TypeOfInsuranceSend { get; set; }
/// <summary>
/// کد بیمه
/// </summary>
public string InsuranceCode { get; set; }
/// <summary>
/// مشمول دستمزد مقطوع
/// </summary>
public bool FixedSalary { get; set; }
/// <summary>
/// صنف
/// </summary>
public long InsuranceJobId { get; set; }
/// <summary>
/// جمعیت شهر
/// </summary>
public string Population { get; set; }
/// <summary>
/// شماره تماس نماینده کارگاه
/// </summary>
public string AgentPhone { get; set; }
public string TypeOfContract { get; set; }
/// <summary>
/// ردیف پیمان
/// </summary>
public string AgreementNumber { get; set; }
/// <summary>
/// نوع محاسبه طلب مرخصی
/// </summary>
public string ComputeOptions { get; set; }
/// <summary>
/// نوع محسبه عیدی و پاداش
/// </summary>
public string BonusesOptions { get; set; }
/// <summary>
/// نوع محاسبه سنوات
/// </summary>
public string YearsOptions { get; set; }
}