mirror of
				https://github.com/Theodor-Springmann-Stiftung/hamann-ausgabe-core.git
				synced 2025-10-31 10:15:33 +00:00 
			
		
		
		
	Moved unused code into Achive
This commit is contained in:
		
							
								
								
									
										81
									
								
								Archive/HaLive/Pages/Supplementa/Register.cshtml.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								Archive/HaLive/Pages/Supplementa/Register.cshtml.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,81 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Linq; | ||||
| using System.Threading.Tasks; | ||||
| using Microsoft.AspNetCore.Mvc; | ||||
| using Microsoft.AspNetCore.Mvc.RazorPages; | ||||
| using HaDocument.Interfaces; | ||||
| using HaDocument.Models; | ||||
| using System.Collections.Concurrent; | ||||
| using HaXMLReader.Interfaces; | ||||
|  | ||||
| namespace HaLive.Pages | ||||
| { | ||||
|     public class RegisterModel : PageModel | ||||
|     { | ||||
|         private ILibrary _lib; | ||||
|         private IReaderService _readerService; | ||||
|  | ||||
|         [BindProperty(SupportsGet = true)] | ||||
|         public string search { get; set; } = ""; | ||||
|         public bool maxSearch = false; | ||||
|  | ||||
|         [BindProperty(SupportsGet = true)] | ||||
|         public string id { get; set; } | ||||
|  | ||||
|         public RegisterModel(ILibrary lib, IReaderService readerservice) { | ||||
|             _lib = lib; | ||||
|             _readerService = readerservice; | ||||
|         } | ||||
|  | ||||
|         public IActionResult OnGet() | ||||
|         { | ||||
|             id = id.ToUpper(); | ||||
|             if (!_lib.CommentsByCategoryLetter["neuzeit"].Contains(id)) { | ||||
|                 Response.StatusCode = 404; | ||||
|                 return RedirectToPage("/Error"); | ||||
|             } | ||||
|             return Page(); | ||||
|         } | ||||
|  | ||||
|         public IOrderedEnumerable<Comment> SelectComments(ILibrary lib) { | ||||
|             if (!String.IsNullOrWhiteSpace(search)) | ||||
|                 return Search(lib.CommentsByCategoryLetter["neuzeit"].SelectMany(x => x)).OrderBy(x => x.Index); | ||||
|             return lib.CommentsByCategoryLetter["neuzeit"].Contains(id) ? lib.CommentsByCategoryLetter["neuzeit"][id].OrderBy(x => x.Index) : null; | ||||
|         } | ||||
|  | ||||
|         private IEnumerable<Comment> Search(IEnumerable<Comment> all) { | ||||
|             var ret = new ConcurrentBag<Comment>(); | ||||
|             var cnt = 0; | ||||
|             Parallel.ForEach (all, (comm, state) => { | ||||
|                 if (cnt > 150) { | ||||
|                     maxSearch = true; | ||||
|                     state.Break(); | ||||
|                 } | ||||
|                 if (SearchInComm(comm)) { | ||||
|                     ret.Add(comm); | ||||
|                     cnt++; | ||||
|                 } | ||||
|             }); | ||||
|             return ret; | ||||
|         } | ||||
|  | ||||
|         private bool SearchInComm(Comment comment) { | ||||
|             var found = false; | ||||
|             var x = new RegisterSearch(comment, _readerService.RequestStringReader(comment.Entry), search); | ||||
|             found = x.Act(); | ||||
|             if (!found) { | ||||
|                 x = new RegisterSearch(comment, _readerService.RequestStringReader(comment.Lemma), search); | ||||
|                 found = x.Act(); | ||||
|             } | ||||
|             if (comment.Kommentare != null) | ||||
|                 foreach (var sub in comment.Kommentare) { | ||||
|                     if (!found) { | ||||
|                         found = SearchInComm(sub.Value); | ||||
|                     } | ||||
|                     else break; | ||||
|                 } | ||||
|             return found; | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Simon Martens
					Simon Martens