This commit is contained in:
MahanCh
2025-05-25 18:01:41 +03:30
parent 53e93bd410
commit 406212a1f0
3 changed files with 32 additions and 17 deletions

View File

@@ -597,7 +597,7 @@ public class TaskApplication : ITaskApplication
} }
assign.AcceptTimeRequest(); assign.AcceptTimeRequest();
message = string.IsNullOrWhiteSpace(message) ? "درخواست شما مورد تایید قرار گرفت" : message; message = string.IsNullOrWhiteSpace(message) ? "درخواست شما مورد تایید قرار گرفت" : message;
var messageEntity = new TaskMessage(message, "تایید درخواست مهلت", assign.id); var messageEntity = new TaskMessage(message, "تایید درخواست مهلت", assign.id);
@@ -622,6 +622,7 @@ public class TaskApplication : ITaskApplication
{ {
return operation.Failed("چنین وظیفه ای درخواستی برای مهلت ندارد"); return operation.Failed("چنین وظیفه ای درخواستی برای مهلت ندارد");
} }
assign.RejectTimeRequest(); assign.RejectTimeRequest();
if (assign.EndTaskDate.Date <= DateTime.Now.Date) if (assign.EndTaskDate.Date <= DateTime.Now.Date)
{ {

View File

@@ -71,14 +71,16 @@ public class Assign : EntityBase
public void AcceptTimeRequest() public void AcceptTimeRequest()
{ {
TimeRequest = false; ClearRequests();
TimeRequest = false;
AcceptedTimeRequest++; AcceptedTimeRequest++;
EndTaskDate = RequestDate < DateTime.Today ? DateTime.Today : RequestDate.Value; EndTaskDate = RequestDate < DateTime.Today ? DateTime.Today : RequestDate.Value;
} }
public void RejectTimeRequest() public void RejectTimeRequest()
{ {
TimeRequest = false; ClearRequests();
TimeRequest = false;
TimeRequestDescription = null; TimeRequestDescription = null;
RequestDate = null; RequestDate = null;
} }
@@ -92,31 +94,36 @@ public class Assign : EntityBase
} }
public void AcceptCancelRequest() public void AcceptCancelRequest()
{ {
IsCanceledRequest = false; ClearRequests();
IsCanceledRequest = false;
IsCancel = true; IsCancel = true;
} }
public void RejectCancel() public void RejectCancel()
{ {
CancelDescription = null; ClearRequests();
CancelDescription = null;
IsCanceledRequest = false; IsCanceledRequest = false;
} }
public void CompleteRequest(string? doneDescription) public void CompleteRequest(string? doneDescription)
{ {
DoneDescription = doneDescription; ClearRequests();
DoneDescription = doneDescription;
IsDoneRequest = true; IsDoneRequest = true;
} }
public void RejectCompleteRequest() public void RejectCompleteRequest()
{ {
IsDoneRequest = false; ClearRequests();
IsDoneRequest = false;
DoneDescription = null; DoneDescription = null;
} }
public void Completed() public void Completed()
{ {
IsDoneRequest = false; ClearRequests();
IsDoneRequest = false;
IsDone = true; IsDone = true;
} }
@@ -128,6 +135,13 @@ public class Assign : EntityBase
TimeRequest = false; 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, 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) bool isCancel,string cancelDescription,bool isDone,bool isDoneRequest,string? doneDescription)
{ {

View File

@@ -900,7 +900,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
AcceptedTimeRequest = x.AcceptedTimeRequest, AcceptedTimeRequest = x.AcceptedTimeRequest,
IsCancelRequest = x.IsCancelRequest, IsCancelRequest = x.IsCancelRequest,
ContractingPartyName = x.ContractingPartyName, 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, MediaCount = x.MediaCount,
HasAttachment = x.MediaCount > 0, HasAttachment = x.MediaCount > 0,
SelfName = x.SelfName, SelfName = x.SelfName,
@@ -1866,7 +1866,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
.Include(x => x.Task).ThenInclude(x => x.TaskSchedule) .Include(x => x.Task).ThenInclude(x => x.TaskSchedule)
.Where(x => .Where(x =>
x.Task.IsActiveString == "true" && x.Task.SenderId == accountId 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)) if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch))
{ {
raw = raw.Where(x => raw = raw.Where(x =>
@@ -2153,7 +2153,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
return final; return final;
} }
public string SetTasksColors(DateTime date, bool isCancel, bool hasRequest) public string SetTasksColors(DateTime date, bool isCancel,bool hasRequest)
{ {
if (hasRequest) if (hasRequest)
return "red"; return "red";
@@ -2735,7 +2735,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
var raw = _accountContext.Assigns.Include(x => x.Task).ThenInclude(x => x.TaskMedias) var raw = _accountContext.Assigns.Include(x => x.Task).ThenInclude(x => x.TaskMedias)
.ThenInclude(x => x.Media) .ThenInclude(x => x.Media)
.Where(x => .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)) if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch))
{ {
raw = raw.Where(x => raw = raw.Where(x =>
@@ -2768,7 +2768,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
MediaCount = _accountContext.TaskMedias.Count(m => m.TaskId == x.Task.id), MediaCount = _accountContext.TaskMedias.Count(m => m.TaskId == x.Task.id),
Description = x.Task.Description, Description = x.Task.Description,
IsDoneRequest = x.IsDoneRequest, IsDoneRequest = x.IsDoneRequest,
}); });
if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch)) if (!string.IsNullOrWhiteSpace(searchModel.GeneralSearch))
{ {
@@ -2878,8 +2878,8 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
var orderResult = result.OrderBy(x => x.IsDone || x.IsCancel) var orderResult = result.OrderBy(x => x.IsDone || x.IsCancel)
.ThenByDescending(x => x.EndTaskDateGE <= today.AddDays(1) && !x.HasRequest) .ThenByDescending(x => x.EndTaskDateGE <= today.AddDays(1) && !x.RequestTime)
.ThenByDescending(x => x.HasRequest) .ThenByDescending(x => x.RequestTime)
.ThenBy(x => x.EndTaskDateGE); // مرتب‌سازی داخلی بر اساس تاریخ .ThenBy(x => x.EndTaskDateGE); // مرتب‌سازی داخلی بر اساس تاریخ
@@ -2915,7 +2915,6 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
SelfName = x.SelfName, SelfName = x.SelfName,
Description = x.Description, Description = x.Description,
IsDoneRequest = x.IsDoneRequest, IsDoneRequest = x.IsDoneRequest,
HasRequest = x.IsDoneRequest || x.RequestTime || x.IsCancelRequest
}).ToList(); }).ToList();
@@ -2943,7 +2942,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
AcceptedTimeRequest = x.AcceptedTimeRequest, AcceptedTimeRequest = x.AcceptedTimeRequest,
IsCancelRequest = x.IsCancelRequest, IsCancelRequest = x.IsCancelRequest,
ContractingPartyName = x.ContractingPartyName, 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, MediaCount = x.MediaCount,
HasAttachment = x.MediaCount > 0, HasAttachment = x.MediaCount > 0,
SelfName = x.SelfName, SelfName = x.SelfName,
@@ -3003,6 +3002,7 @@ public class TaskRepository : RepositoryBase<long, Tasks>, ITaskRepository
AssignedPositionValue = 0 AssignedPositionValue = 0
}, },
HasRequest = x.IsCancelRequest || x.RequestTime || x.IsDoneRequest HasRequest = x.IsCancelRequest || x.RequestTime || x.IsDoneRequest
}).ToList(); }).ToList();
return final; return final;
} }