Exemplo n.º 1
0
        public ActionResult <ApiResponse <List <MatterEvaluationDto> > > GetBy(int studentCourseId)
        {
            var response = new ApiResponse <List <MatterEvaluationDto> >();

            try
            {
                var studentCourse = _studentCourseRepository.Find(sc => sc.Id == studentCourseId);
                if (studentCourse != null)
                {
                    List <MatterEvaluationDto> dtos = _mapper.Map <List <MatterEvaluationDto> >(_matterRepository.FindBy(m => m.CourseId == studentCourse.CourseId));
                    if (dtos.Count > 0)
                    {
                        foreach (MatterEvaluationDto item in dtos)
                        {
                            item.Evaluation = _mapper.Map <EvaluationMatterStudentMatterDto>(
                                (_evaluationStudentMatterRepository.
                                 FindBy(esm => esm.MatterId == item.Id &&
                                        esm.StudentId == studentCourse.StudentId)).LastOrDefault());
                            //if (item.Evaluation != null)
                            //{
                            //    item.Evaluation.Category = _mapper.Map<CategoryEvaluationDto>(_categoryRepository.Find(c => c.Id == item.Evaluation.CategoryId));
                            //}
                            var resProgress = (_studentMatterRepository.FindBy(sm => sm.MatterId == item.Id &&
                                                                               sm.StudentCourseId == studentCourseId)).LastOrDefault();
                            if (resProgress != null)
                            {
                                item.Progress = resProgress.Progress;
                            }
                        }
                        response.Result = dtos;
                    }
                    else
                    {
                        response.Success = false;
                        response.Message = "No hay materias para mostrar, se debe avisar al administrador";
                    }
                }
                else
                {
                    response.Success = false;
                    response.Message = "El estudiante no tiene cursos asignados";
                }
            }
            catch (Exception ex)
            {
                response.Result  = null;
                response.Success = false;
                response.Message = "Internal server error";
                _logger.LogError($"Something went wrong: { ex.ToString() }");
                return(StatusCode(500, response));
            }
            return(Ok(response));
        }
Exemplo n.º 2
0
        public ActionResult <ApiResponse <StudentCourseFeatDto> > Courses(int studentId, int courseId)
        {
            ApiResponse <StudentCourseFeatDto> response = new ApiResponse <StudentCourseFeatDto>();
            StudentCourseFeatDto result = new StudentCourseFeatDto();

            try
            {
                var res = _mapper.Map <List <EvaluationStudentCourseDto> >(_evaluationStudentCourseRepository.FindBy(esc => esc.StudentId == studentId && esc.CourseId == courseId));

                if (res == null)
                {
                    response.Message = "No hay cursos para mostrar";
                }
                result.Courses = res;
                //var studentCourse = _studentCourseRepository.Find(sc => sc.Id == studentCourseId);
                List <MatterDto> dtos = _mapper.Map <List <MatterDto> >(_matterRepository.FindBy(m => m.CourseId == courseId));
                if (dtos.Count > 0)
                {
                    foreach (MatterDto item in dtos)
                    {
                        item.Evaluation = _mapper.Map <EvaluationMatterStudentMatterDto>(
                            (_evaluationStudentMatterRepository
                             .FindBy(esm => esm.MatterId == item.Id && esm.StudentId == studentId && esm.Qualification > 5))
                            .FirstOrDefault());
                    }
                    result.Matters = dtos;
                    //Logros de connexion
                    List <ConnectionTimeDto> timeDtos = new List <ConnectionTimeDto>();
                    timeDtos.Add(new ConnectionTimeDto {
                        Duration = "1 HORA CONECTADO", Icon = "iconounahora", Enabled = true
                    });
                    timeDtos.Add(new ConnectionTimeDto {
                        Duration = "2 HORAS CONECTADO", Icon = "iconodoshoras", Enabled = false
                    });
                    timeDtos.Add(new ConnectionTimeDto {
                        Duration = "3 HORAS CONECTADO", Icon = "iconotreshoras", Enabled = false
                    });
                    timeDtos.Add(new ConnectionTimeDto {
                        Duration = "4 HORAS CONECTADO", Icon = "iconocuatrohoras", Enabled = false
                    });

                    List <ConnectionDayDtos> dayDtos = new List <ConnectionDayDtos>();
                    dayDtos.Add(new ConnectionDayDtos {
                        Duration = "1 DIA CONECTADO", Icon = "iconoundia", Enabled = true
                    });
                    dayDtos.Add(new ConnectionDayDtos {
                        Duration = "2 DIAS CONECTADO", Icon = "iconodosdias", Enabled = true
                    });
                    dayDtos.Add(new ConnectionDayDtos {
                        Duration = "3 DIAS CONECTADO", Icon = "iconotresdias", Enabled = false
                    });
                    dayDtos.Add(new ConnectionDayDtos {
                        Duration = "4 DIAS CONECTADO", Icon = "iconocuatrodias", Enabled = false
                    });
                    result.ConnectionDurations = timeDtos;
                    result.ConnectionDays      = dayDtos;
                }



                response.Result = result;
            }
            catch (Exception ex)
            {
                response.Result  = null;
                response.Success = false;
                response.Message = "Internal server error";
                _logger.LogError($"Something went wrong: { ex.ToString() }");
                return(StatusCode(500, response));
            }
            return(Ok(response));
        }