using AutoMapper; using Marco.Pms.Model.Directory; using Marco.Pms.Model.Dtos.Directory; using Marco.Pms.Model.AppMenu; using Marco.Pms.Model.DocumentManager; using Marco.Pms.Model.Dtos.AppMenu; using Marco.Pms.Model.Dtos.DocumentManager; using Marco.Pms.Model.Dtos.Expenses; using Marco.Pms.Model.Dtos.Master; using Marco.Pms.Model.Dtos.Project; using Marco.Pms.Model.Dtos.Tenant; using Marco.Pms.Model.Employees; using Marco.Pms.Model.Entitlements; 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.TenantModels; using Marco.Pms.Model.TenantModels.MongoDBModel; using Marco.Pms.Model.ViewModels.Activities; using Marco.Pms.Model.ViewModels.Directory; 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; using Marco.Pms.Model.ViewModels.Tenant; namespace Marco.Pms.Services.MappingProfiles { public class MappingProfile : Profile { public MappingProfile() { #region ======================================================= Tenant ======================================================= CreateMap(); 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) ); CreateMap() .ForMember( dest => dest.ContactName, opt => opt.MapFrom(src => $"{src.FirstName} {src.LastName}") ); CreateMap() .ForMember( dest => dest.PlanName, opt => opt.MapFrom(src => src.Plan != null ? src.Plan.PlanName : "") ) .ForMember( dest => dest.Description, opt => opt.MapFrom(src => src.Plan != null ? src.Plan.Description : "") ); CreateMap() .ForMember( dest => dest.PlanName, opt => opt.MapFrom(src => src.Plan!.Plan != null ? src.Plan.Plan.PlanName : "") ) .ForMember( dest => dest.Description, opt => opt.MapFrom(src => src.Plan!.Plan != null ? src.Plan.Plan.Description : "") ) .ForMember( dest => dest.Price, opt => opt.MapFrom(src => src.Plan != null ? src.Plan.Price : 0) ) .ForMember( dest => dest.Frequency, opt => opt.MapFrom(src => src.Plan != null ? src.Plan.Frequency : PLAN_FREQUENCY.MONTHLY) ); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); #endregion #region ======================================================= Projects ======================================================= // Your mappings CreateMap(); 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 => string.IsNullOrWhiteSpace(src.Id) ? Guid.Empty : Guid.Parse(src.Id))) .ForMember( dest => dest.JobRoleId, opt => opt.MapFrom(src => Guid.Parse(src.JobRoleId ?? ""))); #endregion #region ======================================================= Expenses ======================================================= CreateMap(); CreateMap(); CreateMap(); CreateMap(); 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))) .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 ======================================================= CreateMap(); #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))); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); #endregion #region ======================================================= AppMenu ======================================================= CreateMap(); CreateMap(); CreateMap() .ForMember( dest => dest.Name, opt => opt.MapFrom(src => src.Title)); CreateMap(); CreateMap(); CreateMap() .ForMember( dest => dest.Name, opt => opt.MapFrom(src => src.Text)); CreateMap(); CreateMap(); CreateMap() .ForMember( dest => dest.Name, opt => opt.MapFrom(src => src.Text)); #endregion #region ======================================================= Directory ======================================================= CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap() .ForMember( dest => dest.ContactName, opt => opt.MapFrom(src => src.Contact != null ? src.Contact.Name : string.Empty) ) .ForMember( dest => dest.OrganizationName, opt => opt.MapFrom(src => src.Contact != null ? src.Contact.Organization : string.Empty) ); CreateMap(); CreateMap(); #endregion } } }