using AutoMapper; using Marco.Pms.Model.Dtos.Project; using Marco.Pms.Model.Dtos.Tenant; using Marco.Pms.Model.Employees; using Marco.Pms.Model.Master; using Marco.Pms.Model.MongoDBModels; using Marco.Pms.Model.Projects; using Marco.Pms.Model.TenantModel; using Marco.Pms.Model.ViewModels.Activities; using Marco.Pms.Model.ViewModels.Employee; using Marco.Pms.Model.ViewModels.Projects; using Marco.Pms.Model.ViewModels.Tenant; namespace Marco.Pms.Services.MappingProfiles { public class MappingProfile : Profile { public MappingProfile() { #region ======================================================= Employees ======================================================= CreateMap(); CreateMap(); CreateMap() .ForMember( dest => dest.ContactName, opt => opt.MapFrom(src => $"{src.FirstName} {src.LastName}") ) .ForMember( dest => dest.Name, opt => opt.MapFrom(src => src.OrganizationName) ); #endregion #region ======================================================= Projects ======================================================= // Your mappings CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap() .ForMember( dest => dest.Id, // Explicitly and safely convert string Id to Guid Id opt => opt.MapFrom(src => new Guid(src.Id)) ); CreateMap() .ForMember( dest => dest.Id, // Explicitly and safely convert string Id to Guid Id opt => opt.MapFrom(src => new Guid(src.Id)) ).ForMember( dest => dest.ProjectStatusId, // Explicitly and safely convert string ProjectStatusId to Guid ProjectStatusId opt => opt.MapFrom(src => src.ProjectStatus == null ? Guid.Empty : new Guid(src.ProjectStatus.Id)) ); CreateMap(); CreateMap(); CreateMap(); CreateMap() .ForMember( dest => dest.EmployeeId, // Explicitly and safely convert string ProjectStatusId to Guid ProjectStatusId opt => opt.MapFrom(src => src.EmpID)); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap() .ForMember( dest => dest.Description, opt => opt.MapFrom(src => src.Comment)); #endregion #region ======================================================= Employees ======================================================= CreateMap(); CreateMap(); #endregion } } }