Ejemplo n.º 1
0
        public ServiceResponse <UserDetailsResponse> UpdateDetails(UpdateUserDetailsRequest userDetailsRequest)
        {
            using (DiaryContext db = new DiaryContext())
            {
                UserDetails userDetailsToUpdate = db.UserDetails.FirstOrDefault(x => x.Id == userDetailsRequest.UserId);

                if (userDetailsToUpdate == null)
                {
                    return(new ServiceResponse <UserDetailsResponse>(null, HttpStatusCode.NotFound, "There are not existing user details with given id!"));
                }

                userDetailsToUpdate = db.UserDetails.FirstOrDefault(x => x.Id == userDetailsRequest.UserId);
                if (userDetailsRequest.Age > 0)
                {
                    userDetailsToUpdate.Age = userDetailsRequest.Age;
                }
                if (userDetailsRequest.Height > 0)
                {
                    userDetailsToUpdate.Height = userDetailsRequest.Height;
                }
                if (userDetailsRequest.Weight > 0)
                {
                    userDetailsToUpdate.Weight = userDetailsRequest.Weight;
                }
                float[] results = CalculateBMIandBMR(userDetailsToUpdate.Weight, userDetailsToUpdate.Height, userDetailsToUpdate.Age);
                userDetailsToUpdate.BMI = results[0];
                userDetailsToUpdate.BMR = results[1];
                db.SaveChanges();
                return(new ServiceResponse <UserDetailsResponse>(new UserDetailsResponse(userDetailsToUpdate), HttpStatusCode.OK, "UserDetails added succesfully!"));
            }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Put(
            [FromRoute] string email,
            [FromBody] UpdateUserDetailsRequest request)
        {
            if (email == null)
            {
                throw new ArgumentNullException(nameof(email));
            }

            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            var user = await this.UserManager.FindByEmailAsync(email);

            if (user == null)
            {
                return(this.NotFound());
            }

            user.GivenName = request.GivenName;
            user.Surname   = request.Surname;

            await this.UserManager.UpdateAsync(user);

            return(this.Ok());
        }
Ejemplo n.º 3
0
        public IHttpActionResult UpdateDetails(UpdateUserDetailsRequest user)
        {
            if (user == null || !ModelState.IsValid)
            {
                return(ResponseMessage(CreateCustomResponseMessage(HttpStatusCode.BadRequest)));
            }
            var result = _userService.UpdateDetails(user);

            return(ResponseMessage(CreateCustomResponseMessage(result)));
        }