public int Create(string code, string name, int universityId, int createdBy) { if (_lectureRepository.Table.Any(x => (x.LectureCode == code || x.LectureName == name) && x.LectureUniversityIdFk == universityId)) { throw new LectureAlreadyExistsException(); } if (!_userRepository.Table.Any(x => x.UserUniversityIdFk == universityId && x.UserIdPk == createdBy)) { throw new UserNotFoundException(); } var lecture = new LectureEntity { LectureCode = code, LectureName = name, LectureUniversityIdFk = universityId, LectureCreatedByIdFk = createdBy }; _lectureRepository.Insert(lecture); _lectureRepository.SaveAll(); return(lecture.LectureIdPk); }
private static LectureVm ToLectureVm(LectureEntity l) { var vm = new LectureVm() { FullText = WebUtility.HtmlEncode(l.FullText), Id = l.Id, Keywords = l.ImportantWords?.Split(',', StringSplitOptions.RemoveEmptyEntries).ToList(), Summary = WebUtility.HtmlEncode(l.Summary), Title = l.Title, UploadDate = l.UploadTime }; if (vm.Keywords == null || string.IsNullOrEmpty(vm.FullText)) { return(vm); } vm.FullText = vm.FullText.Replace("\n", "</p><p>"); foreach (var keyword in vm.Keywords) { vm.FullText = vm.FullText.Replace(keyword, "<span class='text-danger font-weight-bold'>" + keyword + "</span>"); if (!string.IsNullOrEmpty(vm.Summary)) { vm.Summary = vm.Summary.Replace(keyword, "<span class='text-danger font-weight-bold'>" + keyword + "</span>"); } } return(vm); }
public async Task UploadLecture(UploadLectureVm vm, IFormFile file, ClaimsPrincipal userClaims) { var user = await _userManager.GetUserAsync(userClaims); if (user == null) { return; } var lecture = new LectureEntity() { Id = Guid.NewGuid(), Title = vm.Title, UploadTime = DateTime.Now, User = user, UserId = user.Id }; var transcript = await _azureService.GetAudioTranscript(file); lecture.FullText = transcript; if (lecture.FullText == null) { return; } IEnumerable <string> keyPhrases = await _azureService.GetImportantWords(lecture.FullText); lecture.ImportantWords = string.Join(',', keyPhrases); var summary = await _summarizeService.GetSummary(lecture.FullText); lecture.Summary = summary; if (string.IsNullOrEmpty(summary)) { lecture.Summary = lecture.FullText; } await _context.Lectures.AddAsync(lecture); await _context.SaveChangesAsync(); }