Esempio n. 1
0
        public async Task <ActionResult> Delete(long id)
        {
            try
            {
                QualificationDto qualification = new QualificationDto {
                    StudentQualificationId = id, StudentId = this.LoggedInUserId, ActionUserName = this.LoggedInUserName
                };

                var result = await _studentQualificationService.DeleteQualification(qualification);

                if (result)
                {
                    return(Json(new { Status = true, Message = Resources.ModelValidations.Message_Qualification_Delete_Success }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { Status = false, Message = Resources.ModelValidations.Message_Qualification_Delete_Fail }, JsonRequestBehavior.AllowGet));
                }
            }


            catch (Exception ex)
            {
                this.Logger.Error("Delete Qualification", ex);
            }
            return(Json(new { Status = false, Message = Resources.ModelValidations.Message_Qualification_Delete_Fail }, JsonRequestBehavior.AllowGet));
        }
Esempio n. 2
0
        public async Task <ActionResult> EligibleCourse(int?eid)
        {
            if (HttpContext.Session["AdminUser"] != null)
            {
                QualificationDto eligibleCourse = new QualificationDto();
                if (eid != null)
                {
                    var eligiblecourseDetails = await dataAccess.GetEligibleCourseByKye(eid);

                    //ViewBag.eligigbleCourseList = await dataAccess.GetAllQualification();
                    //ViewBag.mainStreamList = await dataAccess.GetAllMainStream();
                    return(View(eligiblecourseDetails));
                }
                else
                {
                    //ViewBag.eligigbleCourseList = await dataAccess.GetAllQualification();
                    //ViewBag.mainStreamList = await dataAccess.GetAllMainStream();
                    return(View());
                }
            }
            else
            {
                ViewData["LoginError"] = "Please Login First";
                return(View("Index"));
            }
        }
        /// <summary>
        /// Delete Qualification
        /// </summary>
        /// <param name="qualification"></param>
        /// <returns></returns>
        public async Task <bool> DeleteQualification(QualificationDto qualification)
        {
            //soft delete
            var apiUrl = UrlExtension.Combine(WebApiBasePath, "/qualification/delete");

            var deleteQualification = Mapper.Map <Qualification>(qualification);
            var result = await _apiService.PostJsonAsync <Qualification>(apiUrl, deleteQualification);

            return(result);
        }
        public async Task <IActionResult> UpdateQualification(QualificationDto qualificationDto)
        {
            var user = await _qualificationsService.Update(qualificationDto);

            if (user.IsSuccess)
            {
                return(Ok(user));
            }

            return(BadRequest(user.ErrorMessage));
        }
Esempio n. 5
0
        public static IQualification Create(QualificationDto qualificationDto)
        {
            var qualification = Ioc.Container.Resolve <IQualification>();

            qualification.CreatedAt = qualificationDto.CreatedAt;
            qualification.Id        = qualificationDto.Id;
            qualification.Name      = qualificationDto.Name;
            qualification.UpdatedAt = qualificationDto.UpdatedAt;
            qualification.Subjects  = qualificationDto.Subjects.Select(SubjectDtoFactory.Create).ToList();
            return(qualification);
        }
        public async Task <IActionResult> AddNewEmployee(QualificationDto qualificationDto)
        {
            var user = await _qualificationsService.Add(qualificationDto);

            if (user.IsSuccess)
            {
                return(Ok(user));
            }

            return(BadRequest(user.ErrorMessage));
        }
Esempio n. 7
0
        public async Task <CommonResult> Update(QualificationDto qualificationDto)
        {
            var updateQualificationDto = await _qualificationsRepository.Update(qualificationDto);

            if (updateQualificationDto == null)
            {
                return(CommonResult <QualificationDto> .Failure <QualificationDto>("Problem occured updating entity."));
            }

            return(CommonResult <QualificationDto> .Success(qualificationDto));
        }
Esempio n. 8
0
        public static QualificationDto GetDto(IQualification qualification)
        {
            var qualificationDto = new QualificationDto();

            qualificationDto.Id        = qualification.Id;
            qualificationDto.CreatedAt = qualification.CreatedAt;
            qualificationDto.Link      = qualification.Link;
            qualificationDto.Name      = qualification.Name;
            qualificationDto.UpdatedAt = qualification.UpdatedAt;
            qualificationDto.Subjects  = qualification.Subjects.Select(SubjectDtoFactory.GetDto).ToList();
            return(qualificationDto);
        }
Esempio n. 9
0
        public async Task <ActionResult> EligibleCourseInsertUpdate(QualificationDto eligiblecourse)
        {
            int courseAdd = await dataAccess.InsertUpdateEligibleCourse(eligiblecourse);

            if (courseAdd != 0 && eligiblecourse.Eid != 0)
            {
                return(Json("Update"));
            }
            else
            {
                return(Json("Add"));
            }
        }
        /// <summary>
        /// Update Qualification
        /// </summary>
        /// <param name="qualification"></param>
        /// <returns></returns>
        public async Task <long> UpdateQualification(QualificationDto qualification)
        {
            var apiUrl = UrlExtension.Combine(WebApiBasePath, "/qualification/update");

            var editQualification = Mapper.Map <Qualification>(qualification);

            editQualification.Status       = (int)QualificationStatus.Pending;
            editQualification.ModifiedDate = DateTime.Today;
            editQualification.ModifiedBy   = qualification.ActionUserName;
            //update to DB
            var updatedQualification = await _apiService.PostJsonAsync <Qualification, Qualification>(apiUrl, editQualification);

            return(updatedQualification.StudentQualificationId);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="qualification"></param>
        /// <returns></returns>
        public async Task <long> RejectQualification(QualificationDto qualification)
        {
            var apiUrl = UrlExtension.Combine(WebApiBasePath, "/qualification/reject");

            var rejectQualification = Mapper.Map <Qualification>(qualification);

            rejectQualification.Status     = (int)QualificationStatus.Rejected;
            rejectQualification.ActionDate = DateTime.Today;
            rejectQualification.ActionBy   = qualification.ActionUserName;

            var updatedQualification = await _apiService.PostJsonAsync <Qualification, Qualification>(apiUrl, rejectQualification);

            return(updatedQualification == null ? 0 : updatedQualification.StudentQualificationId);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="qualification"></param>
        /// <returns></returns>
        public async Task <long> ApproveQualification(QualificationDto qualification)
        {
            //update the status to Approve
            var apiUrl = UrlExtension.Combine(WebApiBasePath, "/qualification/approve");

            var apporveQualification = Mapper.Map <Qualification>(qualification);

            apporveQualification.Status     = (int)QualificationStatus.Approved;
            apporveQualification.ActionDate = DateTime.Today;
            apporveQualification.ActionBy   = qualification.ActionUserName;

            var updatedQualification = await _apiService.PostJsonAsync <Qualification, Qualification>(apiUrl, apporveQualification);

            return(updatedQualification.StudentQualificationId);
        }
        /// <summary>
        /// Validate Qualification for duplicate
        /// validate existing and new qualifications
        /// </summary>
        /// <param name="qualification"></param>
        /// <returns></returns>
        public async Task <bool> ValidateQualification(QualificationDto qualification)
        {
            //return false if any duplicate record exists - match all columns
            var studentNewQualifications = await GetQualificationsByStudent(new QualificationSearchDto { StudentId = qualification.StudentId });

            var studentExistingQualifications = await GetExistingQualificationsByStudent(qualification.StudentId);

            var isRecordFound = studentNewQualifications.Concat(studentNewQualifications) //add the two data sets
                                .Any(q => q.StudentQualificationId != qualification.StudentQualificationId &&
                                     q.StudentId == qualification.StudentId && q.Year == qualification.Year &&
                                     q.QualificationTypeCode == qualification.QualificationTypeCode && q.SubjectCode == qualification.SubjectCode &&
                                     q.Result == qualification.Result && q.SittingCode == qualification.SittingCode);

            return(!isRecordFound);
        }
Esempio n. 14
0
        public async Task <CommonResult> Add(QualificationDto qualificationDto)
        {
            if (string.IsNullOrEmpty(qualificationDto.QualificationField))
            {
                return(CommonResult.Failure("Cannot create user without field provided."));
            }

            if (string.IsNullOrEmpty(qualificationDto.ApplicationUserId))
            {
                return(CommonResult.Failure("Cannot create user without user Id provided."));
            }

            await _qualificationsRepository.Add(qualificationDto);

            return(CommonResult.Success());
        }
Esempio n. 15
0
        public async Task <IActionResult> UpdateQualification([FromBody] QualificationDto qualification)
        {
            if (qualification == null)
            {
                return(BadRequest("QualificationDto object is null"));
            }
            var qualificationEntity = await _repository.Qualification.GetQualificationAsync(qualification.Id, trackChanges : true);

            if (qualificationEntity == null)
            {
                return(NotFound());
            }
            _mapper.Map(qualification, qualificationEntity);
            await _repository.SaveAsync();

            return(NoContent());
        }
        /// <summary>
        /// Add Qualification
        /// </summary>
        /// <param name="qualification"></param>
        /// <returns></returns>
        public async Task <long> AddQualification(QualificationDto qualification)
        {
            Logger.Info("AddQualification :" + qualification.QualificationTypeCode + " " + qualification.StudentId.ToString());

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

            var newQualification = Mapper.Map <Qualification>(qualification);

            //created by /Created Date
            newQualification.Status      = (int)QualificationStatus.Pending;
            newQualification.CreatedDate = DateTime.Today;
            newQualification.ActionBy    = qualification.ActionUserName;

            var newQualificationId = await _apiService.PostJsonAsync <Qualification, long>(apiUrl, newQualification);

            return(newQualificationId);
        }
Esempio n. 17
0
        public async Task <QualificationDto> Update(QualificationDto qualificationDto)
        {
            var result = await DbSet.SingleOrDefaultAsync(x => x.Id == qualificationDto.Id);

            await UpdateAsync(result);

            if (await _dbContext.SaveChangesAsync() == 0)
            {
                return(null);
            }

            return(new QualificationDto
            {
                Id = result.Id,
                ApplicationUserId = qualificationDto.ApplicationUserId,
                QualificationField = qualificationDto.QualificationField
            });
        }
Esempio n. 18
0
        public async Task <JsonResult> Reject(long id, long studentId, string remark)
        {
            QualificationViewModel model = new QualificationViewModel();

            try
            {
                byte[] remarkBytes = Encoding.ASCII.GetBytes(remark);


                if (string.IsNullOrWhiteSpace(remark) || remark.Length > MaxRemarkSize || remarkBytes.Length > MaxRemarkSize)
                {
                    return(Json(new { Status = false, Message = Resources.ModelValidations.Message_Qualification_Reject_Remark_Len }, JsonRequestBehavior.AllowGet));
                }

                else
                {
                    //update remark
                    var qualification = new QualificationDto {
                        StudentQualificationId = id, StudentId = studentId, Remark = remark, ActionUserName = this.LoggedInUserName
                    };

                    if (User.IsInRole(UserRole.FacultyStaff.ToString()))
                    {
                        qualification.FacultyCode = base.LoggedInUserFacultyCode;
                    }

                    var result = await this._studentQualificationService.RejectQualification(qualification);

                    if (result > 0)
                    {
                        return(Json(new { Status = true, Message = Resources.ModelValidations.Message_Qualification_Reject_Success }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json(new { Status = false, Message = Resources.ModelValidations.Message_Qualification_Reject_Fail }, JsonRequestBehavior.AllowGet));
                    }
                }
            }
            catch (Exception ex)
            {
                this.Logger.Error("Reject Qualification", ex);
                return(Json(new { Status = false, Message = string.Format("{0}</br>{1}", Resources.ModelValidations.Message_Qualification_Reject_Fail, ex.Message) }, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 19
0
        public async Task <QualificationDto> Add(QualificationDto qualificationDto)
        {
            var qualification = new Qualification
            {
                ApplicationUserId  = qualificationDto.ApplicationUserId,
                QualificationField = qualificationDto.QualificationField
            };

            await DbSet.AddAsync(qualification);

            if (await _dbContext.SaveChangesAsync() == 0)
            {
                return(null);
            }

            qualificationDto.Id = qualification.Id;

            return(qualificationDto);
        }
Esempio n. 20
0
        public async Task <int> InsertUpdateEligibleCourse(QualificationDto model)
        {
            try
            {
                using (connection = Get_Connection())
                {
                    var param = new DynamicParameters();
                    param.Add("eid", model.Eid, DbType.Int32, ParameterDirection.Input);
                    param.Add("EligibleCourseName", model.EligibleCourseName, DbType.String, ParameterDirection.Input);
                    param.Add("College", model.College, DbType.String, ParameterDirection.Input);
                    param.Add("University", model.University, DbType.String, ParameterDirection.Input);
                    param.Add("duration", model.duration, DbType.String, ParameterDirection.Input);

                    var lastInsertedId = await connection.ExecuteScalarAsync <int>("sp_InsertUpdateEligibleCourse", param, commandType : CommandType.StoredProcedure);

                    return(lastInsertedId);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Esempio n. 21
0
        public async Task <IActionResult> SignUp(QualificationDto qualification)
        {
            await _db.Mem_EducationDetails.AddAsync(new Mem_EducationDetail
            {
                CDate = DateTime.UtcNow,
                EducationQualificationId = qualification.QualificationId,
                PassoutYear    = new DateTime(qualification.PassoutYear, 1, 1),
                MemberId       = qualification.UserId,
                Specialization = qualification.Specialization,
                UniversityId   = qualification.UniversityId,
                PhdTopic       = qualification.Topic
            });

            try
            {
                await _db.SaveChangesAsync();

                return(Ok(new { success = "Success" }));
            }
            catch (System.Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 22
0
 public static void UpdateQualification(this Qualification model, QualificationDto modelVm)
 {
     model.Id   = modelVm.Id;
     model.Name = modelVm.Name;
     model.Code = modelVm.Code;
 }
Esempio n. 23
0
        static void Main(string[] args)
        {
            ProjectDto       proj = null;
            UserDto          manager = null;
            UserDto          worker1 = null, worker2 = null, worker3 = null;
            JobTypeDto       firstJobType = null;
            QualificationDto firstQual = null;
            JobDto           job1 = null, job2 = null, job3 = null;

            firstJobType = new JobTypeDto
            {
                Id   = Guid.NewGuid(),
                Name = "first"
            };
            firstQual = new QualificationDto
            {
                EffectivePercent = 100,
                Id      = Guid.NewGuid(),
                Name    = "first",
                JobType = firstJobType,
                Users   = new List <UserDto>
                {
                    worker1,
                    worker2,
                    worker3
                }
            };

            manager = new UserDto {
                Id        = Guid.NewGuid(),
                FirstName = "Mahager",
                LastName  = "First",
                Login     = "******",
                Password  = "******",
                Roles     = new List <Role>
                {
                    Role.Manager
                },
                ManagmentProjects = new List <ProjectDto>
                {
                    proj
                }
            };

            proj = new ProjectDto
            {
                CreateDate = DateTime.Now,
                EarlyTime  = DateTime.Now,
                LateTime   = DateTime.Today,
                Name       = "Test",
                Id         = Guid.NewGuid(),
                Manager    = manager,
                Workers    = new List <UserDto>
                {
                    worker1,
                    worker2,
                    worker3
                }
            };
            new FrontAlgorithm(new FirstlyStratagy()).CreateShedule(proj, proj.EarlyTime.Value, proj.LateTime.Value, PeriodUnit.Minutes);

            //var printerToConsole = new PrinterToConsole();
            //proj.Print(printerToConsole);
            //proj.CreateSchedule(new FrontAlgorithm(new GreedyStratagy()));
            //proj.Schedule.Print(printerToConsole);

            Console.Read();
        }
Esempio n. 24
0
        public async Task <ActionResult> AddUserDetails(UsersDto usr)
        {
            UserDetailsViewModel userModel = new UserDetailsViewModel();



            var User = await dataAccess.InsertUpdateUser(usr);



            //var test =  GetCourseDetailsOfUser(User);
            var userDetails = await dataAccess.GetUserByKey(User);

            var lastQualification = await dataAccess.GetEligibleCourseByKye(userDetails.QualificationId);

            userModel.id                = userDetails.id;
            userModel.UserName          = userDetails.UserName;
            userModel.LastQualification = lastQualification.EligibleCourseName;
            userModel.Email             = userDetails.Email;
            userModel.Contact           = userDetails.Contact;



            List <CourseDto>        courseDetails    = new List <CourseDto>();
            List <QualificationDto> ObjQualification = new List <QualificationDto>();

            var mainStream = await dataAccess.GetMainStreamByKey(userDetails.MainStreamId);

            var subStream = await dataAccess.GetSubStreamByKey(userDetails.SubStreamId);

            userModel.MainStream = mainStream.MainStreamName;
            userModel.SubStream  = subStream != null ?  subStream.SubStreamName : string.Empty;

            courseDetails = await dataAccess.GetCoursForUser(userDetails.MainStreamId, userDetails.SubStreamId);

            //if (userDetails.SubStreamId != 0)
            //{
            //    courseDetails = await dataAccess.GetCoursForUser(userDetails.MainStreamId, userDetails.SubStreamId);
            //}



            foreach (var item in courseDetails)
            {
                string[] EligibilityIdArray = new string[] { };
                if (!string.IsNullOrEmpty(item.EligibleCourseId))
                {
                    EligibilityIdArray = item.EligibleCourseId.Split(',');
                }

                if (EligibilityIdArray.Count() > 0)
                {
                    foreach (var eligibleCourse in EligibilityIdArray)
                    {
                        var eligibleCourseName = await dataAccess.GetEligibleCourseByKye(Convert.ToInt32(eligibleCourse));

                        if (usr.QualificationId == eligibleCourseName.Eid)
                        {
                            QualificationDto objQualificatio = new QualificationDto();
                            objQualificatio.EligibleCourseName = item.CourseName;
                            objQualificatio.Eid        = item.cid;
                            objQualificatio.DeleteFlag = item.DeleteFlag;
                            objQualificatio.College    = item.College;
                            objQualificatio.University = item.University;
                            objQualificatio.duration   = item.duration;

                            ObjQualification.Add(objQualificatio);
                        }
                    }
                }
            }

            if (ObjQualification != null)
            {
                var result = ObjQualification.GroupBy(q => q.Eid)
                             .Select(grp => grp.First())
                             .ToList();

                foreach (var item in result)
                {
                    userModel.Course.Add(item);
                }
            }



            if (userModel != null)
            {
                HttpContext.Session["UserDetails"] = userModel;
            }


            return(Json(User));
        }
        /// <summary>
        /// Upload Qualification to CU DB
        /// </summary>
        /// <param name="qualification"></param>
        /// <returns></returns>
        public async Task <bool> UploadQualification(QualificationDto qualification)
        {
            //1. upload Qualification to CU

            Logger.Info("UploadQualification :" + qualification.QualificationTypeCode + " " + qualification.StudentId.ToString());

            var apiCUUrl = UrlExtension.Combine(QualificationAPIPath, "/Qualifications/");

            var uploadQualification = Mapper.Map <CUStudentQualification>(qualification);

            bool hasCertificate = (qualification.CertificateId != null && qualification.CertificateId > 0);

            uploadQualification.SourceCode = "P";
            uploadQualification.StatusCode = hasCertificate ? "C" : "U";

            CUAllQualification newQualification = await _apiService.PostJsonAsync <CUStudentQualification, CUAllQualification>(apiCUUrl, uploadQualification);

            if (newQualification == null)
            {
                return(false);
            }

            if (hasCertificate)
            {
                Logger.Info("UploadQualification> Certificate :");

                //2. download Certificate from database
                var apiUrl = UrlExtension.Combine(WebApiBasePath, "/qualification/certificate/", qualification.CertificateId.ToString());

                HttpResponseMessage response = await _apiService.GetSteamAsync(apiUrl);

                if (response == null)
                {
                    return(false);
                }
                StreamContent content = new StreamContent(await response.Content.ReadAsStreamAsync());
                //2. upload certificate to CU
                var apiDocumentUrl = UrlExtension.Combine(DocumentAPIPath, "upload");

                /*
                 * '*ApCd' - our application code - not required
                 * '*PerCd' - our person code
                 * '*StudId' - the student’s ID
                 * QualificationId - Hopefully we can include the AllQualificationId returned from /StudentService.svc/Qualifications
                 * DocumentType - “PEQS” This will be a new document type for us, “Document attached by student post enrolment”
                 * TheirReference - filename given by user
                 * TopicCode – “IMPORT”
                 * SubTopicCode – “QC” We will use the existing subtopic, and add it to the Import Topic “group”
                 * Subject - reference description given by user * this is an optional field, and I don’t think we have anything to add here ?
                 * CreatedBy – think this should be the student’s ID (again)
                 * Content-Length – of file not 100% sure, but isn’t this inferred from the filestream ?
                 * Content-Type – of file
                 */

                //content.Headers.Add("*ApCd", "PQES");
                //content.Headers.Add("*PerCd", qualification.StudentId.ToString());
                content.Headers.Add("*StudId", qualification.StudentId.ToString());
                content.Headers.Add("QualificationId", newQualification.AllQualificationId.ToString());
                content.Headers.Add("DocumentType", "PQES");
                content.Headers.Add("TheirReference", response.Content.Headers.ContentDisposition.FileName);
                content.Headers.Add("TopicCode", "IMPORT");
                content.Headers.Add("SubTopicCode", "QC");
                content.Headers.Add("Subject", "Certificate");
                content.Headers.Add("CreatedBy", qualification.StudentId.ToString());
                content.Headers.Add("Content-Length", response.Content.Headers.ContentLength.ToString());
                content.Headers.Add("Content-Type", response.Content.Headers.ContentType.MediaType);

                //TODO:: Return type from document

                var result = await _apiService.PostHttpAsync(apiDocumentUrl, content);

                if (!result)
                {
                    return(false);
                }
            }

            return(true);
        }