public TaskListEntryModel Load(Result currentResult, LabEntry entryToLoad)
        {
            var resultForEntry = currentResult
                                 .AbstractResultEntries
                                 .OfType <TaskResult>()
                                 .SingleOrDefault(result => result.TaskVariant.Task.Id == entryToLoad.Task.Id);

            var taskState = resultForEntry?.Status == ExecutionStatus.Complete
                ? TaskExecutionState.Solved
                : TaskExecutionState.New;

            return(new TaskListEntryModel()
            {
                TaskId = entryToLoad.Task.Id,
                TaskName = entryToLoad.Task.Name,
                State = taskState
            });
        }
Exemple #2
0
        /// <summary> Сохранение содержания лабораторной работы </summary>
        public void SaveLabEntries(long labWorkId, long[] tasksId)
        {
            CheckNotDisposed();

            int     i   = 0;
            LabWork lab = GetLabWorkById(labWorkId);

            foreach (var task in tasksId.Distinct().Select(id => _taskRepository.Tasks.Find(id)))
            {
                LabEntry entry = Context.LabEntries.Create();
                entry.LabWork = lab;
                entry.Order   = ++i;
                entry.Task    = task;

                Context.LabEntries.Add(entry);
            }

            Context.SaveChanges();
        }