Ejemplo n.º 1
0
        public void SynchroniseOrganisation(DTO.Response.Application.Organisation organisation)
        {
            var functionName = "application.synchronise_organisation";
            var parameters   = new DynamicParameters();

            parameters.Add("_ods_code", organisation.ODSCode);
            parameters.Add("_organisation_type_name", organisation.OrganisationTypeCode);
            parameters.Add("_organisation_name", organisation.OrganisationName);
            parameters.Add("_address_line_1", organisation.PostalAddressFields[0]);
            parameters.Add("_address_line_2", organisation.PostalAddressFields[1]);
            parameters.Add("_locality", organisation.PostalAddressFields[2]);
            parameters.Add("_city", organisation.PostalAddressFields[3]);
            parameters.Add("_county", organisation.PostalAddressFields.Length > 4 ? organisation.PostalAddressFields[4] : string.Empty);
            parameters.Add("_postcode", organisation.PostalCode);
            _dataService.ExecuteFunction(functionName, parameters);
        }
        private DTO.Response.Application.User LogonAuthorisedUser(string emailAddress, TokenValidatedContext context, DTO.Response.Application.Organisation organisation)
        {
            var loggedOnUser = _applicationService.LogonUser(new User
            {
                EmailAddress   = emailAddress,
                DisplayName    = context.Principal.GetClaimValue("DisplayName"),
                OrganisationId = organisation.OrganisationId
            });

            return(loggedOnUser);
        }
        private void PopulateAdditionalClaims(UserAccountStatus?userAccountStatus, DTO.Response.Application.User loggedOnUser, string emailAddress, TokenValidatedContext context, DTO.Response.Application.Organisation organisation)
        {
            if (context.Principal.Identity is ClaimsIdentity identity)
            {
                identity.AddOrReplaceClaimValue("Email", emailAddress);
                identity.AddClaim(new Claim("OrganisationName", organisation.OrganisationName));
                identity.AddClaim(new Claim("OrganisationId", organisation.OrganisationId.ToString()));
                identity.AddClaim(new Claim("ProviderODSCode", organisation.OrganisationName));
                if (userAccountStatus != null)
                {
                    identity.AddClaim(new Claim("UserAccountStatus", userAccountStatus.ToString()));
                }

                if (loggedOnUser != null)
                {
                    identity.AddClaim(new Claim("UserSessionId", loggedOnUser.UserSessionId.ToString()));
                    identity.AddClaim(new Claim("UserId", loggedOnUser.UserId.ToString()));
                    identity.AddClaim(new Claim("IsAdmin", loggedOnUser.IsAdmin.ToString()));
                    identity.AddClaim(new Claim("MultiSearchEnabled", loggedOnUser.MultiSearchEnabled.ToString()));
                    identity.AddClaim(new Claim("OrgTypeSearchEnabled", loggedOnUser.OrgTypeSearchEnabled.ToString()));
                }
            }
        }