Files
Backend-Api/Company.Domain/RewardAgg/Reward.cs
2025-02-24 06:32:12 +03:30

82 lines
2.0 KiB
C#

using System;
using System.Globalization;
using _0_Framework.Application;
using _0_Framework.Domain;
using CompanyManagment.App.Contracts.Reward.Enums;
namespace Company.Domain.RewardAgg;
public class Reward:EntityBase
{
private Reward(string title)
{
Title = title;
}
public Reward(long employeeId, long workshopId, double amount, string description, long rewardedByAccountId, DateTime grantDate, string title , RewardType type = RewardType.None)
{
EmployeeId = employeeId;
WorkshopId = workshopId;
Amount = amount;
Description = description;
RewardedByAccountId = rewardedByAccountId;
GrantDate = grantDate;
Title = title;
IsActive = IsActive.True;
RewardType = type;
}
public long EmployeeId { get; private set; }
public long WorkshopId { get; private set; }
/// <summary>
/// مبلغ پاداش
/// </summary>
public double Amount { get; private set; }
/// <summary>
/// عنوان
/// </summary>
public string Title { get; set; }
/// <summary>
/// توضیحات
/// </summary>
public string Description { get; private set; }
/// <summary>
/// شخصی که پاداش را داده است
/// </summary>
public long RewardedByAccountId { get; private set; }
/// <summary>
/// تاریخ اعطای پاداش
/// </summary>
public DateTime GrantDate { get; set; }
public RewardType RewardType { get; set; }
public IsActive IsActive { get; private set; }
public void Edit(double amount, string description, long rewardedByAccountId, DateTime grantDate,string title)
{
Amount = amount;
Description = description;
RewardedByAccountId = rewardedByAccountId;
GrantDate = grantDate;
Title = title;
}
public void Active()
{
IsActive = IsActive.True;
}
public void DeActive()
{
IsActive = IsActive.False;
}
}