ContractHRDto.cs 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using MTWorkHR.Application.Models;
  2. using MTWorkHR.Core.Entities;
  3. using MTWorkHR.Core.Entities.Base;
  4. using MTWorkHR.Core.Global;
  5. using Newtonsoft.Json;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.ComponentModel.DataAnnotations;
  9. using System.ComponentModel.DataAnnotations.Schema;
  10. using System.Linq;
  11. using System.Text;
  12. using System.Threading.Tasks;
  13. namespace MTWorkHR.Application.Models
  14. {
  15. public class ContractHRDto : EntityDto
  16. {
  17. public ContractTypeEnum ContractTypeId { get; set; }
  18. public ContractStatusEnum ContractStatusId { get; set; }
  19. public long CompanyId { get; set; }
  20. public string UserId { get; set; }
  21. public string? EmployeeName { get; set; }
  22. public string? EmployeeEmail { get; set; }
  23. public int? JobId { get; set; }
  24. public int? AcademicQualificationId { get; set; }
  25. public int? SpecializationId { get; set; }
  26. public int WorkCountryId { get; set; }
  27. public int WorkStateId { get; set; }
  28. //-------------------Scope of work-----------
  29. public string? JobTitleName { get; set; }
  30. public string? JobDescription{ get; set; }
  31. [MaxLength(150)]
  32. public string? JobNumber { get; set; } //ثابت و مأخوذ من المنصة
  33. //----------------Contract data -------------------------
  34. public DateTime? StartDate { get; set; }
  35. public DateTime? EndDate { get; set; }
  36. public ContractDurationEnum? ContractDurationId { get; set; } //: اختيار: شهري – ربعي – نصف سنوي – 3 ارباع – سنوي
  37. public TypeOfWork? TypeOfWork { get; set; } //: : اختيار: عقد بدوام كامل - عقد دوام جزئي
  38. //------Working time---------------
  39. public List<string>? WorkingDays { get; set; } //: اختيار متعدد الأيام سبت أحد اثنين..... (بحيث الأيام الأخرى تكون إجازة) 1,2,3,4,5
  40. public WorkingHours WorkingHours { get; set; } // يومي/ اسبوعي
  41. public int? WorkingHoursNum { get; set; } // عدد الساعات
  42. public DateTime? StartDailyWorkingHours { get; set; } // تحديد ساعات الدوام قائمة الساعات << التوقيت بحسب دولة صاحب العمل
  43. public DateTime? EndDailyWorkingHours { get; set; } // تحديد ساعات الدوام قائمة الساعات << التوقيت بحسب دولة صاحب العمل
  44. //----------Salary-----------------
  45. [MaxLength(50)]
  46. public string? Currency { get; set; }
  47. public decimal? Salary{ get; set; }
  48. public string? BillingCycle { get; set; }// 2 fortnightly, 4 Monthly
  49. public DateTime? NextSalaryDate { get; set; }// 2 fortnightly, 4 Monthly
  50. //------------------------Fixed Pay----------------
  51. public DateTime? FirstPatchDateFrom { get; set; }
  52. public DateTime? FirstPatchDateTo { get; set; } //
  53. public decimal? FirstPatchAmount { get; set; }
  54. public DateTime? LastPatchDateFrom { get; set; } //
  55. public DateTime? LastPatchDateTo { get; set; } //
  56. public decimal? LastPatchAmount { get; set; }
  57. public string? Teams{ get; set; }
  58. public int? SpentVacations{ get; set; }
  59. public int? RestVacations { get; set; }
  60. public int? VacationDays { get; set; } //اختيار: بدون – سنويا (رقم)
  61. //__________________HR data_________-
  62. public List<TeamDto>? TeamList { get; set; }
  63. public List<OrderRequestHRDto>? OrderList { get; set; }
  64. //-------------------------------
  65. public List<ContractTaskDto>? ContractTasks { get; set; }
  66. public List<ProjectStageDto>? ProjectStages { get; set; }
  67. public List<InvoiceDto>? InvoiceList { get; set; }
  68. }
  69. }