127 lines
3.5 KiB
C#
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";
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
} |