From 8ef654ad2e400947489dbc7ac2cf30c320d02c97 Mon Sep 17 00:00:00 2001 From: "ashutosh.nehete" Date: Wed, 28 May 2025 11:36:40 +0530 Subject: [PATCH] Sending number of conacts within the bucket with it information in API Update bucket, Assign Bucket, and Get Bucket List --- .../ViewModels/Directory/AssignBucketVM.cs | 1 + Marco.Pms.Services/Helpers/DirectoryHelper.cs | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Marco.Pms.Model/ViewModels/Directory/AssignBucketVM.cs b/Marco.Pms.Model/ViewModels/Directory/AssignBucketVM.cs index f4c8e2b..e5c16ab 100644 --- a/Marco.Pms.Model/ViewModels/Directory/AssignBucketVM.cs +++ b/Marco.Pms.Model/ViewModels/Directory/AssignBucketVM.cs @@ -6,5 +6,6 @@ public string? Name { get; set; } public string? Description { get; set; } public List? EmployeeIds { get; set; } + public int NumberOfContacts { get; set; } } } diff --git a/Marco.Pms.Services/Helpers/DirectoryHelper.cs b/Marco.Pms.Services/Helpers/DirectoryHelper.cs index 8011fc4..d769a9f 100644 --- a/Marco.Pms.Services/Helpers/DirectoryHelper.cs +++ b/Marco.Pms.Services/Helpers/DirectoryHelper.cs @@ -1054,14 +1054,16 @@ namespace Marco.Pms.Services.Helpers List bucketVMs = new List(); if (bucketList.Any()) { + bucketIds = bucketList.Select(b => b.Id).ToList(); + List? contactBucketMappings = await _context.ContactBucketMappings.Where(cb => bucketIds.Contains(cb.BucketId)).ToListAsync(); foreach (var bucket in bucketList) { List employeeBucketMappings = employeeBuckets.Where(eb => eb.BucketId == bucket.Id).ToList(); var emplyeeIds = employeeBucketMappings.Select(eb => eb.EmployeeId).ToList(); - + List? contactBuckets = contactBucketMappings.Where(cb => cb.BucketId == bucket.Id).ToList(); AssignBucketVM bucketVM = bucket.ToAssignBucketVMFromBucket(); bucketVM.EmployeeIds = emplyeeIds; - + bucketVM.NumberOfContacts = contactBuckets.Count; bucketVMs.Add(bucketVM); } } @@ -1170,8 +1172,10 @@ namespace Marco.Pms.Services.Helpers AssignBucketVM bucketVM = bucket.ToAssignBucketVMFromBucket(); List employeeBucketMappings = employeeBuckets.Where(eb => eb.BucketId == bucket.Id).ToList(); + List contactBuckets = await _context.ContactBucketMappings.Where(eb => eb.BucketId == bucket.Id).ToListAsync(); var employeeIds = employeeBucketMappings.Select(eb => eb.EmployeeId).ToList(); bucketVM.EmployeeIds = employeeIds; + bucketVM.NumberOfContacts = contactBuckets.Count; _logger.LogInfo("Employee Id {LoggedInEmployeeId} Updated new bucket {BucketId}", LoggedInEmployee.Id, bucket.Id); return ApiResponse.SuccessResponse(bucketVM, "Bucket update successFully", 200); @@ -1259,9 +1263,10 @@ namespace Marco.Pms.Services.Helpers AssignBucketVM bucketVM = bucket.ToAssignBucketVMFromBucket(); List employeeBucketMappings = await _context.EmployeeBucketMappings.Where(eb => eb.BucketId == bucket.Id).ToListAsync(); + List contactBuckets = await _context.ContactBucketMappings.Where(eb => eb.BucketId == bucket.Id).ToListAsync(); employeeIds = employeeBucketMappings.Select(eb => eb.EmployeeId).ToList(); bucketVM.EmployeeIds = employeeIds; - + bucketVM.NumberOfContacts = contactBuckets.Count; if (assignedEmployee > 0) {