Example #1
0
        public CertificateDTO GetCourseCertificate(int courseId)
        {
            try
            {
                var entity = CertificateRepository.GetMany(x => x.CourseId == courseId).FirstOrDefault();

                if (entity == null)
                {
                    var courseEntity = CourseRepository.GetById(courseId);

                    return(courseEntity != null ? new CertificateDTO(courseId, courseEntity.CourseName, this.GetCurrentUserName()) : new CertificateDTO {
                        IsValid = false, Message = "Course not found"
                    });
                }

                var token = entity.Entity2CertificateDto(StudentCertificatesRepository.IsAny(x => x.CertificateId == entity.CertificateId), CourseQuizzesRepository.IsAny(x => x.CourseId == entity.CourseId && x.AttachCertificate));

                return(token);
            }
            catch (Exception ex)
            {
                Logger.Error("get certificate token", courseId, ex, CommonEnums.LoggerObjectTypes.Certificate);
                return(new CertificateDTO
                {
                    IsValid = false
                    , Message = FormatError(ex)
                });
            }
        }
Example #2
0
        public bool DeleteCertificate(int certId, out string error)
        {
            try
            {
                if (StudentCertificatesRepository.IsAny(x => x.CertificateId == certId))
                {
                    error = "Certificate already sent to students and can't be deleted. You could disable it.";
                    return(false);
                }

                CertificateRepository.Delete(x => x.CertificateId == certId);
                return(CertificateRepository.UnitOfWork.CommitAndRefreshChanges(out error));
            }
            catch (Exception ex)
            {
                Logger.Error("delete certificate", certId, ex, CommonEnums.LoggerObjectTypes.Certificate);
                error = FormatError(ex);
                return(false);
            }
        }