Files
Backend-Api/CompanyManagment.App.Contracts/YearlySalary/IYearlySalaryApplication.cs

60 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using _0_Framework.Application;
using CompanyManagment.App.Contracts.Contract;
using CompanyManagment.App.Contracts.Holiday;
using CompanyManagment.App.Contracts.LeftWork;
namespace CompanyManagment.App.Contracts.YearlySalary;
public interface IYearlySalaryApplication
{
List<string> GetYears();
OperationResult Create(CreateYearlySalary command);
OperationResult Edit(EditYearlySalary command);
OperationResult Err();
EditYearlySalary GetDetails(long id);
List<YearlySalaryViewModel> GetYearlySalary();
/// <summary>
/// متد ارتقاء مزد دلخواه
/// </summary>
/// <param name="newContractStart"></param>
/// <param name="lastContractStart"></param>
/// <param name="lastContractManualDailyWage"></param>
/// <returns></returns>
Task<UpgradeManualDailyWageModel> UpgradeManualDailyWage(DateTime newContractStart, DateTime lastContractStart,
double lastContractManualDailyWage);
/// <summary>
/// متد محاسبه پایه سنوات و لیست پایه سنوات های پرسنل
/// </summary>
/// <param name="contractStart"></param>
/// <param name="contractEnd"></param>
/// <param name="employeeId"></param>
/// <param name="workshopId"></param>
/// <param name="leftWorkList"></param>
/// <returns></returns>
Task<BaseYearDataViewModel> BaseYearComputeByContractId(long contractId);
/// <summary>
/// دریافت مزد روزانه بر اساس تاریخ شروع و پایان
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <returns></returns>
Task<(double dailyWage, long yearlySalaryId)> GetDailyWageByStartEnd(DateTime start, DateTime end);
List<YearlySalaryViewModel> Search(YearlySalarySearchModel searchModel);
EditYearlySalary GetDetailsBySearchModel(YearlySalarySearchModel searchModel);
Task<HolidayApiVewModel> HolidayGregorian(DateTime gregorianDate);
Task<HolidayApiVewModel> HolidayShamsi(string shamsiDate);
#region Insurance
InsuranceYearlySalaryModel GetInsuranceItems(DateTime startDate, DateTime endDate, string year);
#endregion
}