using System; using System.Collections.Generic; using System.ComponentModel.Design; using System.Xml.Linq; using TaskTrackerContracts.BindingModels; using TaskTrackerContracts.ViewModels; namespace TaskTrackerDatabaseImplement; /// /// Сущность "Назначение на задачу" /// public partial class TaskAssigment { /// /// Ссылка на сотрудника /// public int EmployeeId { get; set; } /// /// Ссылка на задачу /// public int TaskId { get; set; } /// /// Роль в задаче /// 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 }; } } }