using AutoMapper; using Marco.Pms.Model.Dtos.Expenses; using Marco.Pms.Model.Dtos.Master; using Marco.Pms.Model.Dtos.Project; using Marco.Pms.Model.Employees; using Marco.Pms.Model.Expenses; using Marco.Pms.Model.Master; using Marco.Pms.Model.MongoDBModels.Masters; using Marco.Pms.Model.MongoDBModels.Project; using Marco.Pms.Model.Projects; using Marco.Pms.Model.ViewModels.Activities; using Marco.Pms.Model.ViewModels.Employee; using Marco.Pms.Model.ViewModels.Expanses; using Marco.Pms.Model.ViewModels.Master; using Marco.Pms.Model.ViewModels.Projects; namespace Marco.Pms.Services.MappingProfiles { public class MappingProfile : Profile { public MappingProfile() { #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 ======================================================= Employee ======================================================= CreateMap(); CreateMap() .ForMember( dest => dest.JobRoleName, opt => opt.MapFrom(src => src.JobRole != null ? src.JobRole.Name : "")); #endregion #region ======================================================= Expenses ======================================================= CreateMap(); CreateMap(); CreateMap(); #endregion #region ======================================================= Master ======================================================= CreateMap() .ForMember( dest => dest.Id, // Explicitly and safely convert nullable Guid to non-nullable Guid opt => opt.MapFrom(src => src.Id != null ? src.Id : Guid.Empty) ); CreateMap(); CreateMap(); CreateMap(); #endregion } } }