示例#1
0
        public virtual void SaveProfile(UserProfile userProfile, EditProfile model)
        {
            var properties = new Dictionary <string, string>
            {
                [Constants.UserProfile.Fields.FirstName]   = model.FirstName,
                [Constants.UserProfile.Fields.LastName]    = model.LastName,
                [Constants.UserProfile.Fields.PhoneNumber] = model.PhoneNumber,
                [Constants.UserProfile.Fields.Interest]    = model.Interest,
                [nameof(userProfile.Name)]     = model.FirstName,
                [nameof(userProfile.FullName)] = $"{model.FirstName} {model.LastName}".Trim()
            };

            _userProfileProvider.SetCustomProfile(userProfile, properties);
            _contactFacetsService.UpdateContactFacets(userProfile);
            _accountTrackerService.TrackEditProfile(userProfile);
        }
        public override void Process(SignedInArgs args)
        {
            //Do not track the user signin if this is a response to a membership provider login
            var provider = this.GetProvider(args.Context.Identity);

            if (provider.Name == Owin.Authentication.Constants.LocalIdentityProvider)
            {
                return;
            }

            if (Tracker.Current == null)
            {
                Tracker.Initialize();
            }
            _accountTrackerService.TrackLoginAndIdentifyContact(provider.Name, args.User.Id);
            _updateContactFacetsService.UpdateContactFacets(args.User.InnerUser.Profile);
        }
 public void Process(AccountsPipelineArgs args)
 {
     _updateContactFacetsService.UpdateContactFacets(args.User.Profile);
     _accountTrackerService.TrackRegistration();
 }