public async Task <ServiceResult <IdentityUser> > UpdateIdentityUserAsync(UpsertUserModel model)
        {
            var serviceResult = new ServiceResult <IdentityUser>();

            var identityUser = await _userManger.FindByEmailAsync(model.Email);

            if (identityUser == null)
            {
                serviceResult.AddError("No identity user found.");
            }
            else
            {
                identityUser.Email    = model.Email;
                identityUser.UserName = model.Username ?? model.Email;

                var updateResult = await _userManger.UpdateAsync(identityUser);

                if (updateResult.Succeeded == false)
                {
                    foreach (var err in updateResult.Errors)
                    {
                        serviceResult.AddError(err.Description);
                    }
                }
                else
                {
                    serviceResult.ResultObj = identityUser;
                }
            }

            return(serviceResult);
        }
        public async Task <ServiceResult <IdentityUser> > CreateIdentityUserAsync(UpsertUserModel model)
        {
            var serviceResult = new ServiceResult <IdentityUser>();

            var identityUser = new IdentityUser();

            identityUser.Email    = model.Email;
            identityUser.UserName = model.Username ?? model.Email;

            var result = await _userManger.CreateAsync(identityUser, model.Password);

            if (result.Succeeded == false)
            {
                foreach (var err in result.Errors)
                {
                    serviceResult.AddError(err.Description);
                }
            }
            else
            {
                serviceResult.ResultObj = identityUser;
            }

            return(serviceResult);
        }