Feature_Directory #90
@ -2,7 +2,7 @@
|
||||
{
|
||||
public class CreateBucketDto
|
||||
{
|
||||
public string name { get; set; } = string.Empty;
|
||||
public string description { get; set; } = string.Empty;
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string Description { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
|
@ -89,5 +89,33 @@ namespace Marco.Pms.Services.Controllers
|
||||
var response = await _directoryHelper.GetBucketList();
|
||||
return Ok(response);
|
||||
}
|
||||
|
||||
[HttpPost("bucket")]
|
||||
public async Task<IActionResult> CreateBucket(CreateBucketDto bucketDto)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
var errors = ModelState.Values
|
||||
.SelectMany(v => v.Errors)
|
||||
.Select(e => e.ErrorMessage)
|
||||
.ToList();
|
||||
_logger.LogError("User sent Invalid Date while marking attendance");
|
||||
return BadRequest(ApiResponse<object>.ErrorResponse("Invalid data", errors, 400));
|
||||
}
|
||||
var response = await _directoryHelper.CreateBucket(bucketDto);
|
||||
if (response.StatusCode == 200)
|
||||
{
|
||||
return Ok(response);
|
||||
}
|
||||
else if (response.StatusCode == 409)
|
||||
{
|
||||
return Conflict(response);
|
||||
}
|
||||
else
|
||||
{
|
||||
return BadRequest(response);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -377,7 +377,7 @@ namespace Marco.Pms.Services.Helpers
|
||||
}
|
||||
foreach (var contactTag in contactTags)
|
||||
{
|
||||
if (!updatedTagIds.Contains(contactTag.Id))
|
||||
if (!updatedTagIds.Contains(contactTag.ContactTagtId))
|
||||
{
|
||||
_context.ContactTagMappings.Remove(contactTag);
|
||||
}
|
||||
@ -455,5 +455,42 @@ 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();
|
||||
var LoggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||
if (bucketDto != null)
|
||||
{
|
||||
var existingBucket = await _context.Buckets.FirstOrDefaultAsync(b => b.Name == bucketDto.Name);
|
||||
if (existingBucket != null)
|
||||
{
|
||||
_logger.LogWarning("Employee ID {LoggedInEmployeeId} attempted to create an existing bucket.", LoggedInEmployee.Id);
|
||||
return ApiResponse<object>.ErrorResponse("Bucket already existed", "Bucket already existed", 409);
|
||||
}
|
||||
Bucket bucket = new Bucket
|
||||
{
|
||||
Name = bucketDto.Name,
|
||||
Description = bucketDto.Description,
|
||||
TenantId = tenantId
|
||||
};
|
||||
_context.Buckets.Add(bucket);
|
||||
|
||||
EmployeeBucketMapping employeeBucket = new EmployeeBucketMapping
|
||||
{
|
||||
EmployeeId = LoggedInEmployee.Id,
|
||||
BucketId = bucket.Id
|
||||
};
|
||||
|
||||
_context.EmployeeBucketMappings.Add(employeeBucket);
|
||||
await _context.SaveChangesAsync();
|
||||
|
||||
BucketVM bucketVM = bucket.ToBucketVMFromBucket();
|
||||
_logger.LogInfo("Employee Id {LoggedInEmployeeId} creayted new bucket {BucketId}", LoggedInEmployee.Id, bucket.Id);
|
||||
return ApiResponse<object>.SuccessResponse(bucketVM, "Bucket Created 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user