Files
Backend-Api/CompanyManagment.App.Contracts/ClassificationScheme/IClassificationSchemeApplication.cs

150 lines
5.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using _0_Framework.Application;
using CompanyManagment.App.Contracts.TemporaryClientRegistration;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace CompanyManagment.App.Contracts.ClassificationScheme;
/// <summary>
/// اپلیکیش طرح طبقه بندی مشاغل
/// </summary>
public interface IClassificationSchemeApplication
{
/// <summary>
/// پارشیال صفحه ایجاد طرح
/// </summary>
/// <param name="worskhopId"></param>
/// <returns></returns>
Task<ClassificationSchemePartialModel> ClassificationSchemePartialModel(long workshopId);
/// <summary>
/// ایجاد طرح
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
Task<OperationResult> CreateClassificationScheme(CreateClassificationScheme command);
/// <summary>
/// دریافت اطلاعات طرح برای مودال ویرایش
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<EditClassificationScheme> GetClassificationScheme(long id);
/// <summary>
/// ویرایش طرح
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
Task<OperationResult> EditClassificationScheme(EditClassificationScheme command);
/// <summary>
/// دریافت گروه ها و مشاغلشان برای تب تعیین مشاغل
/// </summary>
/// <param name="schemeId"></param>
/// <returns></returns>
Task<List<ClassificationGroupAndJobModel>> GetGroupAndJobs(long schemeId);
/// <summary>
/// دریافت مشاغل گروه توسط آی دی گروه
/// </summary>
/// <param name="groupId"></param>
/// <returns></returns>
Task<List<EditClassificationGroupJob>> GetGroupJobs(long groupId);
/// <summary>
/// چک میکند که آی پرسنلی وجود دارد که این شغل به او نسبت داده شده
/// </summary>
/// <param name="id"></param>
/// <param name="groupId"></param>
/// <returns></returns>
Task<bool> CheckEmployeeHasThisJob(long id, long groupId);
/// <summary>
/// ایجاد مشاغل گروه
/// </summary>
/// <param name="createClassificationGroupJob"></param>
/// <param name="deleteJobList"></param>
/// <returns></returns>
Task<bool> CreateGroupJobs(List<CreateClassificationGroupJob> createClassificationGroupJob, List<long> deleteJobList);
/// <summary>
/// چک میکند که آیا برای این طرح تابحال دستمزدی ایجاد شده یا نه
/// </summary>
/// <param name="schemeId"></param>
/// <returns></returns>
Task<SalaryAndRialCoefficientTab> GetSalariesTabData(long schemeId);
/// <summary>
/// در یافت اطلاعات گروه برای لود مودال ایجاد دستمزد های
/// </summary>
/// <returns></returns>
Task<SalaryAndRialCoefficientModel> GetGroupToCreateSalariesModal(long schemeId);
/// <summary>
/// ایجاد دستمزدها و ضرایب ریالی هر گروه در هر سال
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
Task<OperationResult> CreateGroupSalaryAndCoefficient(SalaryAndRialCoefficientModel command);
/// <summary>
/// دریافت دستمزدها و ضریب ریالی برای مودال ویرایش
/// </summary>
/// <param name="schemeId"></param>
/// <param name="startDate"></param>
/// <param name="endDate"></param>
/// <returns></returns>
Task<SalaryAndRialCoefficientModel> GetEditSalariesData(long schemeId, string startDate, string endDate);
/// <summary>
/// ثبت ویرایش دستمزدها و ضریب
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
Task<OperationResult> EditGroupSalaryAndCoefficient(SalaryAndRialCoefficientModel command);
/// <summary>
/// دریافت لیست پرسنل برای تب افزودن پرسنل
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
Task<EmployeeInfoTab> GetEmployeeDataTab(EmployeeInfoTab command);
/// <summary>
/// دریافت گروه های طرح
/// </summary>
/// <param name="schemeId"></param>
/// <returns></returns>
Task<List<ClassificationGroupList>> GetGroups(long schemeId);
/// <summary>
/// ذخیره پرسنل افزوده شده در گروه
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
Task<OperationResult> AddEmployeeToGroup(AddEmployeeToGroup command);
/// <summary>
/// ذخیره ویرایش گروه پرسنل
/// </summary>
/// <param name="command"></param>
/// <returns></returns>
Task<OperationResult> EditGroupMember(AddEmployeeToGroup command);
/// <summary>
/// دریافت اطلاعات عضویتی پرسنل در گروه
/// </summary>
/// <param name="employeeId"></param>
/// <returns></returns>
Task<AddEmployeeToGroup> GetEmployeeMemberizeData(long employeeId);
}