using OnlineSalesAutoCrop.CoreAPI.Models.Objects.Setups; using OnlineSalesAutoCrop.CoreAPI.Models.Objects.Systems; using OnlineSalesAutoCrop.CoreAPI.Models.Requests.Systems; using OnlineSalesAutoCrop.CoreAPI.Models.Responses.Systems; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace OnlineSalesAutoCrop.CoreAPI.Services.Contracts.Systems { public interface IUserService { Task ValidateAuthValueAsync(string authValue, int userId); Task LoginAsync(LoginRequest request, string ipAddress, bool checkPwd); Task LogoutAsync(string ipAddress, int userId, int logId, bool attendanceLogout, string loginId, string localIp, string macAddress, string hostName, string logoutRemarks); Task DeleteUserAsync(int userId, int deletedBy); Task ForceLogoutNowAsync(List userIds, string ipAddress); Task UnlockUserAsync(int userId, string loginId, int unlockedBy); Task DeleteAttributesAsync(int userId, int clientType, int deletedBy); Task EditUserAsync(UserRequest user, string ipAddress, int modifiedBy); Task AddUserAsync(NewUserRequest user, string ipAddress, int createdBy); Task UpdateMyInfoAsync(string address, string contactNo, int modifiedBy, int emplyeeId); Task ResetPasswordAsync(int userId, string newPassword, string ipAddress, int changedBy); Task UpdateMyThemeAsync(int userId, string menuLayout, string themeName, string schemeName); Task SaveAuthorizeLimitAsync(decimal maxAuthLimit, int userId, string ipAddress, string savedBy); Task UploadDocumentAsync(int userId, int id, int documentOf, string orgFileName, string fileName); Task ChangePasswordAsync(int userId, string oldPassword, string newPassword, string ipAddress, int changedBy); Task SaveAttributesAsync(int userId, int clientType, string ipAddress, int attributeSetBy, List ukIds); Task GetUserAsync(int userId); Task GetUserPermissionsAsync(int userId); Task GetUserProfileAsync(int userId); Task FindAccountAsync(string accountId); Task GetAuthorizeLimitAsync(int userId); Task GetAttributesAsync(int userId, int clientType); Task LoadNotificationCountAsync(int userId); Task GetAttendanceUsersAsync(int userId); Task GetForceLogoutUsersAsync(int createdBy); Task GetUsersAsync(UserSearchRequest request, int userId); Task SendPasswordAsync(int userId, string newPassword, string ipAddress); Task GetUsersByTeamSpaceAsync(string teamSpaceIds, int projectId, int userId); Task GetUsersBasicAsync(bool applyFilter, string teamSpaceIds, int projectId); Task GetAccessLogAsync(int accessType, string loginId, DateTime startDate, DateTime endDate); } }