Exemple #1
0
        private void materialFlatButton6_Click(object sender, EventArgs e)
        {
            UserControl         t   = new UserControl();
            MaterialColorPicker mcp = new MaterialColorPicker();

            t.Size = mcp.Size;
            t.Controls.Add(mcp);
            MaterialDialog.Show("Pick a Color", t, MaterialDialog.Buttons.OK);
        }
Exemple #2
0
        public ProfilePictureModel(XenialIdentityUser user)
        {
            if (user == null)
            {
                return;
            }

            ImageUri = CreateImageUri(user);
            if (string.IsNullOrEmpty(ImageUri))
            {
                BackColor = user.Color;
                ForeColor = MaterialColorPicker.ColorIsLight(user.Color) ? "var(--xenial-darker-color)" : "var(--xenial-lighter-color)";
            }
            Inititals = user.Initials;
        }
        public async Task OnPost()
        {
            var user = await userManager.GetUserAsync(User);

            if (user == null)
            {
                logger.LogWarning("No user found {User}", User);
                return;
            }
            if (ModelState.IsValid)
            {
                var mapper = mapperConfiguration.CreateMapper();
                user           = mapper.Map(Input, user);
                user.UpdatedAt = DateTime.Now;

                await userManager.SetOrUpdateClaimAsync(user, new Claim("name", user.FullName ?? string.Empty));

                await userManager.SetOrUpdateClaimAsync(user, new Claim("family_name", user.LastName ?? string.Empty));

                await userManager.SetOrUpdateClaimAsync(user, new Claim("given_name", user.FirstName ?? string.Empty));

                //await SetOrUpdateClaimAsync(user, new Claim("website", user.Website ?? string.Empty));
                //await SetOrUpdateClaimAsync(user, new Claim("profile", absProfileUrl));

                //TODO: Map if needed
                //await SetOrUpdateClaimAsync(user, new Claim("gender", user.Gender ?? string.Empty));
                //await SetOrUpdateClaimAsync(user, new Claim("birthdate", user.Birthdate?.ToString("YYYY-MM-DD") ?? string.Empty));
                //await SetOrUpdateClaimAsync(user, new Claim("zoneinfo", user.Zoneinfo ?? string.Empty));
                //await SetOrUpdateClaimAsync(user, new Claim("locale", user.Locale ?? string.Empty));
                await userManager.SetOrUpdateClaimAsync(user, new Claim("updated_at", ConvertToUnixTimestamp(user.UpdatedAt)?.ToString() ?? string.Empty));

                await userManager.SetOrUpdateClaimAsync(user, new Claim("xenial_backcolor", user.Color ?? string.Empty));

                await userManager.SetOrUpdateClaimAsync(user, new Claim("xenial_forecolor", (MaterialColorPicker.ColorIsDark(user.Color) ? "#FFFFFF" : "#000000") ?? string.Empty));

                await userManager.SetOrUpdateClaimAsync(user, new Claim("xenial_initials", user.Initials ?? string.Empty));

                var streetAddress = string.Join(" ", new[] { user.AddressStreetAddress1, user.AddressStreetAddress2 }.Where(s => !string.IsNullOrWhiteSpace(s)));
                var postalAddress = string.Join(" ", new[] { user.AddressPostalCode, user.AddressLocality }.Where(s => !string.IsNullOrWhiteSpace(s)));

                await userManager.SetOrUpdateClaimAsync(user, new Claim("address", JsonConvert.SerializeObject(new
                {
                    formatted = string.Join(Environment.NewLine, new[] { streetAddress, postalAddress, user.AddressRegion, user.AddressCountry }.Where(s => !string.IsNullOrWhiteSpace(s))) ?? string.Empty,
                    street_address = streetAddress ?? string.Empty,
                    locality = user.AddressLocality ?? string.Empty,
                    region = user.AddressRegion ?? string.Empty,
                    postal_code = user.AddressPostalCode ?? string.Empty,
                    country = user.AddressCountry ?? string.Empty,
                }, Formatting.Indented)));

                var result = await userManager.UpdateAsync(user);

                if (!result.Succeeded)
                {
                    StatusMessage = "Error updating user";
                    ModelState.AddModelError("User", "Error updating user");
                }
                else
                {
                    StatusMessage = "Profile was updated successfully.";
                    await signInManager.RefreshSignInAsync(user);
                }
            }
            else
            {
                StatusMessage = "Error: Validation failed. Please check your inputs.";
            }
        }