using Marco.Pms.Model.Dtos.Project; using Marco.Pms.Model.Projects; using Marco.Pms.Model.ViewModels; namespace Marco.Pms.Model.Mapper { public static class ProjectMapper { public static ProjectDto ToProjectDto(this Project projectModel) { return new ProjectDto { Id = projectModel.Id, ContactPerson = projectModel.ContactPerson, ProjectAddress = projectModel.ProjectAddress, Name = projectModel.Name, EndDate = projectModel.EndDate, StartDate = projectModel.StartDate, ProjectStatusId = projectModel.ProjectStatusId }; } public static Project ToProjectFromCreateProjectDto(this CreateProjectDto projectModel, Guid TenantId) { return new Project { ContactPerson = projectModel.ContactPerson ?? "", ProjectAddress = projectModel.ProjectAddress ?? "", Name = projectModel.Name ?? "", EndDate = projectModel.EndDate, StartDate = projectModel.StartDate, TenantId = TenantId, ProjectStatusId = projectModel.ProjectStatusId }; } public static Project ToProjectFromUpdateProjectDto(this UpdateProjectDto projectModel, Guid TenantId, Guid id) { return new Project { Id = id, ContactPerson = projectModel.ContactPerson ?? "", ProjectAddress = projectModel.ProjectAddress ?? "", Name = projectModel.Name ?? "", EndDate = projectModel.EndDate, StartDate = projectModel.StartDate, TenantId = TenantId, ProjectStatusId = projectModel.ProjectStatusId }; } public static ProjectAllocation ToProjectAllocationFromProjectAllocationDto(this ProjectAllocationDot model, Guid TenantId) { return new ProjectAllocation { AllocationDate = DateTime.Now, EmployeeId = model.EmpID, JobRoleId = model.JobRoleId, TenantId = TenantId, ProjectId = model.ProjectId }; } public static ProjectListVM ToProjectListVMFromProject(this Project project) { return new ProjectListVM { Id = project.Id, Name = project.Name, ProjectAddress = project.ProjectAddress, ProjectStatusId = project.ProjectStatusId, ContactPerson = project.ContactPerson, StartDate = project.StartDate, EndDate = project.EndDate, }; } } }