✅ EF with MySQL getting double/triple time values ?!
So i assign task to user and set the assignTime to DateTime.Now so i should be able to get remaining time right?
For some reason when i set TimeToCompleteTask = 1h and i go to user i get 3h to complete task orr 1h 59min?
var userTaskAssignment = dbContext.UserTaskAssignments.FirstOrDefault(assignment => assignment.TaskId == taskId && assignment.UserId == UserId);
if (userTaskAssignment != null)
{
RemainingTime = userTaskAssignment.TimeToCompleteTask - DateTime.Now;
RemainingHours = RemainingTime.TotalHours;
RemainingMinutes = RemainingTime.TotalMinutes;
RemainingSeconds = RemainingTime.TotalSeconds;
}var userTaskAssignment = dbContext.UserTaskAssignments.FirstOrDefault(assignment => assignment.TaskId == taskId && assignment.UserId == UserId);
if (userTaskAssignment != null)
{
RemainingTime = userTaskAssignment.TimeToCompleteTask - DateTime.Now;
RemainingHours = RemainingTime.TotalHours;
RemainingMinutes = RemainingTime.TotalMinutes;
RemainingSeconds = RemainingTime.TotalSeconds;
} private async Task<Task?> AssignTaskToUserIds(List<int> userIds, int taskId, TimeSpan taskLifespan)
{
DateTime assignmentTime = DateTime.Now;
foreach (int userId in userIds)
{
UserTaskAssignment userTaskAssignment = new UserTaskAssignment
{
UserId = userId,
TaskId = taskId,
AssignmentTime = assignmentTime,
};
dbContext.UserTaskAssignments.Add(userTaskAssignment);
}
await dbContext.SaveChangesAsync();
var assignedTasks = dbContext.UserTaskAssignments
.Where(uta => userIds.Contains(uta.UserId) && uta.TaskId == taskId)
.ToList();
foreach (var assignment in assignedTasks)
{
assignment.TimeToCompleteTask = assignment.AssignmentTime.Add(taskLifespan);
}
await dbContext.SaveChangesAsync();
PageHelper.SetTempDataSuccessMessage("Task assigned successfully", TempData);
return null;
} private async Task<Task?> AssignTaskToUserIds(List<int> userIds, int taskId, TimeSpan taskLifespan)
{
DateTime assignmentTime = DateTime.Now;
foreach (int userId in userIds)
{
UserTaskAssignment userTaskAssignment = new UserTaskAssignment
{
UserId = userId,
TaskId = taskId,
AssignmentTime = assignmentTime,
};
dbContext.UserTaskAssignments.Add(userTaskAssignment);
}
await dbContext.SaveChangesAsync();
var assignedTasks = dbContext.UserTaskAssignments
.Where(uta => userIds.Contains(uta.UserId) && uta.TaskId == taskId)
.ToList();
foreach (var assignment in assignedTasks)
{
assignment.TimeToCompleteTask = assignment.AssignmentTime.Add(taskLifespan);
}
await dbContext.SaveChangesAsync();
PageHelper.SetTempDataSuccessMessage("Task assigned successfully", TempData);
return null;
}For some reason when i set TimeToCompleteTask = 1h and i go to user i get 3h to complete task orr 1h 59min?
