96 lines
3.4 KiB
C#

using Marco.Pms.Model.Dtos.Project;
using Marco.Pms.Model.Projects;
using Marco.Pms.Model.ViewModels.Projects;
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,
ShortName = projectModel.ShortName,
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 ?? "",
ShortName = projectModel.ShortName,
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 ?? "",
ShortName = projectModel.ShortName,
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 ProjectAllocation ToProjectAllocationFromProjectsAllocationDto(this ProjectsAllocationDto model, Guid TenantId,Guid employeeId)
{
return new ProjectAllocation
{
AllocationDate = DateTime.Now,
EmployeeId = employeeId,
JobRoleId = model.JobRoleId,
TenantId = TenantId,
ProjectId = model.ProjectId
};
}
public static ProjectListVM ToProjectListVMFromProject(this Project project)
{
return new ProjectListVM
{
Id = project.Id,
Name = project.Name,
ShortName = project.ShortName,
ProjectAddress = project.ProjectAddress,
ProjectStatusId = project.ProjectStatusId,
ContactPerson = project.ContactPerson,
StartDate = project.StartDate,
EndDate = project.EndDate,
};
}
}
}