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; using Marco.Pms.Model.MongoDBModels.Employees; using Marco.Pms.Model.MongoDBModels.Expenses; 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.DocumentManager; using Marco.Pms.Model.ViewModels.Employee; using Marco.Pms.Model.ViewModels.Expanses; using Marco.Pms.Model.ViewModels.Expenses; 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 Guid Id to string Id opt => opt.MapFrom(src => src.Id.ToString())) .ForMember( dest => dest.TenantId, opt => opt.MapFrom(src => src.TenantId.ToString())); CreateMap() .ForMember( dest => dest.Id, opt => opt.MapFrom(src => new Guid(src.Id))) .ForMember( dest => dest.ProjectStatusId, opt => opt.MapFrom(src => Guid.Empty) ); 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 : "")); CreateMap() .ForMember( dest => dest.Id, opt => opt.MapFrom(src => src.Id.ToString())) .ForMember( dest => dest.JobRoleName, opt => opt.MapFrom(src => src.JobRole != null ? src.JobRole.Name : "")) .ForMember( dest => dest.JobRoleId, opt => opt.MapFrom(src => src.JobRoleId.ToString())) .ForMember( dest => dest.TenantId, opt => opt.MapFrom(src => src.TenantId.ToString())); CreateMap() .ForMember( dest => dest.Id, opt => opt.MapFrom(src => Guid.Parse(src.Id))) .ForMember( dest => dest.JobRoleId, opt => opt.MapFrom(src => Guid.Parse(src.JobRoleId ?? ""))); #endregion #region ======================================================= Expenses ======================================================= CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap() .ForMember( dest => dest.Id, opt => opt.MapFrom(src => src.Id.ToString())) .ForMember( dest => dest.ProjectId, opt => opt.MapFrom(src => src.ProjectId.ToString())) .ForMember( dest => dest.ExpensesTypeId, opt => opt.MapFrom(src => src.ExpensesTypeId.ToString())) .ForMember( dest => dest.PaymentModeId, opt => opt.MapFrom(src => src.PaymentModeId.ToString())) .ForMember( dest => dest.PaidById, opt => opt.MapFrom(src => src.PaidById.ToString())) .ForMember( dest => dest.CreatedById, opt => opt.MapFrom(src => src.CreatedById.ToString())) .ForMember( dest => dest.ReviewedById, opt => opt.MapFrom(src => src.ReviewedById.ToString())) .ForMember( dest => dest.ApprovedById, opt => opt.MapFrom(src => src.ApprovedById.ToString())) .ForMember( dest => dest.ProcessedById, opt => opt.MapFrom(src => src.ProcessedById.ToString())) .ForMember( dest => dest.StatusId, opt => opt.MapFrom(src => src.StatusId.ToString())) .ForMember( dest => dest.TenantId, opt => opt.MapFrom(src => src.TenantId.ToString())); CreateMap() .ForMember( dest => dest.Id, opt => opt.MapFrom(src => Guid.Parse(src.Id))) .ForMember( dest => dest.ProjectId, opt => opt.MapFrom(src => Guid.Parse(src.ProjectId))) .ForMember( dest => dest.ExpensesTypeId, opt => opt.MapFrom(src => Guid.Parse(src.ExpensesTypeId))) .ForMember( dest => dest.PaymentModeId, opt => opt.MapFrom(src => Guid.Parse(src.PaymentModeId))) .ForMember( dest => dest.PaidById, opt => opt.MapFrom(src => Guid.Parse(src.PaidById))) .ForMember( dest => dest.CreatedById, opt => opt.MapFrom(src => Guid.Parse(src.CreatedById))) .ForMember( dest => dest.ReviewedById, opt => opt.MapFrom(src => src.ReviewedById != null ? Guid.Parse(src.ReviewedById) : Guid.Empty)) .ForMember( dest => dest.ApprovedById, opt => opt.MapFrom(src => src.ApprovedById != null ? Guid.Parse(src.ApprovedById) : Guid.Empty)) .ForMember( dest => dest.ProcessedById, opt => opt.MapFrom(src => src.ProcessedById != null ? Guid.Parse(src.ProcessedById) : Guid.Empty)) .ForMember( dest => dest.StatusId, opt => opt.MapFrom(src => Guid.Parse(src.StatusId))) .ForMember( dest => dest.TenantId, opt => opt.MapFrom(src => Guid.Parse(src.TenantId))); CreateMap() .ForMember( dest => dest.Id, opt => opt.MapFrom(src => Guid.Parse(src.Id))); CreateMap() .ForMember( dest => dest.Id, opt => opt.MapFrom(src => Guid.Parse(src.Id))); #endregion #region ======================================================= Master ======================================================= #region ======================================================= Expenses Type Master ======================================================= CreateMap() .ForMember( dest => dest.Id, // Explicitly and safely convert nullable Guid to non-nullable Guid opt => opt.MapFrom(src => src.Id ?? Guid.Empty) ); CreateMap(); CreateMap() .ForMember( dest => dest.Id, opt => opt.MapFrom(src => src.Id.ToString())) .ForMember( dest => dest.TenantId, opt => opt.MapFrom(src => src.TenantId.ToString())); CreateMap() .ForMember( dest => dest.Id, opt => opt.MapFrom(src => Guid.Parse(src.Id))); #endregion #region ======================================================= Expenses Status Master ======================================================= CreateMap() .ForMember( dest => dest.Id, opt => opt.MapFrom(src => src.Id ?? Guid.Empty)) .ForMember( dest => dest.DisplayName, opt => opt.MapFrom(src => string.IsNullOrWhiteSpace(src.DisplayName) ? src.Name : src.DisplayName)); CreateMap(); CreateMap() .ForMember( dest => dest.Id, opt => opt.MapFrom(src => src.Id.ToString())); CreateMap() .ForMember( dest => dest.Id, opt => opt.MapFrom(src => Guid.Parse(src.Id))); #endregion #region ======================================================= Payment Mode Matser ======================================================= CreateMap() .ForMember( dest => dest.Id, // Explicitly and safely convert nullable Guid to non-nullable Guid opt => opt.MapFrom(src => src.Id ?? Guid.Empty) ); CreateMap(); CreateMap() .ForMember( dest => dest.Id, opt => opt.MapFrom(src => src.Id.ToString())) .ForMember( dest => dest.TenantId, opt => opt.MapFrom(src => src.TenantId.ToString())); CreateMap() .ForMember( dest => dest.Id, opt => opt.MapFrom(src => Guid.Parse(src.Id))); #endregion #endregion #region ======================================================= Document ======================================================= CreateMap() .ForMember( dest => dest.DocumentId, opt => opt.MapFrom(src => Guid.Parse(src.DocumentId))); #endregion } } }