public override IActionResult Details(int Id) { TechnicalAssistance task = context .TechnicalAssistance .Where(t => t.TaskId == Id) .Include(t => t.ProblemType) .Include(t => t.AssignedBy) .Include(t => t.AssignedTo) .Include(t => t.AttendedBy) .FirstOrDefault(); TechnicalAssistanceViewModel data = TaskToViewModel(task); if (task.AssignedTo != null) { ViewBag.AssignedToName = task.AssignedTo.Username; } if (task.AssignedBy != null) { ViewBag.AssignedByName = task.AssignedBy.Username; } if (task.AttendedBy != null) { ViewBag.AttendedByName = task.AttendedBy.Username; } if (data.ProblemTypeId != null) { ViewBag.ProblemName = context.ProblemTypes.Find(data.ProblemTypeId).ProblemName; } return(View(data)); }
private TechnicalAssistanceViewModel TaskToViewModel(TechnicalAssistance task) { TechnicalAssistanceViewModel viewModel = new TechnicalAssistanceViewModel(); if (task.AssignedBy != null) { viewModel.AssignedByUserId = task.AssignedBy.UserId; } if (task.AssignedTo != null) { viewModel.AssignedToUserId = task.AssignedTo.UserId; } if (task.AttendedBy != null) { viewModel.AttendedByUserId = task.AttendedBy.UserId; } if (task.Employee != null) { viewModel.EmployeeId = task.Employee.EmployeeId; } viewModel.EndDate = task.EndDate; viewModel.EstimatedTime = task.EstimatedTime; viewModel.ActualTime = task.ActualTime; viewModel.Priority = task.Priority; if (task.ProblemTypeId != null) { viewModel.ProblemTypeId = task.ProblemTypeId; } if (task.Source != null) { viewModel.SourceId = task.Source.SourceId; } viewModel.StartDate = task.StartDate; viewModel.State = task.State; viewModel.TaskDate = task.TaskDate; viewModel.TaskId = task.TaskId; viewModel.TaskName = task.TaskName; viewModel.TaskType = task.TaskType; return(viewModel); }
public IActionResult Create(TechnicalAssistanceViewModel data) { if (ModelState.IsValid) { Claim claim = HttpContext .User .Claims .Where(c => c.Type == ClaimTypes.Sid) .FirstOrDefault(); User attendedBy = context.Users.Find(Int32.Parse(claim.Value)); Source source = context.Source.Find(data.SourceId); TechnicalAssistance task = new TechnicalAssistance(); task.Source = source; task.TaskName = data.TaskName; task.ProblemTypeId = data.ProblemTypeId; task.AttendedBy = attendedBy; task.State = data.State; task.TaskDate = DateTime.Now; task.StartDate = null; task.EndDate = null; task.TaskType = TaskType.AsistenciaTecnica; if (data.AssignedToUserId != null && data.AssignedToUserId > 0) { task.AssignedTo = context.Users.Find(data.AssignedToUserId); task.AssignedBy = attendedBy; } context.TechnicalAssistance.Add(task); context.SaveChanges(); RedirectToAction("Index", "TechnicalAssistance"); } ViewBag.Sources = context.Source.AsEnumerable(); ViewBag.ProblemTypes = context.ProblemTypes.AsEnumerable(); ViewBag.Users = context.Users.AsEnumerable(); return(View(data)); }