コード例 #1
0
        public object AddGroupUser(UpdateGroupMemberDto model)
        {
            var group = _context.Groups.Include(u => u.Users).FirstOrDefault(x => x.Id == model.GroupId);

            if (group == null)
            {
                return(BadRequest("Group does not exists"));
            }

            var user = _context.Users.FirstOrDefault(x => x.IdentityGuid == model.IdentityGuid) ?? new UserProfile();

            var idemUser = new IdemService().GetUser(model.IdentityGuid);

            if (idemUser != null)
            {
                user.EmailAddress = idemUser.EmailAddress;
                user.FirstName    = idemUser.Firstname;
                user.LastName     = idemUser.Lastname;
                user.IdentityGuid = idemUser.IdentityGuid;
                user.FullName     = $"{user.FirstName} {user.LastName}";
            }

            _context.Users.AddOrUpdate(user);

            group.Users.Add(user);

            _context.SaveChanges();

            var applications = new IdemService().GetUserApplications(user.EmailAddress);

            if (!applications.Any(x => x.ApplicationViewKey == Constants.ApplicationName))
            {
                WorkEmailer.RequestAccess(user, _currentUsername);
            }


            return(Ok(user));
        }