Files
Backend-Api/CompanyManagment.App.Contracts/Checkout/ICheckoutApplication.cs
2025-05-27 16:18:39 +03:30

57 lines
2.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using _0_Framework.Application;
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);
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
}