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

99 lines
3.3 KiB
C#

using _0_Framework.Application;
using CompanyManagment.App.Contracts.Checkout.Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CompanyManagment.App.Contracts.Checkout;
public interface ICheckoutApplication
{
void Create(CreateCheckout command);
OperationResult Edit(EditCheckout command);
EditCheckout GetDetails(long id);
/// <summary>
/// لود لیست اولیه جهت ایجاد فیش حقوقی
/// </summary>
/// <param name="workshopId"></param>
/// <param name="employeeId"></param>
/// <param name="year"></param>
/// <param name="month"></param>
/// <param name="contractStart"></param>
/// <param name="contractEnd"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
Task<CreateCheckoutListViewModel> GetContractResultToCreateCheckout(long workshopId, long employeeId, string year,
string month,
string contractStart, string contractEnd);
/// <summary>
/// لیست تصفیه حساب
/// جدید
///
/// </summary>
/// <param name="searchModel"></param>
/// <returns></returns>
Task<List<CheckoutViewModel>> SearchCheckoutOptimized(CheckoutSearchModel searchModel);
Task<List<CheckoutViewModel>> Search(CheckoutSearchModel searchModel);
List<CheckoutViewModel> SimpleSearch(CheckoutSearchModel searchModel);
List<CheckoutViewModel> PrintAll(List<long> id);
CheckoutViewModel PrintOne(long id);
CheckoutLeavePrintViewModel LeavePrint(long id);
OperationResult Sign(long id);
OperationResult UnSign(long id);
OperationResult Active(long id);
OperationResult DeActive(long id);
OperationResult RemoveCheckout(long id);
OperationResult CustomSet(long id, double rewardPay, double salaryAidDeduction);
List<CheckoutViewModel> SearchForClient(CheckoutSearchModel searchModel);
#region NewChangeByHeydari
List<long> CheckHasSignature(List<long> ids);
OperationResult DeleteAllCheckouts(List<long> ids);
OperationResult DeleteCheckout(long id);
Task<List<CheckoutViewModel>> SearchForMainCheckout(CheckoutSearchModel searchModel);
#endregion
#region Pooya
List<(long EmployeeId, DateTime CheckoutStart, DateTime CheckoutEnd)> GetLastCheckoutsByWorkshopIdForWorkFlow(
long workshopId, DateTime start, DateTime end);
#endregion
#region ForApi
/// <summary>
/// دریافت سلکت لیست پرسنل کارگاه
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<List<EmployeeSelectListDto>> GetEmployeeSelectListByWorkshopId(long id);
/// <summary>
/// دریافت لیست فیش های حقوقی ادمین
/// </summary>
/// <param name="searchModel"></param>
/// <returns></returns>
Task<PagedResult<CheckoutDto>> GetList(CheckoutSearchModelDto searchModel);
/// <summary>
/// دریافت نوبتکاری
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<RotatingShiftOfCheckoutDto> GetRotatingShiftApi(long id);
/// <summary>
/// پرینت فیش حقوقی
/// Api
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
Task<List<CheckoutPrintDto>> CheckoutPrint(List<long> ids);
#endregion
}