Added an API to create bucket
This commit is contained in:
parent
0917b6665f
commit
7016e38bc4
@ -1138,5 +1138,42 @@ namespace Marco.Pms.Services.Helpers
|
|||||||
_logger.LogInfo("{count} Buckets are fetched by Employee with ID {LoggedInEmployeeId}", bucketVMs.Count, LoggedInEmployee.Id);
|
_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);
|
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