示例#1
0
        public ActionResult <SubjectResponse> Get(Guid id)
        {
            try
            {
                var subject = subjectRepository.Get(id);
                if (subject != null)
                {
                    //TODO: This should be automapped
                    var result = new SubjectResponse
                    {
                        Id          = subject.Id,
                        Name        = subject.Name,
                        Description = subject.Description,
                        Teachers    = subject.Teachers.Select(teacher => new TeacherResponse
                        {
                            Id        = teacher.Id,
                            Title     = teacher.Title.Id,
                            FirstName = teacher.FirstName,
                            LastName  = teacher.LastName
                        })
                    };
                    return(Ok(result));
                }

                return(NotFound());
            }
            catch (Exception e)
            {
                return(GenericServerErrorResult(e));
            }
        }
        public SubjectResponse Get(int id)
        {
            SubjectResponse response = new SubjectResponse();
            var             resultDb = context.Subject.Include(x => x.Finals).ThenInclude(x => x.InscriptionWindow).Include(x => x.Finals).ThenInclude(x => x.InscriptionFinals).Include(x => x.Courses).Include(x => x.InscriptionWindow).Include(x => x.Career).FirstOrDefault(u => u.Id == id);

            response = _mapper.Map <Subject, SubjectResponse>(resultDb);
            return(response);
        }
示例#3
0
        public static EditSubjectRequest ToEditSubjectRequest(this SubjectResponse subjectResponse)
        {
            EditSubjectRequest editSubjectRequest = new EditSubjectRequest()
            {
                Id            = subjectResponse.Id,
                Title         = subjectResponse.Title,
                UserProfileId = subjectResponse.UserProfileId
            };

            return(editSubjectRequest);
        }
示例#4
0
        public static SubjectResponse ToSubjectResponse(this Subject subject)
        {
            SubjectResponse subjectResponse = new SubjectResponse()
            {
                Id            = subject.Id,
                Title         = subject.Title,
                UserProfileId = subject.UserProfileId,
                UserName      = $"{subject.UserProfile.LastName} {subject.UserProfile.FirstName}",
                ThemesCount   = subject.Themes.Count
            };

            return(subjectResponse);
        }
        public SubjectResponse SignOutFromSubject(string userId, string subjectId)
        {
            var response     = new SubjectResponse();
            var takenSubject = _userSubjectRepository.GetList().Where(x => x.SubjectId == new Guid(subjectId) && x.UserId == new Guid(userId)).ToList();

            if (takenSubject.Count > 0)
            {
                var subject = _subjectRepository.Get(new Guid(subjectId));
                var user    = _userRepository.Get(new Guid(userId));
                _userSubjectRepository.Delete(takenSubject.FirstOrDefault().Id);
            }
            return(response);
        }
        public SubjectResponse GetAllSubjects()
        {
            var response = new SubjectResponse();

            try
            {
                var subjects = _subjectRepository.GetList();
                response.Subjects = Mapper.MapSubjects(subjects);
            }
            catch (Exception e)
            {
                response.Errors = e.Message;
            }
            return(response);
        }
示例#7
0
        public SmartCardViewModel()
        {
            if (!DesignerProperties.GetIsInDesignMode(new System.Windows.DependencyObject()))
            {
                Index           = -5;
                PreExam         = new PreExamResponse();
                SubjectSelected = new SubjectResponse();


                SmartCardVis = Visibility.Visible;
                ErrorVis     = Visibility.Collapsed;
                ConfirmVis   = Visibility.Collapsed;
                ProfileVis   = Visibility.Collapsed;
                ErrorStatus  = "ข้อมูลผิดพลาดกรุณาติดต่อเจ้าหน้าที่";
            }
        }
        public SubjectResponse GetSubjectsForUser(string userId)
        {
            var response = new SubjectResponse();

            try
            {
                var user            = _userRepository.Get(new Guid(userId));
                var userPermissions = _userPermissionRepository.GetList().Where(x => x.UserId == user.Id).ToList();
                var subjects        = _subjectRepository.GetList().Where(x => userPermissions.Any(p => p.CourseId == x.CourseId && p.TypeId == x.TypeId)).ToList();
                response.Subjects = Mapper.MapSubjects(subjects);
            }
            catch (Exception e)
            {
                response.Errors = e.Message;
            }
            return(response);
        }
        public SubjectResponse GetSubjectsTakenByUser(string userId)
        {
            var response = new SubjectResponse();

            try
            {
                var userIdGUID       = new Guid(userId);
                var takenSubjects    = _userSubjectRepository.GetList().Where(x => x.UserId == userIdGUID).ToList();
                var possibleSubjects = _subjectRepository.GetList().Where(x => takenSubjects.Any(t => t.SubjectId == x.Id)).ToList();
                response.Subjects = Mapper.MapSubjects(possibleSubjects);
            }
            catch (Exception e)
            {
                response.Errors = e.Message;
            }
            return(response);
        }
        public SubjectResponse SignForSubject(string userId, string subjectId)
        {
            var response     = new SubjectResponse();
            var takenSubject = _userSubjectRepository.GetList().Where(x => x.SubjectId == new Guid(subjectId)).ToList();

            if (takenSubject.Count == 0)
            {
                var subject         = _subjectRepository.Get(new Guid(subjectId));
                var user            = _userRepository.Get(new Guid(userId));
                var userPermissions = _userPermissionRepository.GetList().Where(x => (x.UserId == user.Id && x.CourseId == subject.CourseId && x.TypeId == subject.TypeId)).ToList();
                if (userPermissions.Count > 0)
                {
                    _userSubjectRepository.Create(new UserSubjectEntity
                    {
                        Id        = Guid.NewGuid(),
                        SubjectId = subject.Id,
                        UserId    = user.Id
                    });
                }
            }
            return(response);
        }