Ejemplo n.º 1
0
 public UserInfoViewModel GetUserInfo() {
     var externalLogin = ExternalLoginData.FromIdentity(User.Identity as ClaimsIdentity);
     var userInfo = new UserInfoViewModel {
         UserName = User.Identity.GetUserName(),
         HasRegistered = externalLogin == null,
         LoginProvider = externalLogin?.LoginProvider
     };
     return userInfo;
 }
Ejemplo n.º 2
0
        public async Task <IHttpActionResult> GetUserInfo()
        {
            ExternalLoginData externalLogin = ExternalLoginData.FromIdentity(User.Identity as ClaimsIdentity);

            var userId  = Guid.Parse(User.Identity.GetUserId());
            var user    = UnitOfWork.UsersRepository.Find(userId);
            var orgUser = user as OrgUser;

            var phoneNumber = await UserManager.GetPhoneNumberAsync(userId);

            var twoFactorAuth = await UserManager.GetTwoFactorEnabledAsync(userId);

            var userInfo = new UserInfoViewModel
            {
                UserId                         = CurrentUser.Id,
                Email                          = User.Identity.GetUserName(),
                EmailConfirmed                 = user.EmailConfirmed,
                PhoneNumber                    = phoneNumber,
                PhoneNumberConfirmed           = user.PhoneNumberConfirmed,
                HasRegistered                  = externalLogin == null,
                LoginProvider                  = externalLogin != null ? externalLogin.LoginProvider : null,
                Language                       = CurrentOrganisation?.DefaultLanguage?.Calture,
                Calendar                       = CurrentOrganisation?.DefaultCalendar?.SystemName,
                Roles                          = ServiceContext.UserManager.GetRoles(CurrentUser.Id),
                TwoFactorAuthenticationEnabled = twoFactorAuth,
            };

            if (orgUser != null)
            {
                userInfo.OrganisationId = CurrentOrganisationId;

                var subscriptionService = new SubscriptionService(UnitOfWork);
                var expiryDate          = subscriptionService.GetLatest(orgUser.Id);
                var lastSubscription    = subscriptionService.GetLastSubscription(orgUser.Id);
                var quota = subscriptionService.GetMonthlyQuota(orgUser.Id);

                userInfo.Profile = new UserProfileDTO
                {
                    FirstName        = orgUser.FirstName,
                    Surname          = orgUser.Surname,
                    Gender           = orgUser.Gender,
                    Birthdate        = orgUser.Birthdate,
                    Address          = orgUser.Address,
                    Email            = orgUser.Email,       // THIS COULD BE REMOVED AS WELL
                    PhoneNumber      = orgUser.PhoneNumber, // REMOVE THIS PROPERTY
                    IsSubscribed     = orgUser.IsSubscribed,
                    ExpiryDate       = expiryDate,
                    LastSubscription = lastSubscription,
                    MonthlyQuota     = quota
                };
            }

            return(Ok(userInfo));
        }