Added primitive search mechanism in backend.

Began implementing search mechanism for frontend.
This commit is contained in:
2021-08-05 01:22:19 -05:00
parent f71758ca69
commit c94ea4a624
56 changed files with 1623 additions and 490 deletions

View File

@@ -4,6 +4,7 @@ using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using Props.Models.Search;
using Props.Shared.Models.User;
@@ -11,7 +12,8 @@ namespace Props.Models.User
{
public class ApplicationUser : IdentityUser
{
public virtual ISet<SearchOutline> SearchOutlines { get; set; }
[Required]
public virtual SearchOutlinePreferences searchOutlinePreferences { get; set; }
[Required]
public virtual ResultsPreferences ResultsPreferences { get; private set; }
@@ -19,15 +21,16 @@ namespace Props.Models.User
[Required]
public virtual ApplicationPreferences ApplicationPreferences { get; private set; }
// TODO: Write project system.
public ApplicationUser()
{
searchOutlinePreferences = new SearchOutlinePreferences();
ResultsPreferences = new ResultsPreferences();
ApplicationPreferences = new ApplicationPreferences();
}
public ApplicationUser(ResultsPreferences resultsPreferences, ApplicationPreferences applicationPreferences)
public ApplicationUser(SearchOutlinePreferences searchOutlinePreferences, ResultsPreferences resultsPreferences, ApplicationPreferences applicationPreferences)
{
this.searchOutlinePreferences = searchOutlinePreferences;
this.ResultsPreferences = resultsPreferences;
this.ApplicationPreferences = applicationPreferences;
}

View File

@@ -0,0 +1,37 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Props.Models.Search;
using Props.Models.User;
namespace Props.Models.User
{
public class SearchOutlinePreferences
{
public int Id { get; set; }
[Required]
public string ApplicationUserId { get; set; }
[Required]
public virtual ApplicationUser ApplicationUser { get; set; }
[Required]
public virtual ISet<SearchOutline> SearchOutlines { get; set; }
[Required]
public virtual SearchOutline ActiveSearchOutline { get; set; }
public SearchOutlinePreferences()
{
SearchOutlines = new HashSet<SearchOutline>();
ActiveSearchOutline = new SearchOutline();
SearchOutlines.Add(ActiveSearchOutline);
}
public SearchOutlinePreferences(ISet<SearchOutline> searchOutlines, SearchOutline activeSearchOutline)
{
this.SearchOutlines = searchOutlines;
this.ActiveSearchOutline = activeSearchOutline;
}
}
}