From f9536548f6350a18fe0ea7500d91b3973fb9951b Mon Sep 17 00:00:00 2001 From: "Amir.H Khademi" Date: Sat, 16 Dec 2023 14:07:33 +0330 Subject: [PATCH] add version 0.2.4.2 fix create and get activities and tasks --- .version | 2 +- Brizco.Core/CoreServices/AccountService.cs | 7 ++++++- Brizco.Core/EntityServices/ActivityService.cs | 6 +++--- Brizco.Domain/Entities/Task/Activity.cs | 1 + .../Handlers/Activity/GetActivitiesQueryHandler.cs | 10 +++++----- 5 files changed, 16 insertions(+), 10 deletions(-) diff --git a/.version b/.version index b40757e..78a37ec 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -0.2.3.2 \ No newline at end of file +0.2.4.2 \ No newline at end of file diff --git a/Brizco.Core/CoreServices/AccountService.cs b/Brizco.Core/CoreServices/AccountService.cs index 7a7bea2..b2f5515 100644 --- a/Brizco.Core/CoreServices/AccountService.cs +++ b/Brizco.Core/CoreServices/AccountService.cs @@ -164,7 +164,12 @@ public class AccountService : IAccountService { var userComplexRoles = await _userService.GetUserRolesAsync(user.Id, cancellationToken); var complexUserRole = userComplexRoles.FirstOrDefault(c => c.Id == user.SelectedComplexUserRoleId); - + if (complexUserRole == null) + { + complexUserRole = userComplexRoles.FirstOrDefault(); + user.SelectedComplexUserRoleId = complexUserRole!.Id; + await _userManager.UpdateAsync(user); + } var complexUser = await _repositoryWrapper.SetRepository() .TableNoTracking .Where(c => c.Id == complexUserRole!.ComplexUserId) diff --git a/Brizco.Core/EntityServices/ActivityService.cs b/Brizco.Core/EntityServices/ActivityService.cs index c2eaf70..ed92687 100644 --- a/Brizco.Core/EntityServices/ActivityService.cs +++ b/Brizco.Core/EntityServices/ActivityService.cs @@ -150,7 +150,7 @@ public class ActivityService : IActivityService join taskShift in _repositoryWrapper.SetRepository().Entities on task.Id equals taskShift.TaskId join taskRoutine in _repositoryWrapper.SetRepository().Entities on task.Id equals taskRoutine .TaskId - where taskShift.ShiftId == shiftPlan.ShiftId && taskRoutine.RoutineId == shiftPlan.RoutineId && task.ScheduleType == TaskScheduleType.Daily + where task.IsActivity == false && taskShift.ShiftId == shiftPlan.ShiftId && taskRoutine.RoutineId == shiftPlan.RoutineId && task.ScheduleType == TaskScheduleType.Daily select task).AsNoTracking().ToListAsync(cancellationToken); var weeklyTasks = await (from task in _repositoryWrapper.SetRepository().Entities @@ -158,7 +158,7 @@ public class ActivityService : IActivityService join taskDay in _repositoryWrapper.SetRepository().Entities on task.Id equals taskDay.TaskId join taskRoutine in _repositoryWrapper.SetRepository().Entities on task.Id equals taskRoutine .TaskId - where taskShift.ShiftId == shiftPlan.ShiftId && taskRoutine.RoutineId == shiftPlan.RoutineId && + where task.IsActivity == false && taskShift.ShiftId == shiftPlan.ShiftId && taskRoutine.RoutineId == shiftPlan.RoutineId && taskDay.DayOfWeek == shiftPlan.PlanFor.DayOfWeek && task.ScheduleType == TaskScheduleType.Weekly group task by task.Id into groupedTask select groupedTask.FirstOrDefault()).AsNoTracking().ToListAsync(cancellationToken); @@ -167,7 +167,7 @@ public class ActivityService : IActivityService join taskShift in _repositoryWrapper.SetRepository().Entities on task.Id equals taskShift.TaskId join taskRoutine in _repositoryWrapper.SetRepository().Entities on task.Id equals taskRoutine .TaskId - where taskShift.ShiftId == shiftPlan.ShiftId && taskRoutine.RoutineId == shiftPlan.RoutineId && + where task.IsActivity == false && taskShift.ShiftId == shiftPlan.ShiftId && taskRoutine.RoutineId == shiftPlan.RoutineId && task.ScheduleType == TaskScheduleType.Custom && task.SetFor.Date == shiftPlan.PlanFor.Date select task).AsNoTracking().ToListAsync(cancellationToken); diff --git a/Brizco.Domain/Entities/Task/Activity.cs b/Brizco.Domain/Entities/Task/Activity.cs index 2ee7359..61de556 100644 --- a/Brizco.Domain/Entities/Task/Activity.cs +++ b/Brizco.Domain/Entities/Task/Activity.cs @@ -27,6 +27,7 @@ public partial class Activity : Task Status = status; DoneAt = doneAt; PerformanceDescription = performanceDescription; + IsActivity = true; } public ActivityStatus Status { get; internal set; } diff --git a/Brizco.Repository/Handlers/Activity/GetActivitiesQueryHandler.cs b/Brizco.Repository/Handlers/Activity/GetActivitiesQueryHandler.cs index d259eae..a7837a6 100644 --- a/Brizco.Repository/Handlers/Activity/GetActivitiesQueryHandler.cs +++ b/Brizco.Repository/Handlers/Activity/GetActivitiesQueryHandler.cs @@ -23,24 +23,24 @@ public class GetActivitiesQueryHandler : IRequestHandler activites = _repositoryWrapper.SetRepository().TableNoTracking; + IQueryable activities = _repositoryWrapper.SetRepository().TableNoTracking.Where(a=>a.IsActivity); if (request.SelectedDate > 0) { var selectedDate = DateTimeExtensions.UnixTimeStampToDateTime(request.SelectedDate); - activites = activites.Where(a => a.ComplexId == complexId && a.SetFor.Date == selectedDate.Date); + activities = activities.Where(a => a.ComplexId == complexId && a.SetFor.Date == selectedDate.Date); } if (request.SelectedShift != default) - activites = activites.Where(a => a.ComplexId == complexId && a.ShiftId == request.SelectedShift); + activities = activities.Where(a => a.ComplexId == complexId && a.ShiftId == request.SelectedShift); if (request.SelectedDate == 0 && request.SelectedShift == default) - activites = activites.Where(a => a.UserId == userId); + activities = activities.Where(a => a.UserId == userId); - return await activites.OrderByDescending(s => s.CreatedAt) + return await activities.OrderByDescending(s => s.CreatedAt) .Skip(request.Page * 15).Take(15) .Select(ActivityMapper.ProjectToSDto) .ToListAsync(cancellationToken);