From a48d4d308ff6c262a3b0f64e14700519e7cd526f Mon Sep 17 00:00:00 2001 From: "ashutosh.nehete" Date: Wed, 28 May 2025 12:48:02 +0530 Subject: [PATCH] Included object consist of basic infromation of employee who created the bucket in View models --- Marco.Pms.Model/Mapper/DirectoryMapper.cs | 6 ++++-- Marco.Pms.Model/ViewModels/Directory/AssignBucketVM.cs | 5 ++++- Marco.Pms.Model/ViewModels/Directory/BucketVM.cs | 5 ++++- Marco.Pms.Services/Helpers/DirectoryHelper.cs | 10 +++++----- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Marco.Pms.Model/Mapper/DirectoryMapper.cs b/Marco.Pms.Model/Mapper/DirectoryMapper.cs index 2aea3c0..4732542 100644 --- a/Marco.Pms.Model/Mapper/DirectoryMapper.cs +++ b/Marco.Pms.Model/Mapper/DirectoryMapper.cs @@ -199,7 +199,8 @@ namespace Marco.Pms.Model.Mapper { Id = bucket.Id, Name = bucket.Name, - Description = bucket.Description + Description = bucket.Description, + CreatedBy = bucket.CreatedBy != null ? bucket.CreatedBy.ToBasicEmployeeVMFromEmployee() : null }; } public static AssignBucketVM ToAssignBucketVMFromBucket(this Bucket bucket) @@ -208,7 +209,8 @@ namespace Marco.Pms.Model.Mapper { Id = bucket.Id, Name = bucket.Name, - Description = bucket.Description + Description = bucket.Description, + CreatedBy = bucket.CreatedBy != null ? bucket.CreatedBy.ToBasicEmployeeVMFromEmployee() : null }; } diff --git a/Marco.Pms.Model/ViewModels/Directory/AssignBucketVM.cs b/Marco.Pms.Model/ViewModels/Directory/AssignBucketVM.cs index e5c16ab..1458cfb 100644 --- a/Marco.Pms.Model/ViewModels/Directory/AssignBucketVM.cs +++ b/Marco.Pms.Model/ViewModels/Directory/AssignBucketVM.cs @@ -1,10 +1,13 @@ -namespace Marco.Pms.Model.ViewModels.Directory +using Marco.Pms.Model.ViewModels.Activities; + +namespace Marco.Pms.Model.ViewModels.Directory { public class AssignBucketVM { public Guid Id { get; set; } public string? Name { get; set; } public string? Description { get; set; } + public BasicEmployeeVM? CreatedBy { get; set; } public List? EmployeeIds { get; set; } public int NumberOfContacts { get; set; } } diff --git a/Marco.Pms.Model/ViewModels/Directory/BucketVM.cs b/Marco.Pms.Model/ViewModels/Directory/BucketVM.cs index ce9ed9e..a266658 100644 --- a/Marco.Pms.Model/ViewModels/Directory/BucketVM.cs +++ b/Marco.Pms.Model/ViewModels/Directory/BucketVM.cs @@ -1,9 +1,12 @@ -namespace Marco.Pms.Model.ViewModels.Directory +using Marco.Pms.Model.ViewModels.Activities; + +namespace Marco.Pms.Model.ViewModels.Directory { public class BucketVM { public Guid Id { get; set; } public string? Name { get; set; } public string? Description { get; set; } + public BasicEmployeeVM? CreatedBy { get; set; } } } diff --git a/Marco.Pms.Services/Helpers/DirectoryHelper.cs b/Marco.Pms.Services/Helpers/DirectoryHelper.cs index d769a9f..d91fc1f 100644 --- a/Marco.Pms.Services/Helpers/DirectoryHelper.cs +++ b/Marco.Pms.Services/Helpers/DirectoryHelper.cs @@ -1039,11 +1039,11 @@ namespace Marco.Pms.Services.Helpers List bucketList = new List(); if (permissionIds.Contains(directoryAdmin)) { - bucketList = await _context.Buckets.Where(b => b.TenantId == tenantId).ToListAsync(); + bucketList = await _context.Buckets.Include(b => b.CreatedBy).Where(b => b.TenantId == tenantId).ToListAsync(); } else if (permissionIds.Contains(directoryManager) || permissionIds.Contains(directoryUser)) { - bucketList = await _context.Buckets.Where(b => bucketIds.Contains(b.Id) || b.CreatedByID == LoggedInEmployee.Id).ToListAsync(); + bucketList = await _context.Buckets.Include(b => b.CreatedBy).Where(b => bucketIds.Contains(b.Id) || b.CreatedByID == LoggedInEmployee.Id).ToListAsync(); } else { @@ -1110,7 +1110,7 @@ namespace Marco.Pms.Services.Helpers _context.EmployeeBucketMappings.Add(employeeBucket); await _context.SaveChangesAsync(); - + bucket = await _context.Buckets.Include(b => b.CreatedBy).FirstOrDefaultAsync(b => b.Id == bucket.Id) ?? new Bucket(); BucketVM bucketVM = bucket.ToBucketVMFromBucket(); _logger.LogInfo("Employee Id {LoggedInEmployeeId} creayted new bucket {BucketId}", LoggedInEmployee.Id, bucket.Id); return ApiResponse.SuccessResponse(bucketVM, "Bucket Created SuccessFully", 200); @@ -1128,7 +1128,7 @@ namespace Marco.Pms.Services.Helpers var permissionIds = await _context.RolePermissionMappings.Where(rp => assignedRoleIds.Contains(rp.ApplicationRoleId)).Select(rp => rp.FeaturePermissionId).Distinct().ToListAsync(); var employeeBuckets = await _context.EmployeeBucketMappings.Where(eb => eb.BucketId == id).ToListAsync(); var bucketIds = employeeBuckets.Where(eb => eb.EmployeeId == LoggedInEmployee.Id).Select(eb => eb.BucketId).ToList(); - Bucket? bucket = await _context.Buckets.FirstOrDefaultAsync(b => b.Id == bucketDto.Id && b.TenantId == tenantId); + Bucket? bucket = await _context.Buckets.Include(b => b.CreatedBy).FirstOrDefaultAsync(b => b.Id == bucketDto.Id && b.TenantId == tenantId); if (bucket == null) { @@ -1192,7 +1192,7 @@ namespace Marco.Pms.Services.Helpers var assignedRoleIds = await _context.EmployeeRoleMappings.Where(r => r.EmployeeId == LoggedInEmployee.Id).Select(r => r.RoleId).ToListAsync(); var permissionIds = await _context.RolePermissionMappings.Where(rp => assignedRoleIds.Contains(rp.ApplicationRoleId)).Select(rp => rp.FeaturePermissionId).Distinct().ToListAsync(); - Bucket? bucket = await _context.Buckets.FirstOrDefaultAsync(b => b.Id == bucketId && b.TenantId == tenantId); + Bucket? bucket = await _context.Buckets.Include(b => b.CreatedBy).FirstOrDefaultAsync(b => b.Id == bucketId && b.TenantId == tenantId); if (bucket == null) {