add version 0.2.4.2

fix create and get activities and tasks
master
Amir Hossein Khademi 2023-12-16 14:07:33 +03:30
parent b0f6d6543c
commit f9536548f6
5 changed files with 16 additions and 10 deletions

View File

@ -1 +1 @@
0.2.3.2
0.2.4.2

View File

@ -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<ComplexUser>()
.TableNoTracking
.Where(c => c.Id == complexUserRole!.ComplexUserId)

View File

@ -150,7 +150,7 @@ public class ActivityService : IActivityService
join taskShift in _repositoryWrapper.SetRepository<TaskShift>().Entities on task.Id equals taskShift.TaskId
join taskRoutine in _repositoryWrapper.SetRepository<TaskRoutine>().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<Task>().Entities
@ -158,7 +158,7 @@ public class ActivityService : IActivityService
join taskDay in _repositoryWrapper.SetRepository<TaskDay>().Entities on task.Id equals taskDay.TaskId
join taskRoutine in _repositoryWrapper.SetRepository<TaskRoutine>().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<TaskShift>().Entities on task.Id equals taskShift.TaskId
join taskRoutine in _repositoryWrapper.SetRepository<TaskRoutine>().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);

View File

@ -27,6 +27,7 @@ public partial class Activity : Task
Status = status;
DoneAt = doneAt;
PerformanceDescription = performanceDescription;
IsActivity = true;
}
public ActivityStatus Status { get; internal set; }

View File

@ -23,24 +23,24 @@ public class GetActivitiesQueryHandler : IRequestHandler<GetActivitiesQuery, Lis
throw new AppException("UserId is wrong", ApiResultStatusCode.NotFound);
IQueryable<Domain.Entities.Task.Activity> activites = _repositoryWrapper.SetRepository<Domain.Entities.Task.Activity>().TableNoTracking;
IQueryable<Domain.Entities.Task.Activity> activities = _repositoryWrapper.SetRepository<Domain.Entities.Task.Activity>().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);