89 lines
1.8 KiB
C#
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>
|
|
/// Сущность "Назначение на задачу"
|
|
/// </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
|
|
|
|
};
|
|
|
|
}
|
|
} }
|