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) }); } }
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); } }