From 406212a1f073288373660342c37e25d07674cbd8 Mon Sep 17 00:00:00 2001 From: MahanCh Date: Sun, 25 May 2025 18:01:41 +0330 Subject: [PATCH] fix task --- .../TaskApplication.cs | 3 +- AccountManagement.Domain/AssignAgg/Assign.cs | 28 ++++++++++++++----- .../Repository/TaskRepository.cs | 18 ++++++------ 3 files changed, 32 insertions(+), 17 deletions(-) diff --git a/AccountManagement.Application/TaskApplication.cs b/AccountManagement.Application/TaskApplication.cs index a3da6bd2..40ff24a8 100644 --- a/AccountManagement.Application/TaskApplication.cs +++ b/AccountManagement.Application/TaskApplication.cs @@ -597,7 +597,7 @@ public class TaskApplication : ITaskApplication } - + assign.AcceptTimeRequest(); message = string.IsNullOrWhiteSpace(message) ? "درخواست شما مورد تایید قرار گرفت" : message; var messageEntity = new TaskMessage(message, "تایید درخواست مهلت", assign.id); @@ -622,6 +622,7 @@ public class TaskApplication : ITaskApplication { return operation.Failed("چنین وظیفه ای درخواستی برای مهلت ندارد"); } + assign.RejectTimeRequest(); if (assign.EndTaskDate.Date <= DateTime.Now.Date) { diff --git a/AccountManagement.Domain/AssignAgg/Assign.cs b/AccountManagement.Domain/AssignAgg/Assign.cs index bb31be00..6f1a5810 100644 --- a/AccountManagement.Domain/AssignAgg/Assign.cs +++ b/AccountManagement.Domain/AssignAgg/Assign.cs @@ -71,14 +71,16 @@ public class Assign : EntityBase public void AcceptTimeRequest() { - TimeRequest = false; + ClearRequests(); + TimeRequest = false; AcceptedTimeRequest++; EndTaskDate = RequestDate < DateTime.Today ? DateTime.Today : RequestDate.Value; } public void RejectTimeRequest() { - TimeRequest = false; + ClearRequests(); + TimeRequest = false; TimeRequestDescription = null; RequestDate = null; } @@ -92,31 +94,36 @@ public class Assign : EntityBase } public void AcceptCancelRequest() { - IsCanceledRequest = false; + ClearRequests(); + IsCanceledRequest = false; IsCancel = true; } public void RejectCancel() { - CancelDescription = null; + ClearRequests(); + CancelDescription = null; IsCanceledRequest = false; } public void CompleteRequest(string? doneDescription) { - DoneDescription = doneDescription; + ClearRequests(); + DoneDescription = doneDescription; IsDoneRequest = true; } public void RejectCompleteRequest() { - IsDoneRequest = false; + ClearRequests(); + IsDoneRequest = false; DoneDescription = null; } public void Completed() { - IsDoneRequest = false; + ClearRequests(); + IsDoneRequest = false; IsDone = true; } @@ -128,6 +135,13 @@ public class Assign : EntityBase TimeRequest = false; } + public void ClearRequests() + { + IsDoneRequest = false; + IsCanceledRequest = false; + TimeRequest = false; + } + public void InsertNewData(DateTime endTaskDate,bool timeRequest,int acceptedTimeRequest,DateTime? requestDate, string timeRequestDescription, bool isCanceledRequest, bool isCancel,string cancelDescription,bool isDone,bool isDoneRequest,string? doneDescription) { diff --git a/AccountMangement.Infrastructure.EFCore/Repository/TaskRepository.cs b/AccountMangement.Infrastructure.EFCore/Repository/TaskRepository.cs index 84e805e5..e3dd4faa 100644 --- a/AccountMangement.Infrastructure.EFCore/Repository/TaskRepository.cs +++ b/AccountMangement.Infrastructure.EFCore/Repository/TaskRepository.cs @@ -900,7 +900,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository AcceptedTimeRequest = x.AcceptedTimeRequest, IsCancelRequest = x.IsCancelRequest, ContractingPartyName = x.ContractingPartyName, - Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel, false), + Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel,false), MediaCount = x.MediaCount, HasAttachment = x.MediaCount > 0, SelfName = x.SelfName, @@ -1866,7 +1866,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository .Include(x => x.Task).ThenInclude(x => x.TaskSchedule) .Where(x => x.Task.IsActiveString == "true" && x.Task.SenderId == accountId - && x.Task.TaskScheduleId != null && x.Task.TaskScheduleId > 0 && (!x.IsCanceledRequest && !x.TimeRequest && !x.IsDoneRequest) && x.Task.TaskSchedule.IsActive == IsActive.True); + && x.Task.TaskScheduleId != null && x.Task.TaskScheduleId > 0 && (!x.IsCanceledRequest && !x.TimeRequest && !x.IsDoneRequest) && x.Task.TaskSchedule.IsActive== IsActive.True); if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch)) { raw = raw.Where(x => @@ -2153,7 +2153,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository return final; } - public string SetTasksColors(DateTime date, bool isCancel, bool hasRequest) + public string SetTasksColors(DateTime date, bool isCancel,bool hasRequest) { if (hasRequest) return "red"; @@ -2735,7 +2735,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository var raw = _accountContext.Assigns.Include(x => x.Task).ThenInclude(x => x.TaskMedias) .ThenInclude(x => x.Media) .Where(x => - x.Task.IsActiveString == "true" && x.AssignedId == accountId && x.Task.TicketId == null); + x.Task.IsActiveString == "true" && x.AssignedId == accountId && x.Task.TicketId == null &&!x.IsDoneRequest && !x.IsCanceledRequest); if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch)) { raw = raw.Where(x => @@ -2768,7 +2768,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository MediaCount = _accountContext.TaskMedias.Count(m => m.TaskId == x.Task.id), Description = x.Task.Description, IsDoneRequest = x.IsDoneRequest, - + }); if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch)) { @@ -2878,8 +2878,8 @@ public class TaskRepository : RepositoryBase, ITaskRepository var orderResult = result.OrderBy(x => x.IsDone || x.IsCancel) - .ThenByDescending(x => x.EndTaskDateGE <= today.AddDays(1) && !x.HasRequest) - .ThenByDescending(x => x.HasRequest) + .ThenByDescending(x => x.EndTaskDateGE <= today.AddDays(1) && !x.RequestTime) + .ThenByDescending(x => x.RequestTime) .ThenBy(x => x.EndTaskDateGE); // مرتب‌سازی داخلی بر اساس تاریخ @@ -2915,7 +2915,6 @@ public class TaskRepository : RepositoryBase, ITaskRepository SelfName = x.SelfName, Description = x.Description, IsDoneRequest = x.IsDoneRequest, - HasRequest = x.IsDoneRequest || x.RequestTime || x.IsCancelRequest }).ToList(); @@ -2943,7 +2942,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository AcceptedTimeRequest = x.AcceptedTimeRequest, IsCancelRequest = x.IsCancelRequest, ContractingPartyName = x.ContractingPartyName, - Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel, x.HasRequest), + Color = x.IsDone ? "green" : SetTasksColors(x.EndTaskDateGE, x.IsCancel,x.RequestTime), MediaCount = x.MediaCount, HasAttachment = x.MediaCount > 0, SelfName = x.SelfName, @@ -3003,6 +3002,7 @@ public class TaskRepository : RepositoryBase, ITaskRepository AssignedPositionValue = 0 }, HasRequest = x.IsCancelRequest || x.RequestTime || x.IsDoneRequest + }).ToList(); return final; }