Esempio n. 1
0
        ApolloUser MapToCreateEntity(Domain.DTO.User.SocietyUserCreate user)
        {
            var apolloUser = new ApolloUser();

            apolloUser.FirstName   = user.FirstName;
            apolloUser.LastName    = user.LastName;
            apolloUser.UserName    = user.UserName;
            apolloUser.Email       = user.Email;
            apolloUser.PhoneNumber = user.PhoneNumber;
            apolloUser.UserTypeId  = user.UserType;
            apolloUser.IsActive    = user.IsActive;

            apolloUser.CreatedBy   = user.CreatedBy;
            apolloUser.CreatedDate = user.CreatedDate;
            apolloUser.UpdatedBy   = user.UpdatedBy;
            apolloUser.UpdatedDate = user.UpdatedDate;
            apolloUser.ObjectState = user.ObjectState;


            apolloUser.UserAppRoleMappings.Clear();
            apolloUser.UserAppRoleMappings.Add(new Apollo.Domain.Entity.UserAppRoleMapping
            {
                Id            = Guid.NewGuid(),
                ApplicationId = user.SocietyUser.ApplicationId.Value,
                RoleId        = user.SocietyUser.RoleId.Value,
                IsActive      = user.IsActive,
                ObjectState   = user.ObjectState,
                CreatedBy     = user.CreatedBy,
                CreatedDate   = user.CreatedDate,
                UpdatedBy     = user.UpdatedBy,
                UpdatedDate   = user.UpdatedDate
            });
            apolloUser.SocietyUser = new Domain.Entity.SocietyUser
            {
                Id         = Guid.NewGuid(),
                SocietyId  = user.SocietyUser.SocietyId,
                BuildingId = user.SocietyUser.BuildingId,
                FlatId     = user.SocietyUser.FlatId
            };
            return(apolloUser);
        }
Esempio n. 2
0
        ApolloUser MapToEntity(SupportUser user)
        {
            var apolloUser = new ApolloUser();

            apolloUser.FirstName   = user.FirstName;
            apolloUser.LastName    = user.LastName;
            apolloUser.UserName    = user.UserName;
            apolloUser.Email       = user.Email;
            apolloUser.PhoneNumber = user.PhoneNumber;
            apolloUser.UserTypeId  = user.UserType;
            apolloUser.IsActive    = user.IsActive;

            apolloUser.CreatedBy   = user.CreatedBy;
            apolloUser.CreatedDate = DateTime.UtcNow;
            apolloUser.UpdatedBy   = user.UpdatedBy;
            apolloUser.UpdatedDate = DateTime.UtcNow;
            apolloUser.ObjectState = user.ObjectState;


            apolloUser.UserAppRoleMappings.Clear();

            foreach (var item in user.UserApplicationRole)
            {
                apolloUser.UserAppRoleMappings.Add(new Apollo.Domain.Entity.UserAppRoleMapping
                {
                    Id            = Guid.NewGuid(),
                    ApplicationId = item.ApplicationId,
                    RoleId        = item.RoleId,
                    IsActive      = true,
                    ObjectState   = item.ObjectState,
                    CreatedBy     = user.CreatedBy,
                    CreatedDate   = DateTime.UtcNow,
                    UpdatedBy     = user.UpdatedBy,
                    UpdatedDate   = DateTime.UtcNow
                });
            }

            return(apolloUser);
        }
Esempio n. 3
0
 public void Remove(ApolloUser entity)
 {
     throw new NotImplementedException();
 }
Esempio n. 4
0
 public async Task <IdentityResult> Add(ApolloUser user, string password)
 {
     return(await _userManager.CreateAsync(user, password).ConfigureAwait(false));;
 }
Esempio n. 5
0
 public Guid Add(ApolloUser newEntity)
 {
     throw new NotImplementedException();
 }
Esempio n. 6
0
 public Task <ApolloUser> UpdateAsync(ApolloUser updatedEntity)
 {
     throw new NotImplementedException();
 }
Esempio n. 7
0
 public Task <ApolloUser> AddAsync(ApolloUser newEntity)
 {
     throw new NotImplementedException();
 }
Esempio n. 8
0
 /* public ApolloUser Update(ApolloUser user)
  * {
  *  _context.User.Attach(user);
  *  _context.ApplyStateChanges();
  *
  *  try {
  *      _context.SaveChanges();
  *  }
  *
  *  catch(Exception){
  *
  *  }
  *
  *  return user;
  * } */
 public async Task <IdentityResult> Update(ApolloUser user)
 {
     return(await _userManager.UpdateAsync(user).ConfigureAwait(false));
 }
Esempio n. 9
0
        private async Task <ApolloUser> AutoProvisionUserAsync(string provider, string providerUserId, IEnumerable <Claim> claims)
        {
            // create a list of claims that we want to transfer into our store
            var filtered = new List <Claim>();

            // user's display name
            var name = claims.FirstOrDefault(x => x.Type == JwtClaimTypes.Name)?.Value ??
                       claims.FirstOrDefault(x => x.Type == ClaimTypes.Name)?.Value;

            if (name != null)
            {
                filtered.Add(new Claim(JwtClaimTypes.Name, name));
            }
            else
            {
                var first = claims.FirstOrDefault(x => x.Type == JwtClaimTypes.GivenName)?.Value ??
                            claims.FirstOrDefault(x => x.Type == ClaimTypes.GivenName)?.Value;
                var last = claims.FirstOrDefault(x => x.Type == JwtClaimTypes.FamilyName)?.Value ??
                           claims.FirstOrDefault(x => x.Type == ClaimTypes.Surname)?.Value;
                if (first != null && last != null)
                {
                    filtered.Add(new Claim(JwtClaimTypes.Name, first + " " + last));
                }
                else if (first != null)
                {
                    filtered.Add(new Claim(JwtClaimTypes.Name, first));
                }
                else if (last != null)
                {
                    filtered.Add(new Claim(JwtClaimTypes.Name, last));
                }
            }

            // email
            var email = claims.FirstOrDefault(x => x.Type == JwtClaimTypes.Email)?.Value ??
                        claims.FirstOrDefault(x => x.Type == ClaimTypes.Email)?.Value;

            if (email != null)
            {
                filtered.Add(new Claim(JwtClaimTypes.Email, email));
            }

            var user = new ApolloUser
            {
                UserName = Guid.NewGuid().ToString(),
            };
            var identityResult = await _userManager.CreateAsync(user);

            if (!identityResult.Succeeded)
            {
                throw new Exception(identityResult.Errors.First().Description);
            }

            if (filtered.Any())
            {
                identityResult = await _userManager.AddClaimsAsync(user, filtered);

                if (!identityResult.Succeeded)
                {
                    throw new Exception(identityResult.Errors.First().Description);
                }
            }

            identityResult = await _userManager.AddLoginAsync(user, new UserLoginInfo(provider, providerUserId, provider));

            if (!identityResult.Succeeded)
            {
                throw new Exception(identityResult.Errors.First().Description);
            }

            return(user);
        }