Ejemplo n.º 1
0
        public JsonResult GetEvaluationRespondedUnits(EvaluationResponseFilters selectedFilter, int currentActiveEvaluationId, int offset = 0, string searchText = null)
        {
            try
            {
                var token = _tokenValidator.Validate(HttpContext);
                if (!token.Success)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        NotAuthenticated = true,
                        Message = $"Unauthorized:-{token.Message}",
                    }));
                }

                selectedFilter.AcademicYear = selectedFilter.AcademicYear ?? "";
                selectedFilter.Semester     = selectedFilter.Semester ?? "";
                selectedFilter.UnitCode     = selectedFilter.UnitCode ?? "";
                selectedFilter.LecturerName = selectedFilter.LecturerName ?? "";
                selectedFilter.Programme    = selectedFilter.Programme ?? "";
                selectedFilter.Campus       = selectedFilter.Campus ?? "";
                selectedFilter.Department   = selectedFilter.Department ?? "";
                searchText = string.IsNullOrEmpty(searchText) ? "" : searchText;

                if (!string.IsNullOrEmpty(selectedFilter.LecturerEmpNo))
                {
                    var result   = _unisolApiProxy.GetUnitLecturer(selectedFilter.LecturerEmpNo).Result;
                    var response = JsonConvert.DeserializeObject <ReturnData <dynamic> >(result);
                    selectedFilter.LecturerName = response.Data?.dname ?? "";
                }

                var sectionWithMean = GetSectionMeans(selectedFilter.AcademicYear, selectedFilter.Semester, selectedFilter.UnitCode,
                                                      selectedFilter.LecturerName, selectedFilter.Programme, selectedFilter.Campus, selectedFilter.Department, currentActiveEvaluationId);
                var totalItems = _context
                                 .EvaluationTakenUnitWiseByUsers.Count(n =>
                                                                       (n.UnitCode.CaseInsensitiveContains(searchText) || n.TargetNames.CaseInsensitiveContains(searchText)) &&
                                                                       n.EvaluationCurrentActiveId == currentActiveEvaluationId
                                                                       );

                return(Json(sectionWithMean));
            }
            catch (Exception ex)
            {
                return(Json(new ReturnData <dynamic>
                {
                    Success = false,
                    Message = "An error occured ,please try again ",
                    Error = new Error(ex)
                }));
            }
        }
Ejemplo n.º 2
0
        public JsonResult GetEvaluationTargets(EvaluationResponseFilters selectedFilter, int currentActiveEvaluationId = 0)
        {
            try
            {
                var token = _tokenValidator.Validate(HttpContext);
                if (!token.Success)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        NotAuthenticated = true,
                        Message = $"Unauthorized:-{token.Message}",
                    }));
                }

                selectedFilter.AcademicYear  = selectedFilter.AcademicYear ?? "";
                selectedFilter.Semester      = selectedFilter.Semester ?? "";
                selectedFilter.UnitCode      = selectedFilter.UnitCode ?? "";
                selectedFilter.LecturerName  = selectedFilter.LecturerName ?? "";
                selectedFilter.Programme     = selectedFilter.Programme ?? "";
                selectedFilter.Campus        = selectedFilter.Campus ?? "";
                selectedFilter.Department    = selectedFilter.Department ?? "";
                selectedFilter.LecturerEmpNo = selectedFilter.LecturerEmpNo ?? "";

                if (!string.IsNullOrEmpty(selectedFilter.LecturerEmpNo))
                {
                    var result   = _unisolApiProxy.GetUnitLecturer(selectedFilter.LecturerEmpNo).Result;
                    var response = JsonConvert.DeserializeObject <ReturnData <dynamic> >(result);
                    selectedFilter.LecturerName = response.Data?.dname ?? "";
                }

                var target = _context.EvaluationTargetGroups
                             .Where(e => e.EvaluationsCurrentActiveId == currentActiveEvaluationId)
                             .ToList();

                var evaluationTaken = _context.EvaluationTakenUnitWiseByUsers.Where(u => u.EvaluationCurrentActiveId == currentActiveEvaluationId &&
                                                                                    u.AcademicYear.CaseInsensitiveContains(selectedFilter.AcademicYear) && u.Semester.CaseInsensitiveContains(selectedFilter.Semester) &&
                                                                                    u.UnitCode.CaseInsensitiveContains(selectedFilter.UnitCode) && u.LecturerName.CaseInsensitiveContains(selectedFilter.LecturerName) &&
                                                                                    u.Programme.CaseInsensitiveContains(selectedFilter.Programme) && u.Campus.CaseInsensitiveContains(selectedFilter.Campus) &&
                                                                                    u.Department.CaseInsensitiveContains(selectedFilter.Department)).ToList();

                var evaluationFilters = new
                {
                    AcademicYear = evaluationTaken.Select(u => u.AcademicYear).Distinct().ToList(),
                    Semester     = evaluationTaken.Select(u => u.Semester).Distinct().ToList(),
                    Campus       = evaluationTaken.Select(u => u.Campus).Distinct().ToList(),
                    CertType     = evaluationTaken.Select(u => u.CertType).Distinct().ToList(),
                    Department   = evaluationTaken.Select(u => u.Department).Distinct().ToList(),
                    LecturerName = evaluationTaken.Select(u => u.LecturerName).Distinct().ToList(),
                    Programme    = evaluationTaken.Select(u => u.Programme).Distinct().ToList(),
                    Schools      = evaluationTaken.Select(u => u.Schools).Distinct().ToList(),
                    UnitCode     = evaluationTaken.Select(u => u.UnitCode).Distinct().ToList(),
                };

                return(Json(new ReturnData <dynamic> {
                    Success = true,
                    Data = new { target, evaluationFilters }
                }));
            }
            catch (Exception ex)
            {
                return(Json(new ReturnData <dynamic>
                {
                    Success = false,
                    Message = "An error occured ,please try again ",
                    Error = new Error(ex)
                }));
            }
        }