コード例 #1
0
        // Do a PUT request to update the clients healthworker
        private async Task choose_healthworker(object sender, EventArgs e)
        {
            AddHealthworkerToUserViewModel addHealthworkerModel = new AddHealthworkerToUserViewModel {
                HealthWorker_Id = healthworkers[currentHealthworker].Id
            };

            // Do a PUT request.
            string content  = JsonConvert.SerializeObject(addHealthworkerModel);
            string response = await apiRequestHelper.PutRequest(Constants.addHealthworkerToClientUrl + "/" + App.Current.Properties["email"], content);

            if (response != null)
            {
                DisplayAlert("Succesfull", healthworkers[currentHealthworker].Firstname + " is your new healthworker.", "Okay");
                App.Current.Properties["healthworker_id"] = healthworkers[currentHealthworker].Id;
                Navigation.PushAsync(new HealthworkerPage());
            }
            else
            {
                // Display an error.
                DisplayAlert("Error", "Sorry, something went wrong. Please try again later.", "Okay");
            }
        }
コード例 #2
0
        public async Task <IActionResult> PutHealthWorkerClientUserByEmail([FromRoute] string email, [FromBody] AddHealthworkerToUserViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var dbUser = _context.Client.AsNoTracking().SingleOrDefault(x => x.Email == email);

            ClientUser user = new ClientUser
            {
                Email             = dbUser.Email,
                StreetName        = dbUser.StreetName,
                HouseNumber       = dbUser.HouseNumber,
                Province          = dbUser.Province,
                District          = dbUser.District,
                PasswordHash      = dbUser.PasswordHash,
                AccessFailedCount = dbUser.AccessFailedCount,
                BirthDay          = dbUser.BirthDay,
                ConcurrencyStamp  = dbUser.ConcurrencyStamp,
                EmailConfirmed    = dbUser.EmailConfirmed,
                FirstName         = dbUser.FirstName,
                Gender            = dbUser.Gender,
                HealthWorker_Id   = vm.HealthWorker_Id,
                Id                   = dbUser.Id,
                LastName             = dbUser.LastName,
                LockoutEnabled       = dbUser.LockoutEnabled,
                LockoutEnd           = dbUser.LockoutEnd,
                NormalizedEmail      = dbUser.NormalizedEmail,
                NormalizedUserName   = dbUser.NormalizedUserName,
                PhoneNumber          = dbUser.PhoneNumber,
                PhoneNumberConfirmed = dbUser.PhoneNumberConfirmed,
                SecurityStamp        = dbUser.SecurityStamp,
                TwoFactorEnabled     = dbUser.TwoFactorEnabled,
                UserName             = dbUser.UserName,
            };

            _context.Entry(user).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ClientUserExists(email))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }