/// <summary> /// The student takes the next assignment. /// </summary> /// <param name="Id"></param> /// <param name="newAssignment"></param> /// <returns></returns> public async Task TakeAssignmentAsync(Guid Id, AddStudentAssignmentDTO newAssignment) { Func <IIncludable <Student>, IIncludable> include = i => i.Include(p => p.OldAssignments); var currentUser = await _studentRepository.GetAllAsync(include, i => i.AppUser.UserName == _loggedUser).ConfigureAwait(false); var currentStudent = currentUser.First(); currentStudent.ThrowIfNullForGuidObject(); var lastAssignment = currentStudent.OldAssignments.Where(i => i.FinishedDate >= DateTime.UtcNow); if (lastAssignment.Count() > 0) { throw new MilvaUserFriendlyException("UndeliveredHomework"); } var toBeTakeAssignment = await _assignmentRepository.GetByIdAsync(Id, i => i.Level == currentStudent.Level).ConfigureAwait(false); toBeTakeAssignment.ThrowIfNullForGuidObject(); var studentAssignment = new StudentAssigment { IsApproved = false, AssigmentId = toBeTakeAssignment.Id, StudentId = currentStudent.Id, AdditionalTime = newAssignment.AdditionalTime, AdditionalTimeDescription = newAssignment.AdditionalTimeDescription, Status = Entity.Enum.EducationStatus.InProgress }; await _studentAssignmentRepository.AddAsync(studentAssignment).ConfigureAwait(false); await _milvaMailSender.MilvaSendMailAsync(currentStudent.Mentor.AppUser.Email, Helpers.Enums.MailSubject.Information, currentStudent.Name + currentStudent.Surname + " isimli öğrencinin yeni bir ödev isteği var."); }
public void insertStudentAssigment(JToken courses) { var user = courses.ToObject <List <StudentAssigment> >();// JObject.Parse(courses).DeserializeResponse<List<Course>>(); //var users= JsonConvert.DeserializeObject<List<Course>>(courses); foreach (var course in user) { StudentAssigment courseobj = course; _context.StudentAssigment.Add(courseobj); } _context.SaveChanges(); }