Files
Backend-Api/CompanyManagment.App.Contracts/Contract/IContractApplication.cs
2025-08-23 07:09:56 +03:30

60 lines
2.5 KiB
C#

using System;
using System.Collections.Generic;
using _0_Framework.Application;
using CompanyManagment.App.Contracts.Workshop;
using System.Threading.Tasks;
namespace CompanyManagment.App.Contracts.Contract;
public interface IContractApplication
{
/// <summary>
/// دریافت مزد ارتقاء یافته
/// </summary>
/// <param name="workshopId"></param>
/// <param name="employeeId"></param>
/// <param name="yearlySalaryId"></param>
/// <returns></returns>
Task<double> GetManualDailWage(long workshopId, long employeeId, long yearlySalaryId, DateTime contractStart);
OperationResult Create(CreateContract command);
OperationResult CreateNew(createContractModel command);
OperationResult Edit(EditContract command);
OperationResult EditCompute(EditContract command);
void EditAgreement(long id);
Task<OperationResult> EditComputeAsync(EditContract command);
ComputingViewModel MandatoryHours(CreateContract command);
ContractSeparationViewModel contractSeparation(string year, string month, DateTime contractStart,
DateTime ContractEnd, long employeeId, long workshopId);
EditContract GetDetails(long id);
OperationResult Active(long id);
OperationResult DeActive(long id);
OperationResult Sign(long id);
OperationResult UnSign(long id);
List<ContractViweModel> Search(ContractSearchModel searchModel);
List<ContractViweModel> SearchForextension(ContractSearchModel searchModel);
List<ContractViweModel> SearchForCheckout(ContractSearchModel searchModel);
bool CheckNextContractExist(long employeeId, DateTime startContract, DateTime endContract, long WorkshopId);
bool CkeckBetween(long employeeId, DateTime EndOfContract, DateTime StartOfExtension, long WorkshopId);
List<ContractViweModel> PrintAll(List<long> id);
TimeSpan Over22Check(DateTime date1, DateTime date2);
TimeSpan Over22Complex(DateTime date1, DateTime date2);
TimeSpan Over22Complex2424(DateTime date1, DateTime date2);
#region Client
OperationResult Remove(long id);
List<ContractViweModel> SearchForClient(ContractSearchModel searchModel);
#endregion
#region NewChangeByHeydari
OperationResult DeleteAllContarcts(List<long> ids);
OperationResult DeleteContarcts(long id);
List<long> CheckHasCheckout(List<long> ids);
List<long> CheckHasSignature(List<long> ids);
List<ContractViweModel> SearchForMainContract(ContractSearchModel searchModel);
#endregion
}