ScientificReport
IUserProfileService.cs
Go to the documentation of this file.
1 using System;
2 using System.Collections.Generic;
3 using System.Security.Claims;
4 using System.Threading.Tasks;
5 using Microsoft.AspNetCore.Identity;
10 
11 namespace ScientificReport.BLL.Interfaces
12 {
13  public interface IUserProfileService
14  {
15  int GetCount();
16  IEnumerable<UserProfile> GetAll();
17  IEnumerable<UserProfile> Filter(UserProfileIndexModel model, ClaimsPrincipal userPrincipal, bool userIsAdmin);
18  IEnumerable<UserProfile> GetAllWhere(Func<UserProfile, bool> predicate);
19  IEnumerable<UserProfile> GetPage(int page, int count);
20  IEnumerable<UserProfile> GetPage(IEnumerable<UserProfile> userProfiles, int page, int count);
21  UserProfile GetById(Guid id);
22  UserProfile Get(ClaimsPrincipal claimsPrincipal);
23  UserProfile Get(Func<UserProfile, bool> predicate);
24  void CreateItem(UserProfile item);
25  void UpdateItem(UserProfile item);
26  void DeleteById(Guid id);
27  void SetActiveById(Guid id, bool isActive);
28  void SetApproved(Guid id, bool isApproved);
29  bool UserExists(Guid id);
30  Task<IdentityResult> AddToRoleAsync(UserProfile user, string roleName, UserManager<UserProfile> userManager);
31  Task<IdentityResult> RemoveFromRoleAsync(UserProfile user, string roleName, UserManager<UserProfile> userManager);
32  Task<bool> IsInRoleAsync(UserProfile user, string roleName, UserManager<UserProfile> userManager);
33  Task<string> ChangePassword(UserProfile user, string oldPassword, string newPassword, string newPasswordRepeat, UserManager<UserProfile> userManager);
34  Task<bool> IsTeacherOnlyAsync(UserProfile user, UserManager<UserProfile> userManager);
35  ICollection<Publication> GetUserPublications(Guid id);
36  ICollection<Grant> GetUserGrants(Guid id);
37  ICollection<ScientificWork> GetUserScientificWorks(Guid id);
38  ICollection<Article> GetUserArticles(Guid id);
39  ICollection<ReportThesis> GetUserReportTheses(Guid id);
40  ICollection<ScientificInternship> GetUserScientificInternships(Guid id);
41  ICollection<Review> GetUserReviews(Guid id);
42  ICollection<PatentLicenseActivity> GetUserPatentLicenseActivitiesAsAuthor(Guid id);
43  ICollection<PatentLicenseActivity> GetUserPatentLicenseActivitiesAsApplicant(Guid id);
44  ICollection<ScientificConsultation> GetUserScientificConsultations(Guid id);
45  }
46 }