private Train AddAttemptsToFreeTrain(FreeTrain train, IEnumerable <TaskAnswerBindingModel> answers) { //add new attempts in free train for each answer answers.ForEach(x => { var attempt = GenerateNewEmptyAttemptByTaskId(x.id); attempt.UserAnswer = x.answer; attempt = addExtraInfoForType(attempt, x); train.TaskAttempts.Add(attempt); } ); return(train); }
private Train GetTrainByType(string trainType, User user) { Train train; if (trainType.ToLower().Equals("free")) { train = new FreeTrain(); train.Exam = user.CurrentExam; train.StartTime = DateTime.Now; train.FinishTime = DateTime.Now; _dbContext.Trains.Add(train); } else { if (trainType.ToLower().Equals("exam")) { //searching unfinished ege trains train = user.Trains.OfType <ExamTrain>() .TrainsOfUsersCurrentExamType() .FirstOrDefault(x => x.FinishTime == null); if (train != null) { train.FinishTime = DateTime.Now; } else { return(null); } } else { return(null); } } return(train); }