예제 #1
0
        public JsonResult GetAcademicYears()
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            var result   = _unisolApiProxy.GetAcademicYears().Result;
            var response = new ProcessJsonReturnResults <List <SectionSearch> >(result).UnisolApiData;

            if (response.Success)
            {
                return(Json(response));
            }

            return(Json(new ReturnData <SectionSearch>
            {
                Success = false,
                Message = response.Message
            }));
        }
예제 #2
0
        public JsonResult GetStudentPreviousAcademicYears(string userCode)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }

            var result       = _unisolApiProxy.GetStudentPreviousAcademicYears(userCode, classStatus).Result;
            var response     = new ProcessJsonReturnResults <List <YearWithSemesterViewModel> >(result).UnisolApiData;
            var studentYears = response.Data.FirstOrDefault();
            var tabTitle     = studentYears.isTivetTranscript ? "Progress Reports" : "Provisional Transcripts / Result Slip";

            tabTitle = studentYears.Institution.ToUpper().Equals("UOEM") ? "Academic Results" : tabTitle;
            var yearsResults = new
            {
                tabTitle,
                response.Data
            };

            return(Json(new ReturnData <dynamic> {
                Success = response.Success,
                Data = yearsResults,
                Message = response.Message
            }));
        }
예제 #3
0
 public JsonResult GetClassStatus()
 {
     try
     {
         var token = _tokenValidator.Validate(HttpContext);
         if (!token.Success)
         {
             return(Json(new ReturnData <string>
             {
                 Success = false,
                 NotAuthenticated = true,
                 Message = $"Unauthorized:-{token.Message}",
             }));
         }
         var result   = _unisolApiProxy.GetClassStatus().Result;
         var response = new ProcessJsonReturnResults <dynamic>(result).UnisolApiData;
         return(Json(response));
     }
     catch (Exception ex)
     {
         return(Json(new ReturnData <string>
         {
             Success = false,
             Message = "Oops,an error, please contact admin " + ErrorMessangesHandler.ExceptionMessage(ex)
         }));
     }
 }
예제 #4
0
        public JsonResult GetStudentFeeInfo(string usercode)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            if (token.Role != Role.Student)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = "Sorry, you are not authorized to view this page",
                }));
            }
            var statementResult = _unisolApiProxy.GetStudentFeeInfo(usercode, classStatus).Result;
            var jdata           = new ProcessJsonReturnResults <dynamic>(statementResult).UnisolApiData;

            return(Json(jdata));
        }
예제 #5
0
        public JsonResult GetRoles()
        {
            var result   = _unisolApiProxy.GetGenesisStatus().Result;
            var response = new ProcessJsonReturnResults <List <Register> >(result).UnisolApiData;

            return(Json(_userCredentials.GetRoles(response.Success)));
        }
예제 #6
0
        public JsonResult GetStudentUnitRegisteredHistory(string userCode)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }

            if (token.Role != Role.Student)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = "Sorry, you are not authorized to perform this action",
                }));
            }

            var result   = _unisolApiProxy.GetStudentUnitRegisteredHistory(userCode, settings?.ClassStatus).Result;
            var response = new ProcessJsonReturnResults <object>(result).UnisolApiData;

            return(Json(response));
        }
예제 #7
0
        public JsonResult GetJobTitle(string userCode)
        {
            var result   = _unisolApiProxy.GetJobTitle(userCode).Result;
            var response = new ProcessJsonReturnResults <dynamic>(result).UnisolApiData;

            return(Json(response));
        }
예제 #8
0
        public JsonResult GetEmpPnine(string userCode, int year)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }

            if (token.Role != Role.Staff)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = "Sorry, you are not authorized to access this page",
                }));
            }

            var statementResult = _unisolApiProxy.GetEmpPnine(userCode, year).Result;
            var jdata           = new ProcessJsonReturnResults <dynamic>(statementResult).UnisolApiData;

            return(Json(jdata));
        }
예제 #9
0
        public JsonResult GetProjects(string usercode, Role role, DateTime?from, DateTime?to)
        {
            try
            {
                var project = _context.Project.Where(c => c.EmpNo.ToUpper().Equals(usercode.ToUpper())).ToList();
                if (role == Role.Admin)
                {
                    project = _context.Project.Where(c => c.CreatedDate >= from && c.CreatedDate <= to && c.NeedApproval).ToList();
                }

                project = project.OrderByDescending(p => p.CreatedDate).ToList();
                var result   = _unisolApiProxy.GetStaffs().Result;
                var response = new ProcessJsonReturnResults <List <HrpEmployee> >(result).UnisolApiData;
                var projects = new List <dynamic>();

                project.ForEach(p =>
                {
                    var staff         = response?.Data?.FirstOrDefault(e => e.EmpNo.ToUpper().Equals(p.EmpNo.ToUpper()));
                    TimeSpan?duration = p.EndDate - p.StartDate;
                    var period        = systemService.GetPeriod(duration);
                    projects.Add(new
                    {
                        p.Id,
                        p.EmpNo,
                        p.Title,
                        p.Status,
                        p.NeedApproval,
                        p.FundingAgency,
                        p.Sponsor,
                        p.ContactPerson,
                        p.Code,
                        p.FileUrl,
                        period,
                        p.Cost,
                        p.CreatedDate,
                        p.Reason,
                        name = staff?.Names ?? ""
                    });
                });

                return(Json(new ReturnData <dynamic>
                {
                    Success = true,
                    Data = projects
                }));
            }
            catch (Exception ex)
            {
                return(Json(new ReturnData <dynamic>
                {
                    Success = false,
                    Message = "Sorry, An error occurred"
                }));
            }
        }
예제 #10
0
        public JsonResult MissedPunch(MissedPunch punch)
        {
            try
            {
                punch.Status = "Pending";
                if (punch.PunchDate == null)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        Message = "Kindly, pick the missed punch"
                    }));
                }

                var missesPatchExist = _context.MissedPunch.Any(m => m.EmpNo.ToUpper().Equals(punch.EmpNo.ToUpper()) && m.PunchDate == punch.PunchDate);
                if (missesPatchExist)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        Message = "Sorry, missed punch already exist"
                    }));
                }

                var result   = _unisolApiProxy.GetStaffData(punch.EmpNo).Result;
                var response = new ProcessJsonReturnResults <dynamic>(result).UnisolApiData;
                punch.Supervisor = response.Data?.supervisor ?? "";

                _context.MissedPunch.Add(punch);
                _context.SaveChanges();

                if (string.IsNullOrEmpty(punch.Reason))
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        Message = "Kindly provide the reason"
                    }));
                }

                return(Json(new ReturnData <string>
                {
                    Success = true,
                    Message = "Submitted successfully"
                }));
            }
            catch (Exception)
            {
                return(Json(new ReturnData <string> {
                    Success = false,
                    Message = "Sorry, An error occurred"
                }));
            }
        }
예제 #11
0
        public JsonResult GetPublications(string usercode, Role role, DateTime?from, DateTime?to, string type)
        {
            try
            {
                var publication = _context.Publication.Where(c => c.Author.ToUpper().Equals(usercode.ToUpper())).ToList();
                if (role == Role.Admin)
                {
                    publication = _context.Publication.Where(c => c.CreatedDate >= from && c.CreatedDate <= to && c.Type.ToUpper().Equals(type.ToUpper())).ToList();
                }

                publication = publication.OrderByDescending(p => p.CreatedDate).ToList();
                var result       = _unisolApiProxy.GetStaffs().Result;
                var response     = new ProcessJsonReturnResults <List <HrpEmployee> >(result).UnisolApiData;
                var publications = new List <dynamic>();
                publication.ForEach(p =>
                {
                    var name = response?.Data?.FirstOrDefault(e => e.EmpNo.ToUpper().Equals(p.Author.ToUpper()))?.Names ?? "";
                    publications.Add(new {
                        p.Id,
                        p.Year,
                        p.Author,
                        p.Title,
                        p.Type,
                        p.Url,
                        p.CreatedDate,
                        p.FileUrl,
                        p.ToPage,
                        p.FromPage,
                        p.PublicationPlace,
                        p.Publisher,
                        p.BookISBN,
                        p.JournalTitle,
                        p.BookTitle,
                        name
                    });
                });

                //var val = response?.Data?.
                return(Json(new ReturnData <dynamic>
                {
                    Success = true,
                    Data = publications
                }));
            }
            catch (Exception)
            {
                return(Json(new ReturnData <dynamic>
                {
                    Success = false,
                    Message = "Sorry, An error occurred"
                }));
            }
        }
예제 #12
0
        public ReturnData <List <dynamic> > GetStudentExamCard(string userCode, bool isPreviousTermCard)
        {
            var result   = _unisolApiProxy.GetStudentExamCard(userCode, classStatus, isPreviousTermCard).Result;
            var response = new ProcessJsonReturnResults <List <dynamic> >(result).UnisolApiData;

            if (!response.Success)
            {
                return(response);
            }

            var evaluationIsMandatory = _context.EvaluationsCurrentActive.FirstOrDefault();

            if (evaluationIsMandatory != null)
            {
                var units = new List <string>();
                response.Data.ForEach(r => {
                    units.Add(r.unitCode.ToString());
                });
                var hasResponded = _context.Users.Join(_context.EvaluationTakenUnitWiseByUsers,
                                                       u => u.Id,
                                                       e => e.AspNetUserId,
                                                       (u, e) => new { u.UserName, e.UnitCode }
                                                       ).Where(u => u.UserName == userCode).ToList();

                if (!hasResponded.Any())
                {
                    return new ReturnData <List <dynamic> >
                           {
                               Success = false,
                               Message = "Kindly fill evaluations for all units",
                           }
                }
                ;
                var respondedUnits   = hasResponded.Select(u => u.UnitCode).ToList();
                var unrespondedUnits = units.Any(u => !respondedUnits.Contains(u));

                if (unrespondedUnits)
                {
                    return new ReturnData <List <dynamic> >
                           {
                               Success = false,
                               Message = "Kindly fill evaluations for all units",
                           }
                }
                ;
            }

            return(response);
        }
    }
}
예제 #13
0
        public JsonResult OnlineReporting(string usercode, string searchString = "", int offset = 1)
        {
            try
            {
                var token = _tokenValidator.Validate(HttpContext);
                if (!token.Success)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        NotAuthenticated = true,
                        Message = $"Unauthorized:-{token.Message}",
                    }));
                }
                if (token.Role != Role.Student)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        NotAuthenticated = true,
                        Message = "Sorry, you are not authorized to access this page",
                    }));
                }
                var onlineReporting = _unisolApiProxy.GetOnlineReporting(usercode, classStatus).Result;
                var jdata           = new ProcessJsonReturnResults <List <ReportingViewModel> >(onlineReporting).UnisolApiData;
                if (jdata.Success)
                {
                    return(Json(new ReturnData <List <ReportingViewModel> >
                    {
                        Success = true,
                        Message = jdata.Message,
                        Data = jdata.Data
                    }));
                }

                return(Json(new ReturnData <bool>
                {
                    Success = false,
                    Message = jdata.Message
                }));
            }
            catch (Exception ex)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    Message = "An error occured while trying to get Hostels, please try again " + ex.Message
                }));
            }
        }
예제 #14
0
        public JsonResult GetRegisteredUnits(string userCode)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }

            var units    = new List <dynamic>();
            var result   = _unisolApiProxy.GetRegisteredUnits(userCode, classStatus).Result;
            var response = new ProcessJsonReturnResults <List <dynamic> >(result).UnisolApiData;

            if (!response.Success)
            {
                return(Json(response));
            }

            var userId = _context.Users.FirstOrDefault(a => a.UserName == userCode)?.Id;

            response.Data.ForEach(u =>
            {
                string unitCode = u.code;
                var taken       = _context.EvaluationTakenUnitWiseByUsers.Any(s => s.UnitCode == unitCode && s.AspNetUserId == userId);
                var newUnits    = new
                {
                    u.names,
                    u.code,
                    u.subjectType,
                    u.department,
                    u.closed,
                    TakenEvaluation = taken,
                    u.lecturers,
                };
                units.Add(newUnits);
            }
                                  );

            return(Json(new ReturnData <dynamic>
            {
                Success = true,
                Message = response.Message,
                Data = units
            }));
        }
예제 #15
0
        public JsonResult GetStudentAcademicSemstersOfStudy()
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            var result   = _unisolApiProxy.GetStudentAcademicSemstersOfStudy().Result;
            var response = new ProcessJsonReturnResults <dynamic>(result).UnisolApiData;

            return(Json(response));
        }
예제 #16
0
        public JsonResult RegisterUnits(UnitRegistrationViewModel regunits)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            var result   = _unisolApiProxy.RegisterUnits(regunits, classStatus).Result;
            var response = new ProcessJsonReturnResults <string>(result).UnisolApiData;

            return(Json(response));
        }
예제 #17
0
        public JsonResult GetSemester(int yearId)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            var result   = _unisolApiProxy.GetSemesters(yearId).Result;
            var response = new ProcessJsonReturnResults <List <Term> >(result).UnisolApiData;

            return(Json(response));
        }
예제 #18
0
        public JsonResult GetSemisterUnits(string regNo)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            var result   = _unisolApiProxy.GetSemisterUnits(regNo, classStatus).Result;
            var response = new ProcessJsonReturnResults <List <ProgCurriculumDetail> >(result).UnisolApiData;

            return(Json(response));
        }
예제 #19
0
        public JsonResult GetStudentFucultyInfo(string userCode)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            var result   = _unisolApiProxy.GetStudentFucultyInfo(userCode, classStatus).Result;
            var response = new ProcessJsonReturnResults <FucultyViewModel>(result).UnisolApiData;

            return(Json(response));
        }
예제 #20
0
        public JsonResult GetProgram(string regNo, string year)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            var result   = _unisolApiProxy.GetStudentProgram(regNo, year, classStatus).Result;
            var response = new ProcessJsonReturnResults <List <ProgramType> >(result).UnisolApiData;

            return(Json(response));
        }
예제 #21
0
        public JsonResult GetStudentFeeStructureYears(string progCode)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            var structure = _unisolApiProxy.GetStudentFeeStructureYears(progCode, classStatus).Result;
            var jdata     = new ProcessJsonReturnResults <dynamic>(structure).UnisolApiData;

            return(Json(jdata));
        }
예제 #22
0
        public JsonResult GetEmploymentProfile(string userCode)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            var result   = _unisolApiProxy.GetEmploymentProfile(userCode).Result;
            var response = new ProcessJsonReturnResults <HrpIpprofile>(result).UnisolApiData;

            return(Json(response));
        }
예제 #23
0
        public JsonResult GetInstitutionInfo()
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            var structure = _unisolApiProxy.GetInstitutionInfo().Result;
            var jdata     = new ProcessJsonReturnResults <dynamic>(structure).UnisolApiData;

            return(Json(jdata));
        }
예제 #24
0
        public JsonResult GetRegisteredUnits(string userCode)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            var result   = _unisolApiProxy.GetRegisteredUnits(userCode, settings?.ClassStatus).Result;
            var response = new ProcessJsonReturnResults <List <FormattedSubjects> >(result).UnisolApiData;

            return(Json(response));
        }
예제 #25
0
        public JsonResult ReturnStudentCurriulum(string userCode)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            var result   = _unisolApiProxy.GetStudentCurriculum(userCode, settings?.ClassStatus).Result;
            var response = new ProcessJsonReturnResults <dynamic>(result).UnisolApiData;

            return(Json(response));
        }
예제 #26
0
        public JsonResult CheckReportStatus(string usercode)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            var onlineReporting = _unisolApiProxy.CheckReportStatus(usercode, classStatus).Result;
            var jdata           = new ProcessJsonReturnResults <OnlineReporting>(onlineReporting).UnisolApiData;

            return(Json(jdata));
        }
예제 #27
0
        public JsonResult SaveStudentCurrentSemesterUnits(CurriculumUnitsModel curriculumUnits)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }

            var result   = _unisolApiProxy.SaveStudentCurrentSemesterUnits(curriculumUnits, settings?.ClassStatus).Result;
            var response = new ProcessJsonReturnResults <List <string> >(result).UnisolApiData;

            return(Json(response));
        }
예제 #28
0
        public JsonResult SearchEvaluationTarget(SectionSearchViewModel evaluationViewModel)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }

            var result   = _unisolApiProxy.ReturnEvaluationTargetSearch(evaluationViewModel).Result;
            var response = new ProcessJsonReturnResults <List <SectionSearch> >(result).UnisolApiData;

            return(Json(response));
        }
예제 #29
0
        public JsonResult GetStudentProvisionalTranscript(TranscriptRequestViewModel transcriptRequestViewModel)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }

            var result   = _unisolApiProxy.GetStudentProvisionalTranscript(transcriptRequestViewModel, classStatus).Result;
            var response = new ProcessJsonReturnResults <dynamic>(result).UnisolApiData;

            return(Json(response));
        }
예제 #30
0
        public JsonResult ReturnStudentCurrentSemesterUnits(string userCode)
        {
            var token = _tokenValidator.Validate(HttpContext);

            if (!token.Success)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = $"Unauthorized:-{token.Message}",
                }));
            }
            if (token.Role != Role.Student)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    NotAuthenticated = true,
                    Message = "Sorry, you are not authorized to perform this action",
                }));
            }
            var regLevel = "";

            if (settings.UnitsRegLevels == UnitsLevels.YearlyUnits)
            {
                regLevel = "Yearly Units";
            }
            if (settings.UnitsRegLevels == UnitsLevels.SessionUnits)
            {
                regLevel = "Session Units";
            }

            var result   = _unisolApiProxy.ReturnStudentCurrentSemesterUnits(userCode, settings?.ClassStatus, regLevel).Result;
            var response = new ProcessJsonReturnResults <dynamic>(result).UnisolApiData;

            return(Json(response));
        }