diff --git a/.version b/.version
index fac754c..4b00215 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-1.4.11.5
\ No newline at end of file
+1.4.12.9
\ No newline at end of file
diff --git a/Brizco.Api/Brizco.Api.csproj b/Brizco.Api/Brizco.Api.csproj
index af05910..a5076c6 100644
--- a/Brizco.Api/Brizco.Api.csproj
+++ b/Brizco.Api/Brizco.Api.csproj
@@ -6,8 +6,8 @@
enable
Linux
..\docker-compose.dcproj
- 1.4.11.5
- 1.4.11.5
+ 1.4.12.9
+ 1.4.12.9
diff --git a/Brizco.Common/Brizco.Common.csproj b/Brizco.Common/Brizco.Common.csproj
index 393ed47..4b81120 100644
--- a/Brizco.Common/Brizco.Common.csproj
+++ b/Brizco.Common/Brizco.Common.csproj
@@ -4,7 +4,6 @@
net8.0
10
enable
- enable
diff --git a/Brizco.Core/CoreServices/JwtService.cs b/Brizco.Core/CoreServices/JwtService.cs
index 8e88752..b77b08c 100644
--- a/Brizco.Core/CoreServices/JwtService.cs
+++ b/Brizco.Core/CoreServices/JwtService.cs
@@ -99,20 +99,20 @@ public class JwtService(
private AccessToken BaseGenerate(TUser user, List claims) where TUser : ApplicationUser
{
var secretKey = Encoding.UTF8.GetBytes(_siteSettings.JwtSettings.SecretKey);
- var signingCredintial = new SigningCredentials(new SymmetricSecurityKey(secretKey), SecurityAlgorithms.HmacSha512Signature);
+ var signingCredential = new SigningCredentials(new SymmetricSecurityKey(secretKey), SecurityAlgorithms.HmacSha512Signature);
- var desctiptor = new SecurityTokenDescriptor
+ var descriptor = new SecurityTokenDescriptor
{
Issuer = _siteSettings.JwtSettings.Issuer,
Audience = _siteSettings.JwtSettings.Audience,
IssuedAt = DateTime.Now,
NotBefore = DateTime.Now,
Expires = DateTime.Now.AddDays(_siteSettings.JwtSettings.ExpireAddDay),
- SigningCredentials = signingCredintial,
+ SigningCredentials = signingCredential,
Subject = new ClaimsIdentity(claims)
};
var handler = new JwtSecurityTokenHandler();
- var token = new AccessToken(handler.CreateJwtSecurityToken(desctiptor));
+ var token = new AccessToken(handler.CreateJwtSecurityToken(descriptor));
token.User = user.Adapt();
return token;
}
@@ -120,20 +120,20 @@ public class JwtService(
private AccessToken BaseGenerate(TUser user, List claims) where TUser : ApplicationUser
{
var secretKey = Encoding.UTF8.GetBytes(_siteSettings.JwtSettings.SecretKey);
- var signingCredintial = new SigningCredentials(new SymmetricSecurityKey(secretKey), SecurityAlgorithms.HmacSha512Signature);
+ var signingCredential = new SigningCredentials(new SymmetricSecurityKey(secretKey), SecurityAlgorithms.HmacSha512Signature);
- var desctiptor = new SecurityTokenDescriptor
+ var descriptor = new SecurityTokenDescriptor
{
Issuer = _siteSettings.JwtSettings.Issuer,
Audience = _siteSettings.JwtSettings.Audience,
IssuedAt = DateTime.Now,
NotBefore = DateTime.Now,
Expires = DateTime.Now.AddDays(_siteSettings.JwtSettings.ExpireAddDay),
- SigningCredentials = signingCredintial,
+ SigningCredentials = signingCredential,
Subject = new ClaimsIdentity(claims)
};
var handler = new JwtSecurityTokenHandler();
- var token = new AccessToken(handler.CreateJwtSecurityToken(desctiptor));
+ var token = new AccessToken(handler.CreateJwtSecurityToken(descriptor));
token.User = user.Adapt();
token.Permissions = claims.Where(c => c.Type == "Permission").Select(c => c.Value).ToList();
return token;
@@ -145,7 +145,8 @@ public class JwtService(
var clFac = await userSignInManager.ClaimsFactory.CreateAsync(baseUser);
var claims = new List();
claims.Add(new Claim("JwtID", jwtId));
- claims.Add(new Claim(ClaimTypes.Name, baseUser.UserName));
+ if (baseUser.UserName != null)
+ claims.Add(new Claim(ClaimTypes.Name, baseUser.UserName));
claims.Add(new Claim("SignUpStatus", ((int)baseUser.SignUpStatus).ToString()));
claims.Add(new Claim(ClaimTypes.NameIdentifier, baseUser.Id.ToString()));
if (baseUser.Email != null)
@@ -159,10 +160,13 @@ public class JwtService(
private async Task> GetClaims(TUser baseUser, string jwtId, string roleId) where TUser : ApplicationUser
{
var applicationRole = await roleManager.FindByIdAsync(roleId);
+ if (applicationRole == null)
+ throw new Exception("Role not found");
var roleClaims = await roleManager.GetClaimsAsync(applicationRole);
var claims = new List();
claims.Add(new Claim("SignUpStatus", ((int)baseUser.SignUpStatus).ToString()));
- claims.Add(new Claim(ClaimTypes.Name, baseUser.UserName));
+ if (baseUser.UserName != null)
+ claims.Add(new Claim(ClaimTypes.Name, baseUser.UserName));
claims.Add(new Claim(ClaimTypes.NameIdentifier, baseUser.Id.ToString()));
claims.Add(new Claim(ClaimTypes.Role, applicationRole.EnglishName));
claims.Add(new Claim("RoleId", applicationRole.Id.ToString()));
@@ -171,7 +175,7 @@ public class JwtService(
claims.AddRange(roleClaims);
claims.Add(new Claim("JwtID", jwtId));
claims.Add(new Claim(ClaimTypes.Gender, baseUser.Gender == 0 ? "Female" : "Mail"));
- claims.Add(new Claim("FullName",baseUser.FirstName+ " " +baseUser.LastName));
+ claims.Add(new Claim("FullName", baseUser.FirstName + " " + baseUser.LastName));
return claims;
}
diff --git a/Brizco.Core/EntityServices/Handlers/Activities/DoneActivityCommandHandler.cs b/Brizco.Core/EntityServices/Handlers/Activities/DoneActivityCommandHandler.cs
index eed68d9..bad0307 100644
--- a/Brizco.Core/EntityServices/Handlers/Activities/DoneActivityCommandHandler.cs
+++ b/Brizco.Core/EntityServices/Handlers/Activities/DoneActivityCommandHandler.cs
@@ -1,5 +1,4 @@
-using Brizco.Domain.Entities.ShiftPlans;
-using Brizco.Domain.Entities.Tasks;
+using Brizco.Domain.Entities.Tasks;
namespace Brizco.Core.EntityServices.Handlers.Activities;
@@ -7,7 +6,6 @@ public class DoneActivityCommandHandler(IRepositoryWrapper repositoryWrapper) :
{
public async Task Handle(DoneActivityCommand request, CancellationToken cancellationToken)
{
-
var activity = await repositoryWrapper.SetRepository()
.TableNoTracking
.FirstOrDefaultAsync(a => a.Id == request.Id, cancellationToken);
diff --git a/Brizco.Core/EntityServices/Handlers/Activities/UpdateActivitiesByShiftPlanCommandHandler.cs b/Brizco.Core/EntityServices/Handlers/Activities/UpdateActivitiesByShiftPlanCommandHandler.cs
index 5d88128..0ae032f 100644
--- a/Brizco.Core/EntityServices/Handlers/Activities/UpdateActivitiesByShiftPlanCommandHandler.cs
+++ b/Brizco.Core/EntityServices/Handlers/Activities/UpdateActivitiesByShiftPlanCommandHandler.cs
@@ -51,7 +51,7 @@ public class UpdateActivitiesByShiftPlanCommandHandler(IRepositoryWrapper reposi
var activities = await repositoryWrapper.SetRepository()
.TableNoTracking
- .Where(a => a.ShiftPlanId == shiftPlan.ShiftId && a.SetFor.Date == shiftPlan.PlanFor.Date)
+ .Where(a => a.ShiftPlanId == shiftPlan.Id && a.SetFor.Date == shiftPlan.PlanFor.Date)
.Select(ActivityMapper.ProjectToLDto)
.ToListAsync(cancellationToken);
foreach (var activity in activities)
diff --git a/Brizco.Core/Models/Api/ApiResult.cs b/Brizco.Core/Models/Api/ApiResult.cs
index 419ff02..f68ff4a 100644
--- a/Brizco.Core/Models/Api/ApiResult.cs
+++ b/Brizco.Core/Models/Api/ApiResult.cs
@@ -3,7 +3,7 @@
namespace Brizco.Core.Models.Api;
-public class ApiResult(bool isSuccess, ApiResultStatusCode statusCode, string message = null)
+public class ApiResult(bool isSuccess, ApiResultStatusCode statusCode, string? message = null)
{
public bool IsSuccess { get; set; } = isSuccess;
public ApiResultStatusCode StatusCode { get; set; } = statusCode;
@@ -58,12 +58,12 @@ public class ApiResult(bool isSuccess, ApiResultStatusCode statusCode, string me
#endregion
}
-public class ApiResult(bool isSuccess, ApiResultStatusCode statusCode, TData data, string message = null)
+public class ApiResult(bool isSuccess, ApiResultStatusCode statusCode, TData? data, string? message = null)
: ApiResult(isSuccess, statusCode, message)
where TData : class
{
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
- public TData Data { get; set; } = data;
+ public TData? Data { get; set; } = data;
#region Implicit Operators
diff --git a/Brizco.Repository/Handlers/Activities/UpdateActivityCommandHandler.cs b/Brizco.Repository/Handlers/Activities/UpdateActivityCommandHandler.cs
index a545ea5..dc2f3b2 100644
--- a/Brizco.Repository/Handlers/Activities/UpdateActivityCommandHandler.cs
+++ b/Brizco.Repository/Handlers/Activities/UpdateActivityCommandHandler.cs
@@ -33,6 +33,8 @@ public class UpdateActivityCommandHandler(IRepositoryWrapper repositoryWrapper,
request.ScheduleType);
newTask.Id = request.Id;
+ newTask.CreatedAt = task.CreatedAt;
+ newTask.CreatedBy = task.CreatedBy;
newTask.SetUser(request.UserId);
newTask.SetShiftPlan(request.ShiftPlanId);
diff --git a/Brizco.Repository/Handlers/Users/GetStaffQueryHandler.cs b/Brizco.Repository/Handlers/Users/GetStaffQueryHandler.cs
index 03f64e8..942d48c 100644
--- a/Brizco.Repository/Handlers/Users/GetStaffQueryHandler.cs
+++ b/Brizco.Repository/Handlers/Users/GetStaffQueryHandler.cs
@@ -24,19 +24,16 @@ public class GetStaffQueryHandler(IRepositoryWrapper repositoryWrapper,ICurrentU
{
case DateTimeQueryFilter.Today:
activities = await baseQuery.Where(s => s.SetFor.Date == DateTime.Now.Date)
- .Skip(request.Page * count).Take(count)
.Select(ActivityMapper.ProjectToSDto)
.ToListAsync(cancellationToken);
break;
case DateTimeQueryFilter.Yesterday:
activities = await baseQuery.Where(s => s.SetFor.Date == DateTime.Now.AddDays(-1).Date)
- .Skip(request.Page * count).Take(count)
.Select(ActivityMapper.ProjectToSDto)
.ToListAsync(cancellationToken);
break;
case DateTimeQueryFilter.Tomorrow:
activities = await baseQuery.Where(s => s.SetFor.Date == DateTime.Now.AddDays(1).Date)
- .Skip(request.Page * count).Take(count)
.Select(ActivityMapper.ProjectToSDto)
.ToListAsync(cancellationToken);
break;