111 lines
5.3 KiB
C#
111 lines
5.3 KiB
C#
using System;
|
|
using _0_Framework.Application;
|
|
using _0_Framework.Domain.CustomizeCheckoutShared.Enums;
|
|
using _0_Framework.Domain.CustomizeCheckoutShared.ValueObjects;
|
|
using CompanyManagment.App.Contracts.Employee;
|
|
using CompanyManagment.App.Contracts.RollCall;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace CompanyManagment.App.Contracts.CustomizeWorkshopSettings;
|
|
|
|
public interface ICustomizeWorkshopSettingsApplication
|
|
{
|
|
//Create workshop settings
|
|
OperationResult CreateWorkshopSettings(CreateCustomizeWorkshopSettings command);
|
|
|
|
CustomizeWorkshopSettingsViewModel GetWorkshopSettingsByWorkshopIdForAdmin(long workshopId);
|
|
|
|
//create group settings with workshopSettingsId.
|
|
OperationResult CreateGroupSettingsByRollCallWorkshopSettingId(CreateCustomizeWorkshopGroupSettings command);
|
|
|
|
OperationResult CreateEmployeeSettings(CreateCustomizeEmployeeSettings command);
|
|
|
|
//Edit the Workshop Settings Data
|
|
OperationResult EditWorkshopSetting(EditCustomizeWorkshopSettings command, bool replaceInAllGroups);
|
|
|
|
//Edit the Group Settings Data
|
|
OperationResult EditRollCallGroupSetting(EditCustomizeWorkshopGroupSettings command);
|
|
|
|
//Edit the Employee settings and change the 'IsChanged' bool to true.
|
|
OperationResult EditRollCallEmployeeSettings(EditCustomizeEmployeeSettings command);
|
|
|
|
//Remove the Employee From the Group Settings
|
|
OperationResult RemoveEmployeeFromRollCallWorkshopGroup(long employeeId, long groupId, long workshopId);
|
|
|
|
OperationResult EditSimpleRollCallGroupSetting(EditCustomizeWorkshopGroupSettings command, List<ReCalculateRollCallValues> reCalculateCommand);
|
|
|
|
#region Vafa
|
|
OperationResult EditSimpleRollCallEmployeeSetting(EditCustomizeEmployeeSettings command,
|
|
List<ReCalculateRollCallValues> reCalculateCommand);
|
|
#endregion
|
|
|
|
OperationResult RemoveGroupSettings(long employeeSettingsId);
|
|
|
|
OperationResult AddEmployeeToMainGroupSettings(long workshopId, long employeeId);
|
|
|
|
OperationResult CreateEmployeesSettingsAndSetChanges(EditCustomizeEmployeeSettings command);
|
|
|
|
/// <summary>
|
|
/// این متد تاریخ شیفت تنظیمات کارگاه را تغییر میدهد
|
|
/// </summary>
|
|
/// <param name="shiftViewModels">شیفت هت</param>
|
|
/// <param name="customizeWorkshopSettingsId">آیدی تنظیمات کارگاه</param>
|
|
/// <param name="workshopShiftStatus"></param>
|
|
/// <param name="holidayWork"></param>
|
|
/// <param name="weeklyOffDays"></param>
|
|
/// <param name="replaceChangedGroups"></param>
|
|
/// <returns></returns>
|
|
OperationResult EditWorkshopSettingShifts(List<CustomizeWorkshopShiftViewModel> shiftViewModels,
|
|
long customizeWorkshopSettingsId, WorkshopShiftStatus workshopShiftStatus,
|
|
HolidayWork holidayWork, List<DayOfWeek> weeklyOffDays);
|
|
|
|
// It will Get the Workshop Settings with its groups and the employees of groups.
|
|
CustomizeWorkshopSettingsViewModel GetWorkshopSettingsByWorkshopId(long workshopId, AuthViewModel auth);
|
|
|
|
|
|
|
|
List<CustomizeWorkshopEmployeeSettingsViewModel> GetChangedEmployeeSettingsByGroupSettingsId(long groupSettingsId);
|
|
|
|
List<EmployeeViewModel> GetEmployeesWithoutGroup(long customizeWorkshopSettingId);
|
|
|
|
CustomizeWorkshopEmployeeSettingsViewModel GetByEmployeeIdAndWorkshopIdIncludeGroupSettings(long workshopId, long employeeId);
|
|
|
|
List<CustomizeWorkshopEmployeeSettingsViewModel> GetEmployeeSettingsByGroupSettingsId(long groupSettingsId);
|
|
|
|
EditCustomizeWorkshopSettings GetWorkshopSettingsDetails(long workshopId);
|
|
|
|
/// <summary>
|
|
/// این متد فقط شیفت و مشخصات ساده را برمیگردانید
|
|
/// </summary>
|
|
/// <param name="workshopId"></param>
|
|
/// <returns></returns>
|
|
EditCustomizeWorkshopSettings GetSimpleWorkshopSettings(long workshopId);
|
|
|
|
CustomizeWorkshopSettingsViewModel GetWorkshopIncludeGroupsByWorkshopId(long workshopId);
|
|
|
|
EditCustomizeWorkshopGroupSettings GetCustomizeWorkshopGroupSettingsDetails(long groupId);
|
|
|
|
EditCustomizeEmployeeSettings GetCustomizeEmployeeSettingsDetails(long customizeEmployeeId);
|
|
|
|
List<EmployeeViewModel> GetEmployeesWithoutGroupByWorkshopId(long workshopId);
|
|
List<ChangedGroupedViewModel> GetShiftChangesGroupAndEmployees(long customizeWorkshopSettingsId);
|
|
List<CustomizeWorkshopEmployeeSettingsViewModel> GetEmployeeSettingsByWorkshopId(long workshopId);
|
|
CustomizeWorkshopGroupSettingsViewModel GetEmployeesGroupSettingsByEmployeeId(long employeeId, long workshopId);
|
|
|
|
/// <summary>
|
|
/// این متد برای قبل از ویرایش گروهی و محاسبه مجدد گروهی استفاده میشود برای اینکه پرسنل هایی که دارای فیش هستند رو فرانت نمایش بده
|
|
/// </summary>
|
|
/// <param name="command"></param>
|
|
/// <param name="workshopId"></param>
|
|
/// <returns></returns>
|
|
OperationResult<List<long>> ValidateReCalculateValueForGroupEdit(List<ReCalculateRollCallValues> command, long workshopId);
|
|
bool HasAnyEmployeeWithoutGroup(long workshopId);
|
|
|
|
/// <summary>
|
|
/// این متد چک میکند که آیا شیفت پرسنل تغییر کرده است یا نه
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
bool CheckEmployeeShiftHasChanged(EditCustomizeEmployeeSettings command);
|
|
} |