public TaskSingleDto GetTaskById(int id) { var task = _taskRepository.Find(id); if (task == null) { return(null); } var MediaIds = _taskMediaRepository.GetAll().Where(p => p.TaskId == id).Select(p => p.MediaId).ToList(); var mediaResult = _mediaRepository.GetAll().Where(p => MediaIds.Contains(p.Id)).Select(p => new { p.FileName, p.ContentType }).ToList(); var result = new TaskSingleDto(); result.Task = task; result.MediaIds = MediaIds; result.FileNames = mediaResult.Select(p => p.FileName).ToList(); result.ContentTypes = mediaResult.Select(p => p.ContentType).ToList(); return(result); }
public ActionResult NewOrEdit(int?id) { Session.Abandon(); if (id == null) { var t = new TaskSingleDto(); t.Task = new Task(); t.MediaIds = new System.Collections.Generic.List <long>(); return(View(t)); } var result = _workService.GetTaskById(id != null ? id.Value : 0); if (result == null) { Response.Redirect("/Work"); } return(View(id != null ? result : new TaskSingleDto())); }