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 userComplexRoles = await _userService.GetUserRolesAsync(user.Id, cancellationToken);
var complexUserRole = userComplexRoles.FirstOrDefault(c => c.Id == user.SelectedComplexUserRoleId); 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>() var complexUser = await _repositoryWrapper.SetRepository<ComplexUser>()
.TableNoTracking .TableNoTracking
.Where(c => c.Id == complexUserRole!.ComplexUserId) .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 taskShift in _repositoryWrapper.SetRepository<TaskShift>().Entities on task.Id equals taskShift.TaskId
join taskRoutine in _repositoryWrapper.SetRepository<TaskRoutine>().Entities on task.Id equals taskRoutine join taskRoutine in _repositoryWrapper.SetRepository<TaskRoutine>().Entities on task.Id equals taskRoutine
.TaskId .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); select task).AsNoTracking().ToListAsync(cancellationToken);
var weeklyTasks = await (from task in _repositoryWrapper.SetRepository<Task>().Entities 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 taskDay in _repositoryWrapper.SetRepository<TaskDay>().Entities on task.Id equals taskDay.TaskId
join taskRoutine in _repositoryWrapper.SetRepository<TaskRoutine>().Entities on task.Id equals taskRoutine join taskRoutine in _repositoryWrapper.SetRepository<TaskRoutine>().Entities on task.Id equals taskRoutine
.TaskId .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 taskDay.DayOfWeek == shiftPlan.PlanFor.DayOfWeek && task.ScheduleType == TaskScheduleType.Weekly
group task by task.Id into groupedTask group task by task.Id into groupedTask
select groupedTask.FirstOrDefault()).AsNoTracking().ToListAsync(cancellationToken); 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 taskShift in _repositoryWrapper.SetRepository<TaskShift>().Entities on task.Id equals taskShift.TaskId
join taskRoutine in _repositoryWrapper.SetRepository<TaskRoutine>().Entities on task.Id equals taskRoutine join taskRoutine in _repositoryWrapper.SetRepository<TaskRoutine>().Entities on task.Id equals taskRoutine
.TaskId .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 task.ScheduleType == TaskScheduleType.Custom && task.SetFor.Date == shiftPlan.PlanFor.Date
select task).AsNoTracking().ToListAsync(cancellationToken); select task).AsNoTracking().ToListAsync(cancellationToken);

View File

@ -27,6 +27,7 @@ public partial class Activity : Task
Status = status; Status = status;
DoneAt = doneAt; DoneAt = doneAt;
PerformanceDescription = performanceDescription; PerformanceDescription = performanceDescription;
IsActivity = true;
} }
public ActivityStatus Status { get; internal set; } 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); 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) if (request.SelectedDate > 0)
{ {
var selectedDate = DateTimeExtensions.UnixTimeStampToDateTime(request.SelectedDate); 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) 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) 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) .Skip(request.Page * 15).Take(15)
.Select(ActivityMapper.ProjectToSDto) .Select(ActivityMapper.ProjectToSDto)
.ToListAsync(cancellationToken); .ToListAsync(cancellationToken);