93 lines
4.4 KiB
C#
93 lines
4.4 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using _0_Framework.Domain;
|
|
using CompanyManagment.App.Contracts.RollCall;
|
|
using CompanyManagment.App.Contracts.WorkingHoursTemp;
|
|
|
|
namespace Company.Domain.RollCallAgg
|
|
{
|
|
public interface IRollCallRepository : IRepository<long, RollCall>
|
|
{
|
|
EditRollCall GetByEmployeeIdAndWorkshopId(long employeeId, long workshopId);
|
|
EditRollCall GetById(long id);
|
|
|
|
#region Pooya
|
|
|
|
List<OverlappedRollCallWithLeave> GetOverlappedRollCallsWithLeaveInDates(long workshopId, DateTime start,
|
|
DateTime end);
|
|
|
|
|
|
List<RollCallsByDateViewModel> GetWorkshopAbsentHistory(long workshopId, DateTime startSearch,
|
|
DateTime endSearch);
|
|
void RemoveEmployeeRollCallsInDate(long workshopId, long employeeId, DateTime date);
|
|
RollCallsByDateViewModel GetWorkshopRollCallHistory(RollCallSearchModel searchModel);
|
|
CurrentDayRollCall GetWorkshopCurrentDayRollCalls(long workshopId);
|
|
List<PersonnelCheckoutDailyRollCallViewModel> GetEmployeeRollCallsForMonth(IEnumerable<long> employeeIds,
|
|
long workshopId, DateTime start, DateTime end);
|
|
|
|
List<CheckoutDailyRollCallViewModel> GetEmployeeRollCallsForMonth(long employeeId, long workshopId, DateTime startDate, DateTime endDate);
|
|
|
|
List<PersonnelCheckoutDailyRollCallViewModel> GetEmployeeRollCallsInDates(IEnumerable<long> employeeIds,
|
|
long workshopId, DateTime start, DateTime end);
|
|
|
|
List<RollCallViewModel> GetEmployeeRollCallsHistoryAllInDates(long workshopId, long employeeId, DateTime start, DateTime end);
|
|
|
|
EmployeeRollCallsByMonthViewModel GetEmployeeRollCallsHistory(long employeeId, long workshopId,
|
|
DateTime? startDateTime, DateTime? endDateTime, DateTime? exactDateTime, DateTime? monthIndex);
|
|
|
|
void AddRange(List<RollCall> rollCalls);
|
|
void UpdateRange(List<RollCall> rollCalls);
|
|
|
|
List<RollCallViewModel> GetWorkshopEmployeeRollCallsForDate(long workshopId, long employeeId, DateTime date);
|
|
|
|
|
|
/// <summary>
|
|
/// این متد تمام حضور غیاب های کات شده توسط بک گراند سرویس را به صورت تعداد روزانه برمیگرداند
|
|
/// </summary>
|
|
/// <param name="accountId"></param>
|
|
/// <param name="workshopId"></param>
|
|
/// <param name="l"></param>
|
|
/// <returns> لیستی از تعداد و روز آن</returns>
|
|
List<RollCallsByDateViewModel> GetRollCallWorkFlowsCutByBgService(long workshopId, DateTime start, DateTime end);
|
|
|
|
|
|
|
|
IEnumerable<RollCallViewModel> GetNotSlicedRollCallsByWorkshopId(long workshopId, DateTime durationStart, DateTime durationEnd);
|
|
List<RollCallViewModel> GetRange(IEnumerable<long> rollCallIds);
|
|
|
|
List<RollCallsByDateViewModel> GetUndefinedRollCallWorkFlowsInDates(long workshopId, DateTime durationStart, DateTime durationEnd);
|
|
|
|
TimeSpan GetEmployeeRollCallTimeSpanForDuration(long employeeId, long workshopId, DateTime start, DateTime end);
|
|
EmployeeRollCallsByMonthViewModel GetEmployeeRollCallsHistoryForPrint(long employeeId, long workshopId, DateTime firstRollCallToPrintStartDate, DateTime lastRollCallToPrintStartDate);
|
|
#endregion
|
|
long Flag(long employeeId, long workshopId);
|
|
|
|
/// <summary>
|
|
/// چک می کند که اگر کارگر به تازگی خروج یا ورود زده است اجازه ثبت مجدد ندهد
|
|
/// </summary>
|
|
/// <param name="employeeId"></param>
|
|
/// <param name="workshopId"></param>
|
|
/// <returns></returns>
|
|
string CheckRepeat(long employeeId, long workshopId);
|
|
|
|
RollCallViewModel GetDetails(long rollCallId);
|
|
List<RollCall> GetRangeByWorkshopIdEmployeeIdForDate(long workshopId, long employeeId,
|
|
DateTime date);
|
|
|
|
List<RollCallViewModel> GetWorkshopEmployeeRollCallsWithUndefinedForDate(long workshopId, long employeeId, DateTime georgianDateTime);
|
|
void RemoveEmployeeRollCallsWithUndefinedInDate(long workshopId, long employeeId, DateTime date);
|
|
|
|
#region Mahan
|
|
|
|
List<PersonnelCheckoutDailyRollCallViewModel> GetEmployeeRollCallsForCustomizeCheckoutTemp(IEnumerable<long> customizeCheckoutIds,
|
|
long workshopId);
|
|
|
|
Task<List<RollCall>> GetRollCallsInShiftDate(DateTime rollCallShiftDate, long employeeId, long workshopId);
|
|
#endregion
|
|
}
|
|
}
|