Files
Backend-Api/AccountManagement.Domain/TaskAgg/Tasks.cs
2024-07-05 21:36:15 +03:30

127 lines
3.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Security.AccessControl;
using _0_Framework.Domain;
using AccountManagement.Domain.AssignAgg;
using AccountManagement.Domain.TaskMediaAgg;
namespace AccountManagement.Domain.TaskAgg;
public class Tasks : EntityBase
{
public Tasks(string title, DateTime endTaskDate, string? description, long senderId, string contractingPartyName)
{
Title = title;
EndTaskDate = endTaskDate;
Description = description;
SenderId = senderId;
ContractingPartyName = contractingPartyName;
StartTaskDate = DateTime.Now;
IsActiveString = "true";
}
//عنوان وظیفه
public string Title { get; private set; }
//زمان پایان وظیفه
public DateTime EndTaskDate { get; private set; }
//زمان ارسال وظیفه
public DateTime StartTaskDate { get; private set; }
//توضیحات وظیفه
public string? Description { get; private set; }
//آیدی شخص ارسال کننده
public long SenderId { get; private set; }
//آیا درخواست مهلت کرده است؟
public bool TimeRequest { get; private set; }
//تعداد تایید درخواست مهلت
public int AcceptedTimeRequest { get; set; }
//مهلت زمان درخواست شده
public DateTime? RequestDate { get; private set; }
//توضیحات درخواست مهلت
public string? TimeRequestDescription { get; private set; }
//آیا درخواست انصراف داده شده
public bool IsCanceledRequest { get; private set; }
//نام طرف حساب
public string ContractingPartyName { get; set; }
//آیا کنسل شده است
public bool IsCancel { get; private set; }
//توضیحات درخواست انصراف
public string? CancelDescription { get; private set; }
public bool IsDone { get; private set; }
public string? DoneDescription { get; private set; }
public string IsActiveString { get; private set; }
public List<Assign> Assigns { get; set; }
public List<TaskMedia> TaskMedias { get; set; }
public void Edit(string title, DateTime endTaskDate, string? description, long senderId)
{
Title = title;
EndTaskDate = endTaskDate;
Description = description;
SenderId = senderId;
}
//برای ایجاد یک درخواست مهلت
public void CreateTimeRequest(DateTime requestDate, string timeRequestDescription)
{
RequestDate = requestDate;
TimeRequestDescription = timeRequestDescription;
TimeRequest = true;
}
public void AcceptTimeRequest()
{
TimeRequest = false;
AcceptedTimeRequest++;
EndTaskDate = (DateTime)RequestDate;
}
public void RejectTimeRequest()
{
TimeRequest = false;
TimeRequestDescription = null;
RequestDate = null;
}
public void CreateCancelRequest(string cancelDescription)
{
CancelDescription = cancelDescription;
IsCanceledRequest=true;
}
public void AcceptCancelRequest()
{
IsCanceledRequest=false;
IsCancel = true;
}
public void RejectCancel()
{
CancelDescription = null;
IsCanceledRequest = false;
}
public void Completed(string? doneDescription)
{
DoneDescription = doneDescription;
IsDone=true;
}
public void DeActive()
{
IsActiveString = "false";
}
public void Activator()
{
IsActiveString = "true";
}
}