Untitled
user_9603071
plain_text
5 months ago
28 kB
4
Indexable
using Sealinkapi.Domain.Entities.Common; using System; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; //34 Entities 0 Enums //create regions ,main table on the top , namespace Sealinkapi.Domain.Entities.Catalog.Crew { #region enum public enum IdType { DrivingLicense = 1, Passport = 2, } public enum EmplyeeType { Crew = 2, Employee = 1, } public enum JobType { Fulltime = 1, Parttime = 2, Contract = 3, Permanent = 4 } public enum CardType { passport = 1, Emirates = 2, } public enum Status { Active = 1, Inactive = 2, } public enum BloodGroup { A_Positive, A_Negative, B_Positive, B_Negative, AB_Positive, AB_Negative, O_Positive, O_Negative } public enum PIDType { AadharCard = 1, DrivingLicence = 2, PANCard = 3, PassportNo = 4 } public enum CountryCode { usa =1, } #endregion #region master Table [Table("Designations", Schema = "Employee")] public class Designation : AuditableCompanyEntity { public string Name { get; set; } public string Code { get; set; } public bool IsActive { get; set; } } [Table("Divisions", Schema = "Employee")] public class Division : AuditableCompanyEntity { public string Name { get; set; } public string Code { get; set; } public bool IsActive { get; set; } } #endregion #region Main table [Table("OfficialInfos", Schema = "Employee")] public class OfficialInfo : AuditableCompanyEntity { public string? FirstName { get; set; } [StringLength(100)] public string? MIddleName { get; set; } [StringLength(100)] public string? Surname { get; set; } [StringLength(20)] public string? Gender { get; set; } //New Fields Added public string? AllocatedVessel { get; set; } public string? Supervisor { get; set; } public string? UserGroup { get; set; } public string? Nationality { get; set; } public string? BloodGroup { get; set; } [StringLength(100)] public string? Rank { get; set; } // Rank [StringLength(50)] public string? SeafarerCode { get; set; } // Seafarer Code [StringLength(100)] public string? CrewingManager { get; set; } // Crewing Manager public DateTime? SealinkRegistrationDate { get; set; } // Sealink Registration Date public PIDType? PIDType { get; set; } // Primary ID Type [StringLength(50)] public string? PrimaryIDNumber { get; set; } // Primary ID Number public Guid? DepartmentId { get; set; } public Guid? DesignationId { get; set; } public Guid? DivisionId { get; set; } //using it to fetch crew .its from Master.Division //TODO: need to Import Master.Country public CountryCode? CountryCode { get; set; } [StringLength(20)] public string? ContactNumber { get; set; } public Guid? ManagerId { get; set; } [StringLength(100)] public string? OfficialEmail { get; set; } public JobType? JobType { get; set; } [StringLength(300)] public string? ProfilePicURL { get; set; } [StringLength(20)] public Status? EmployeeStatus { get; set; } public DateTime? JoinDate { get; set; } public bool? IsInvited { get; set; } public bool? IsEnabled { get; set; } public IdType? IdType { get; set; } public EmplyeeType? EmployeeType { get; set; } } [Table("PersonalInfo", Schema = "Employee")] public class PersonalInfo : AuditableEntity { public OfficialInfo officialInfo { get; set; } public BloodGroup bloodGroup { get; set; } public string PersonalEmail { get; set; } //TODO : need to import Master.Country public Guid? PersonalPhoneNumberCountryId { get; set; } [StringLength(20)] public string PersonalPhoneNumber { get; set; } public Guid? NationalityId { get; set; } [StringLength(20)] public string AdhaarNumber { get; set; } [StringLength(15)] public string PanCardNumber { get; set; } [StringLength(50)] public string PlaceOfBirth { get; set; } public DateTime? DateOfBirth { get; set; } [StringLength(20)] //not using right now //public string IdNumber { get; set; } //[StringLength(30)] public string PassportNumber { get; set; } public Guid? PresentAddressCountryId { get; set; } [StringLength(50)] public string PresentAdressCountryName { get; set; } public Guid? PresentAddressStateId { get; set; } [StringLength(50)] public string PresentAddressStateName { get; set; } [StringLength(100)] public string PresentAddressBuildingHouseUnit { get; set; } [StringLength(15)] public string PresentAddressPostalZipCode { get; set; } [StringLength(200)] public string PresentAddressStreetAddress { get; set; } [StringLength(200)] public string PresentAddressLocation { get; set; } public Guid? PermanentAddressCountryId { get; set; } [StringLength(50)] public string PermanentAdressCountryName { get; set; } public Guid? PermanentAddressStateId { get; set; } //TODO: need to import Master.state [StringLength(50)] public string PermanentAddressStateName { get; set; } [StringLength(100)] public string PermanentAddressBuildingHouseUnit { get; set; } [StringLength(15)] public string PermanentAddressPostalZipCode { get; set; } [StringLength(200)] public string PermanentAddressStreetAddress { get; set; } [StringLength(200)] public string PermanentAddressLocation { get; set; } [StringLength(5)] public string IsSameAddress { get; set; } [StringLength(100)] public string EmergencyContactName { get; set; } public Guid? EmergencyPhoneCodeId { get; set; } [StringLength(20)] public string EmergencyPhoneNumber { get; set; } public Guid? EmergencyRelationId { get; set; } [StringLength(100)] public string EmergencyEmail { get; set; } [StringLength(30)] public string CDCNo { get; set; } [StringLength(20)] public string IndusNumber { get; set; } [StringLength(20)] public string InternationalId { get; set; } public DateTime? PassportIssuedOn { get; set; } [StringLength(200)] public string SeamanBookNumber { get; set; } [StringLength(200)] public string CCRNumber { get; set; } //public Guid? TypeId { get; set; } //TODO:create enum EmployeeCardType //Master.IdType //[StringLength(200)] public CardType CardType { get; set; } public string CrewId { get; set; } // not using [StringLength(100)] public string TradeUnionMembership { get; set; } public string LinkedInLink { get; set; } public string FacebookLink { get; set; } public string InstagramLink { get; set; } public string WhatsAppLink { get; set; } } [Table("Qualification", Schema = "Employee")] public class Qualification : AuditableEntity { public OfficialInfo officialInfo { get; set; } public Guid? QualificationTypeId { get; set; } [StringLength(100)] public string QualificationStream { get; set; } public int? QualificationEndYear { get; set; } [StringLength(100)] public string QualificationInstitute { get; set; } [StringLength(100)] public string QualificationAwardingBody { get; set; } } [Table("Skill", Schema = "Employee")] public class Skill : AuditableEntity { public Guid? SkillType { get; set; } public Guid? SkillName { get; set; } public Guid? SkillLevel { get; set; } public OfficialInfo officialInfo { get; set; } } [Table("Certifications", Schema = "Employee")] public class Certification : AuditableEntity { public string EmployeeCertificationName { get; set; } [StringLength(100)] public string EmployeeAwardingBody { get; set; } public string CertificationUpload { get; set; } public string ReferenceNumber { get; set; } [StringLength(200)] public DateTime? AwardedDate { get; set; } public DateTime? ExpiryDate { get; set; } [StringLength(500)] public string VerificationLink{ get; set; } [StringLength(20)] public string Remarks { get; set; } public OfficialInfo officialInfo { get; set; } } [Table("ActivityLog", Schema = "Employee")] public class ActivityLog : AuditableEntity { public DateTimeOffset? ActivityLogDateTime { get; set; } [StringLength(200)] public string ActivityAction { get; set; } public Guid? RecordId { get; set; } [StringLength(100)] public string EntityName { get; set; } public Guid? SubRecordId { get; set; } [StringLength(100)] public string SubRecordEntityName { get; set; } public OfficialInfo officialInfo { get; set; } } [Table("EmployeeUserRole", Schema = "Employee")] public class EmployeeUserRole : AuditableEntity { public Guid? CompanyId { get; set; } [StringLength(10)] public string IsDefaultCompany { get; set; } public OfficialInfo officialInfo { get; set; } } [Table("BankInformation", Schema = "Employee")] public class BankInformation : AuditableEntity { public OfficialInfo officialInfo { get; set; } public string AccountNumber { get; set; } public Guid? CountryUId { get; set; } [StringLength(30)] public string BranchCode { get; set; } [StringLength(50)] public string BankBranch { get; set; } [StringLength(200)] public string IBAN { get; set; } [StringLength(200)] public string BankName { get; set; } } [Table("Competencies", Schema = "Employee")] public class Competency : AuditableEntity { public OfficialInfo officialInfo { get; set; } public string CompanyName { get; set; } [StringLength(100)] public string JobProfile { get; set; } public DateTime? From { get; set; } public DateTime? To { get; set; } [StringLength(100)] public string Country { get; set; } [StringLength(200)] public string Remarks { get; set; } [StringLength(50)] public string Location { get; set; } [StringLength(5)] public bool ISCurrentlyPursuing { get; set; } //public Guid? VesselAssignmentId { get; set; } //public Guid? CompanyId { get; set; } //public Guid? VesselId { get; set; } //public Guid? CountryId { get; set; } //[StringLength(100)] //public string GrossRegisteredTonnage { get; set; } //[StringLength(100)] //public string NetRegisteredTonnage { get; set; } //[StringLength(100)] //public string BrakeHorsepower { get; set; } //[StringLength(100)] //public string DeadweightTonnage { get; set; } //[StringLength(100)] //public string DesignationId { get; set; } //[StringLength(100)] //public string PortofEngagementId { get; set; } //[StringLength(100)] //public string PortofDischargeId { get; set; } } #endregion #region Documents [Table("Document", Schema = "Employee")] public class Document : AuditableEntity { public Guid? DocumentFolderId { get; set; } public DateTimeOffset? DocumentCreatedDate { get; set; } [StringLength(200)] public string DocumentFileName { get; set; } public string DocumentURL { get; set; } [StringLength(20)] public string DocumentVisibility { get; set; } [StringLength(500)] public string DocumentFileSize { get; set; } public Guid? DocumentTypeId { get; set; } public OfficialInfo officialInfo { get; set; } } [Table("DocumentExpireEmail", Schema = "Employee")] public class DocumentExpireEmail : AuditableEntity { public OfficialInfo officialInfo { get; set; } public bool? Enabled { get; set; } } [Table("DocumentExpireEmailHistory", Schema = "Employee")] public class DocumentExpireEmailHistory : AuditableEntity { public OfficialInfo officialInfo { get; set; } public string Status { get; set; } } //will use in future //[Table("DocumentExpireNotification", Schema = "Employee")] //public class DocumentExpireNotification : AuditableEntity //{ // public OfficialInfo officialInfo { get; set; } // public Guid? EmployeeDocumentId { get; set; } // public bool? SeenNotification { get; set; } //} [Table("DocumentFolder", Schema = "Employee")] public class DocumentFolder : AuditableEntity { public OfficialInfo officialInfo { get; set; } public string DocumentFolderName { get; set; } public string DocumentFolderVisibility { get; set; } public string IsDefaultDocumentFolder { get; set; } } [Table("DocumentMap", Schema = "Employee")] public class DocumentMap : AuditableEntity { public OfficialInfo officialInfo { get; set; } public Guid? EmployeeQualificationId { get; set; } public Guid? EmployeeCertificationId { get; set; } public Guid? employeeCourseUId { get; set; } public Guid? EmployeeDocumentId { get; set; } } #endregion #region Contract [Table("ContractModule", Schema = "Crew")] public class ContractModule : AuditableEntity { [StringLength(20)] public string ContractModuleVisibility { get; set; } [StringLength(100)] public string ContractModuleName { get; set; } public Guid? ContractModuleCreatedUser { get; set; } public Guid? ContractModuleCompanyId { get; set; } } [Table("Contract", Schema = "Employee")] public class Contract : AuditableEntity { public OfficialInfo officialInfo { get; set; } public ContractTemplate contractTemplate { get; set; } [Column(TypeName = "decimal(18,2)")] public decimal? Salary { get; set; } public DateTime? StartDate { get; set; } public DateTime? EndDate { get; set; } public bool? IsRenewed { get; set; } public int? IsTerminated { get; set; } public DateTime? TerminationDate { get; set; } public string TerminationReason { get; set; } public long? ComplianceStatusCode { get; set; } public Guid? ContractReferId { get; set; } [StringLength(50)] public string Status { get; set; } public int? RemeningDays { get; set; } [StringLength(200)] public string PlaceOfAgreement { get; set; } public DateTime? SEAEeffectiveFrom { get; set; } [StringLength(200)] public string PeriodOfEmployment { get; set; } public DateTime? ExpiryOfSEA { get; set; } public DateTime? ExpiryOfSEAAsPerMLC { get; set; } [StringLength(200)] public string ApplicableCBA { get; set; } [StringLength(200)] public string BasicWages { get; set; } [StringLength(200)] public string FixedOT { get; set; } [StringLength(200)] public string LeaveWages { get; set; } [StringLength(200)] public string TradeAllowance { get; set; } [StringLength(200)] public string SMB_SA { get; set; } [StringLength(200)] public string Total { get; set; } [StringLength(200)] public string AdditionalComputationFields { get; set; } public Guid? VesselId { get; set; } public Guid? VesselTypeId { get; set; } [StringLength(100)] public string PortOfregistry { get; set; } [StringLength(50)] public string Flag { get; set; } [StringLength(50)] public string IMONO { get; set; } [StringLength(200)] public string ShipownerRepresentativeAddress { get; set; } public Guid? VesselAssignmentId { get; set; } public Guid? SEAeffectiveId { get; set; } [StringLength(50)] public string ApprovalStatus { get; set; } [StringLength(500)] public string Remarks { get; set; } //public Guid? DocumentId { get; set; } // added object of documwnt table //[StringLength(200)] public Document document { get; set; } public string VesselOwnerSignStatus { get; set; } [StringLength(20)] public string CrewOTP { get; set; } [StringLength(200)] public string CrewSignStatus { get; set; } public string VesselOwnerSignImage { get; set; } public string CrewSignImage { get; set; } } [Table("ContractTemplate", Schema = "Employee")] public class ContractTemplate : AuditableEntity { public string TemplateName { get; set; } public string TemplateDescription { get; set; } } #endregion [Table("CrewEmployeeColumnVisibility", Schema = "Crew")] public class CrewEmployeeColumnVisibility : AuditableEntity { public string ColumnName { get; set; } public bool IsVisible { get; set; } } [Table("ScenarioApprovalLevels", Schema = "Crew")] public class ScenarioApprovalLevel : AuditableEntity { //TODO: need to import Approvals.Basic //TODO: need to import Approvals.Levels public Guid? ApprovalsBasicId { get; set; } // create object of Approvals.Basic public Guid? ApprovalsLevelsId { get; set; } //create object of Approvals.Levels // public Guid? ContractId { get; set; } // added object of contact table public Contract contract { get; set; } public int? ApprovalLevel { get; set; } [StringLength(30)] public string ApprovalStatus { get; set; } public Guid? ApprovalConnectionId { get; set; } //TODO: need to import Master.Modules public Guid? ModuleUId { get; set; } //create object of Master.Modules public DateTimeOffset? ApprovedOn { get; set; } public DateTimeOffset? RejectedOn { get; set; } public Guid? ApprovedUserId { get; set; } public int? ApprovalVersion { get; set; } //TODO: need to import Master.UserRole public Guid? ApprovedUserGroupId { get; set; } //create object of Master.UserRole //TODO: need to import Master.Designation public Guid? ApprovedDesignationId { get; set; } //create object of Master.Designation [StringLength(500)] public string Remarks { get; set; } public string Comments { get; set; } [StringLength(500)] public string SignatureImageName { get; set; } public string SignatureImage { get; set; } public int? OrderNumber { get; set; } public int? OriginalApprovalVersion { get; set; } [StringLength(50)] public string Rights { get; set; } } [Table("VesselAssignment", Schema = "Crew")] public class VesselAssignment : AuditableEntity { public OfficialInfo officialInfo { get; set; } //TODO: need to import Vessel.VesselInfo public Guid? VesselId { get; set; } // need create object of Vessel.Info [StringLength(200)] public string PlaceOfAgreement { get; set; } public DateTime? ExpiryofSEA { get; set; } public DateTime? ExpiryAsPerMLC { get; set; } //TODO: need to import Master.SeaEffective public Guid? SEAeffectiveId { get; set; } // need create object of Master.SeaEffective public int? PeriodofEmploymentMonths { get; set; } public int? PeriodofEmploymentDays { get; set; } [StringLength(100)] public string ApplicableCBA { get; set; } //TODO: need to import Master.Designation public Guid? PositionOrRankId { get; set; } // need create object of Master.Designation public Guid? AssignmentStatus { get; set; } //public Guid? SupervisorId { get; set; } //get Id from Employee.officialInfo public DateTime? LastUpdatedDateTime { get; set; } public DateTime? VesselAssignmentStartDate { get; set; } public DateTime? VesselAssignmentEndDate { get; set; } public DateTime? SignOn { get; set; } [StringLength(250)] public string BToD { get; set; } public DateTime? SignOff { get; set; } [StringLength(250)] public string EToD { get; set; } [StringLength(250)] public string ReliefDue { get; set; } [StringLength(250)] public string OriginalReliefDue { get; set; } public string SignOnRemarks { get; set; } //TODO: need to import Master.Port public Guid? SignOnPortId { get; set; } // need create object of Master.Port public string SignOnReason { get; set; } public string SignOffReason { get; set; } public string TransferAndPromotion { get; set; } [StringLength(200)] public string Onboard { get; set; } [StringLength(200)] public string VesselCabin { get; set; } public Guid? PlannedVesselId { get; set; } // need create object of Vessel.VesselInfo public Guid? ManagerId { get; set; } //supervisorId ,crewId ,MAnagerId// need create object of Employee.OfficialInfo //TODO: need to import Master.SignOnRemarks //TODO: need to import Master.SignOffRemarks public Guid? SignOnRemarksId { get; set; } // need create object of Master.SignOnRemarks public Guid? SignOffRemarksId { get; set; }// need create object of Master.SignOffRemarks public Guid? SignOffPortId { get; set; } // need create object of Master.Port public Guid? PlaceOfAgreementCountry { get; set; } } //not using rightnow //[Table("Announcements", Schema = "Employee")] //public class Announcement : AuditableEntity //{ // public string NotificationTitle { get; set; } // [StringLength(500)] // public string NotificationDescription { get; set; } // [StringLength(20)] // public string NotificationRead { get; set; } // public DateTimeOffset? NotificationCreatedOn { get; set; } // public OfficialInfo officialInfo { get; set; } //} // using this while calling this SP: FetchEmployeeHomePageDetails [Table("CalendarEventDetails", Schema = "Employee")] public class CalendarEventDetail : AuditableEntity { [StringLength(10)] public string Priority { get; set; } [StringLength(200)] public string Description { get; set; } public TimeSpan? Time { get; set; } public OfficialInfo officialInfo { get; set; } } // using this while calling this SP: FetchEmployeeHomePageDetails [Table("CalendarEvents", Schema = "Employee")] public class CalendarEvent : AuditableEntity { public OfficialInfo officialInfo { get; set; } public DateTime? CalendarEventDate { get; set; } } [Table("Dependants", Schema = "Employee")] public class Dependant : AuditableEntity { public OfficialInfo officialInfo { get; set; } public string DependantName { get; set; } [StringLength(20)] public string DependantGender { get; set; } public DateTime? DependantDateOfBirth { get; set; } [StringLength(50)] public string NoOfDependants { get; set; } public int? NoOfShares { get; set; } [StringLength(20)] public string Dependantrelation { get; set; } public bool? IsNextOfKin { get; set; } //TODO: need to import Master.Country public Guid? CountryCodeId { get; set; } } [Table("EmployeeCodeGenerator", Schema = "Employee")] public class EmployeeCodeGenerator : AuditableEntity { public Guid? CompanyId { get; set; } public int? EmployeeNumber { get; set; } public OfficialInfo officialInfo { get; set; } } [Table("EmployeeCodeSerialNoTrack", Schema = "Employee")] public class EmployeeCodeSerialNoTrack : AuditableEntity { public Guid? EmployeeSerialNoCompanyId { get; set; } public int? EmployeeLastSerialNo { get; set; } //public Guid? EmployeeTypeId { get; set; } // public int? EmployeeTypeCode { get; set; } // public EmployeeType employeeTypeCode { get; set; } } [Table("EmployeeOTP", Schema = "Employee")] public class EmployeeOTP : AuditableEntity { public string MobileNumber { get; set; } [StringLength(50)] public string EmailId { get; set; } [StringLength(8)] public string OtpValue { get; set; } public DateTimeOffset? OtpExpiryOn { get; set; } public int? TempId { get; set; } [StringLength(20)] public string OtpStatus { get; set; } public OfficialInfo officialInfo { get; set; } public string ProcessName { get; set; } } [Table("EmployeePasswordHistory", Schema = "Employee")] public class EmployeePasswordHistory : AuditableEntity { public OfficialInfo officialInfo { get; set; } public string PassKey { get; set; } } [Table("EmployeeSecrets", Schema = "Employee")] public class EmployeeSecret : AuditableEntity { public string UserName { get; set; } [StringLength(200)] public string PassKey { get; set; } [StringLength(20)] public string EmployeeCredentialStatus { get; set; } public OfficialInfo officialInfo { get; set; } } [Table("FamilyDetails", Schema = "Employee")] public class FamilyDetail : AuditableEntity { public OfficialInfo officialInfo { get; set; } public Guid? FamilyStatusMasterId { get; set; } [StringLength(50)] public string SpouseName { get; set; } public DateTime? SpouseDateOfBirth { get; set; } public int? NoOfDependants { get; set; } } [Table("Notifications", Schema = "Employee")] public class Notification : AuditableEntity { public string NotificationTitle { get; set; } [StringLength(500)] public string NotificationDescription { get; set; } [StringLength(20)] public string NotificationRead { get; set; } public OfficialInfo officialInfo { get; set; } } // using this while calling this SP: FetchEmployeeHomePageDetails [Table("ToDo", Schema = "Employee")] public class ToDo : AuditableEntity { public string TodoTitle { get; set; } [StringLength(500)] public string TodoDescription { get; set; } [StringLength(20)] public string TodoCompleted { get; set; } public OfficialInfo officialInfo { get; set; } } }
Editor is loading...
Leave a Comment