2023-05-17 10:48:52 +04:00

89 lines
1.8 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.Design;
using System.Xml.Linq;
using TaskTrackerContracts.BindingModels;
using TaskTrackerContracts.ViewModels;
namespace TaskTrackerDatabaseImplement;
/// <summary>
/// Сущность &quot;Назначение на задачу&quot;
/// </summary>
public partial class TaskAssigment
{
/// <summary>
/// Ссылка на сотрудника
/// </summary>
public int EmployeeId { get; set; }
/// <summary>
/// Ссылка на задачу
/// </summary>
public int TaskId { get; set; }
/// <summary>
/// Роль в задаче
/// </summary>
public string Role { get; set; } = null!;
public virtual Employee Employee { get; set; } = null!;
public virtual Task Task { get; set; } = null!;
public static TaskAssigment? Create(TaskAssigmentBindingModel model)
{
if (model == null)
{
return null;
}
return new TaskAssigment()
{
Role = model.Role,
EmployeeId = model.EmployeeId,
TaskId = model.TaskId
};
}
public static TaskAssigment Create(TaskAssigmentViewModel model)
{
return new TaskAssigment()
{
Role = model.Role,
EmployeeId = model.EmployeeId,
TaskId = model.TaskId
};
}
public void Update(TaskAssigmentBindingModel model)
{
if (model == null)
{
return;
}
Role = model.Role;
EmployeeId = model.EmployeeId;
TaskId = model.TaskId;
}
public TaskAssigmentViewModel GetViewModel
{
get
{
var context = new TasktrackerContext();
return new()
{
EmployeeId = EmployeeId,
TaskId = TaskId,
Role = Role,
EmployeeName = context.Employees.FirstOrDefault(x => x.Id == EmployeeId)?.Name ?? string.Empty,
TaskName = context.Tasks.FirstOrDefault(x => x.Id == TaskId)?.Name ?? string.Empty
};
}
} }