Пример #1
0
        /// <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.");
        }
Пример #2
0
        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();
        }