using System; using System.Threading.Tasks; using Abp.Application.Services; using Abp.Runtime.Session; using ShwasherSys.Authorization.Users; using IwbZero.Authorization.Permissions; using IwbZero.IdentityFramework; using IwbZero.Session; using IwbZero.Setting; using Microsoft.AspNet.Identity; namespace ShwasherSys { /// /// Derive your application services from this class. /// public abstract class ShwasherAppServiceBase : ApplicationService { public UserManager UserManager { get; set; } public new IIwbSession AbpSession { get; set; } protected ShwasherAppServiceBase() { LocalizationSourceName = ShwasherConsts.LocalizationSourceName; } public new IIwbPermissionManager PermissionManager { protected get; set; } protected new IIwbSettingManager SettingManager { get; set; } protected Task GetCurrentUserAsync() { var user = UserManager.FindByIdAsync(AbpSession.GetUserId()); if (user == null) { throw new ApplicationException("There is no current user!"); } return user; } protected virtual void CheckErrors(IdentityResult identityResult) { identityResult.CheckErrors(LocalizationManager); } } }