/// <summary>
        /// Get the report summary
        /// </summary>
        /// <param name="searchCriteria"></param>
        /// <returns></returns>
        public async Task <ReportSummaryDto> GetReportBySearch(QualificationSearchDto searchCriteria)
        {
            Logger.Info("Report Search Criteria :");

            var apiUrl = UrlExtension.Combine(WebApiBasePath, "/qualification/report");

            return(await _apiService.PostJsonAsync <QualificationSearchDto, ReportSummaryDto>(apiUrl, searchCriteria));
        }
        private async Task <List <QualificationDto> > GetQualifications(QualificationSearchDto searchCriteria)
        {
            var apiUrl = UrlExtension.Combine(WebApiBasePath, "/qualification/get");

            var studentQualifications = Mapper.Map <List <QualificationDto> >(await _apiService.PostJsonAsync <QualificationSearchDto, List <Qualification> >(apiUrl, searchCriteria));

            return(studentQualifications ?? new List <QualificationDto>());
        }
Пример #3
0
        public async Task <ActionResult> GetPendingQualifications()
        {
            QualificationSearchDto search = new QualificationSearchDto {
                StudentId = base.LoggedInUserId, Status = new QualificationStatus?[] { QualificationStatus.Pending }
            };
            var pendingQuaifications = Mapper.Map <IEnumerable <QualificationViewModel> >(await this._studentQualificationService.GetQualificationsByStudent(search));

            return(PartialView("_PendingQualificationView", pendingQuaifications));
        }
Пример #4
0
        public async Task <ActionResult> StudentRejectedQualification(long id)
        {
            var vmStudent = new StudentViewModel();

            QualificationSearchDto searchCriteria = new QualificationSearchDto {
                StudentId = id
            };

            if (User.IsInRole(UserRole.FacultyStaff.ToString()))
            {
                searchCriteria.FacultyCode = new string[] { base.LoggedInUserFacultyCode };
            }
            searchCriteria.Status = new QualificationStatus?[] { QualificationStatus.Rejected };

            vmStudent.StudentId = id;
            vmStudent.RejectedQualifications = Mapper.Map <List <QualificationViewModel> >(await this._studentQualificationService.GetQualificationsByStudent(searchCriteria));


            return(PartialView("_Rejected", vmStudent));
        }
Пример #5
0
        public async Task <ActionResult> StudentQualification(long id)
        {
            var vmStudent = new StudentViewModel();

            if (id > 0)
            {
                ///Get user profile by studentId
                var profile = await _userService.GetUserProfile(id);

                if (profile != null)
                {
                    vmStudent.StudentId        = id;
                    vmStudent.StudentName      = profile.FullName;
                    vmStudent.CourseCode       = profile.CourseCode;
                    vmStudent.CourseTitle      = profile.CourseTitle;
                    vmStudent.Mode             = profile.Mode;
                    vmStudent.QualificationAim = profile.QualAim;
                }
                //Get from CU
                vmStudent.ExistingQualifications = Mapper.Map <List <QualificationViewModel> >(await this._studentQualificationService.GetExistingQualificationsByStudent(vmStudent.StudentId));

                QualificationSearchDto searchCriteria = new QualificationSearchDto {
                    StudentId = id
                };
                if (User.IsInRole(UserRole.FacultyStaff.ToString()))
                {
                    searchCriteria.FacultyCode = new string[] { base.LoggedInUserFacultyCode };
                }

                //Get
                searchCriteria.Status = new QualificationStatus?[] { QualificationStatus.Pending, QualificationStatus.Rejected };
                var studentQualifications = Mapper.Map <List <QualificationViewModel> >(await this._studentQualificationService.GetQualificationsByStudent(searchCriteria));

                vmStudent.PendingQualifications  = studentQualifications.FindAll(q => q.Status == QualificationStatus.Pending);
                vmStudent.RejectedQualifications = studentQualifications.FindAll(q => q.Status == QualificationStatus.Rejected);
            }
            return(View(vmStudent));
        }
Пример #6
0
        public async Task <JsonResult> Approve(long id, long studentId)
        {
            try
            {
                //Get the record
                QualificationSearchDto searchCriteria = new QualificationSearchDto {
                    StudentQualificationId = id, StudentId = base.LoggedInUserId, Status = new QualificationStatus?[] { QualificationStatus.Pending }
                };
                if (User.IsInRole(UserRole.FacultyStaff.ToString()))
                {
                    searchCriteria.FacultyCode = new string[] { base.LoggedInUserFacultyCode };
                }

                var pendingQuaification = (await this._studentQualificationService.GetQualificationsByStudent(searchCriteria));

                //upload qualification to CU  & certificate
                if (pendingQuaification != null && pendingQuaification.Count == 1 && await this._studentQualificationService.UploadQualification(pendingQuaification[0]))
                {
                    //approve
                    var qualification = pendingQuaification[0];
                    qualification.ActionUserName = LoggedInUserName;

                    if (await this._studentQualificationService.ApproveQualification(qualification) > 0)
                    {
                        return(Json(new { Status = true, Message = Resources.ModelValidations.Message_Qualification_Apporve_Success }, JsonRequestBehavior.AllowGet));
                    }
                }
                //if fail
                return(Json(new { Status = false, Message = Resources.ModelValidations.Message_Qualification_Apporve_Fail }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                this.Logger.Error("Approve Qualification", ex);
                return(Json(new { Status = false, Message = string.Format("{0}</br>{1}", Resources.ModelValidations.Message_Qualification_Apporve_Fail, ex.Message) }, JsonRequestBehavior.AllowGet));
            }
        }
Пример #7
0
        public async Task <ActionResult> Edit(long id, long?studentId)
        {
            QualificationSearchDto searchCriteria = new QualificationSearchDto
            {
                StudentQualificationId = id,
                Status = new QualificationStatus?[] { QualificationStatus.Pending }
            };

            if (User.IsInRole(UserRole.UGStudent.ToString()))
            {
                searchCriteria.StudentId = base.LoggedInUserId;
            }
            else
            {
                searchCriteria.StudentId = studentId;
            }

            //Get Record
            var model = Mapper.Map <QualificationViewModel>((await _studentQualificationService.GetQualificationsByStudent(searchCriteria))[0]);

            await PopulateDropdowns(model.QualificationTypeCode);

            return(PartialView("_Edit", model));
        }
        /// <summary>
        /// Get Qualifications By Search -  Planner
        /// </summary>
        /// <param name="searchCriteria"></param>
        /// <returns></returns>
        public async Task <List <QualificationDto> > GetQualificationsBySearch(QualificationSearchDto searchCriteria)
        {
            Logger.Info("Search Criteria :");

            return(await GetQualifications(searchCriteria));
        }
        /// <summary>
        /// GetQualifications By Faculty - staff
        /// </summary>
        /// <param name="searchCriteria"></param>
        /// <returns></returns>
        public async Task <List <QualificationDto> > GetQualificationsByFaculty(QualificationSearchDto searchCriteria)
        {
            Logger.Info("Search Criteria FacultyCode#:" + searchCriteria.FacultyCode[0]);

            return(await GetQualifications(searchCriteria));
        }
 /// <summary>
 /// GetQualifications By Student Id, Status
 /// </summary>
 /// <param name="searchCriteria"></param>
 /// <returns></returns>
 public async Task <List <QualificationDto> > GetQualificationsByStudent(QualificationSearchDto searchCriteria)
 {
     Logger.Info("Search Criteria StudentId#:" + searchCriteria.StudentId);
     return(await GetQualifications(searchCriteria));
 }