Implemented an API to update Buckets for grouping contacts. #68
9
Marco.Pms.Model/Dtos/Directory/UpdateBucketDto.cs
Normal file
9
Marco.Pms.Model/Dtos/Directory/UpdateBucketDto.cs
Normal file
@ -0,0 +1,9 @@
|
||||
namespace Marco.Pms.Model.Dtos.Directory
|
||||
{
|
||||
public class UpdateBucketDto
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string? Name { get; set; }
|
||||
public string? Description { get; set; }
|
||||
}
|
||||
}
|
@ -242,5 +242,23 @@ namespace Marco.Pms.Services.Controllers
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[HttpPut("bucket/{id}")]
|
||||
public async Task<IActionResult> UpdateBucket(Guid id, [FromBody] UpdateBucketDto bucketDto)
|
||||
{
|
||||
var response = await _directoryHelper.UpdateBucket(id, bucketDto);
|
||||
if (response.StatusCode == 200)
|
||||
{
|
||||
return Ok(response);
|
||||
}
|
||||
else if (response.StatusCode == 404)
|
||||
{
|
||||
return NotFound(response);
|
||||
}
|
||||
else
|
||||
{
|
||||
return BadRequest(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -933,7 +933,6 @@ namespace Marco.Pms.Services.Helpers
|
||||
_logger.LogInfo("{count} Buckets are fetched by Employee with ID {LoggedInEmployeeId}", bucketVMs.Count, LoggedInEmployee.Id);
|
||||
return ApiResponse<object>.SuccessResponse(bucketVMs, System.String.Format("{0} buckets fetched successfully", bucketVMs.Count), 200);
|
||||
}
|
||||
|
||||
public async Task<ApiResponse<object>> CreateBucket(CreateBucketDto bucketDto)
|
||||
{
|
||||
Guid tenantId = _userHelper.GetTenantId();
|
||||
@ -970,7 +969,37 @@ namespace Marco.Pms.Services.Helpers
|
||||
_logger.LogWarning("Employee with ID {LoggedInEmployeeId} sended empty payload", LoggedInEmployee.Id);
|
||||
return ApiResponse<object>.ErrorResponse("User Send empty Payload", "User Send empty Payload", 400);
|
||||
}
|
||||
public async Task<ApiResponse<object>> UpdateBucket(Guid id, UpdateBucketDto bucketDto)
|
||||
{
|
||||
Guid tenantId = _userHelper.GetTenantId();
|
||||
var LoggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||
if (bucketDto != null && id == bucketDto.Id)
|
||||
{
|
||||
var bucket = await _context.Buckets.FirstOrDefaultAsync(b => b.Id == bucketDto.Id && b.TenantId == tenantId);
|
||||
if (bucket == null)
|
||||
{
|
||||
_logger.LogWarning("Employee ID {LoggedInEmployeeId} attempted to update a bucket but not found in database.", LoggedInEmployee.Id);
|
||||
return ApiResponse<object>.ErrorResponse("Bucket not found", "Bucket not found", 404);
|
||||
}
|
||||
bucket.Name = bucketDto.Name ?? "";
|
||||
bucket.Description = bucketDto.Description ?? "";
|
||||
|
||||
_context.DirectoryUpdateLogs.Add(new DirectoryUpdateLog
|
||||
{
|
||||
RefereanceId = bucketDto.Id,
|
||||
UpdatedById = LoggedInEmployee.Id,
|
||||
UpdateAt = DateTime.UtcNow
|
||||
});
|
||||
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
BucketVM bucketVM = bucket.ToBucketVMFromBucket();
|
||||
_logger.LogInfo("Employee Id {LoggedInEmployeeId} Updated new bucket {BucketId}", LoggedInEmployee.Id, bucket.Id);
|
||||
return ApiResponse<object>.SuccessResponse(bucketVM, "Bucket update successFully", 200);
|
||||
}
|
||||
_logger.LogWarning("Employee with ID {LoggedInEmployeeId} sended empty payload", LoggedInEmployee.Id);
|
||||
return ApiResponse<object>.ErrorResponse("User Send empty Payload", "User Send empty Payload", 400);
|
||||
}
|
||||
private bool Compare(string sentence, string search)
|
||||
{
|
||||
sentence = sentence.Trim().ToLower();
|
||||
|
Loading…
x
Reference in New Issue
Block a user