public void Edit(ApplicationUser user)
        {
            var editUser = GetById(user.Id);

            if (editUser == null)
            {
                throw new ArgumentNullException("User");
            }

            editUser.DateOfBirth = user.DateOfBirth;
            editUser.FirstName   = user.FirstName;
            editUser.LastName    = user.LastName;
            editUser.PhoneNumber = user.PhoneNumber;
            if (editUser.ShipingAddress == null)
            {
                var shippingAddress = new ShipingAddress();
                shippingAddress.City        = user.ShipingAddress.City;
                shippingAddress.Country     = user.ShipingAddress.Country;
                shippingAddress.HouseNumber = user.ShipingAddress.HouseNumber;
                shippingAddress.PostCode    = user.ShipingAddress.PostCode;
                shippingAddress.Street      = user.ShipingAddress.Street;
                editUser.ShipingAddress     = shippingAddress;
            }
            else
            {
                editUser.ShipingAddress.City        = user.ShipingAddress.City;
                editUser.ShipingAddress.Country     = user.ShipingAddress.Country;
                editUser.ShipingAddress.HouseNumber = user.ShipingAddress.HouseNumber;
                editUser.ShipingAddress.PostCode    = user.ShipingAddress.PostCode;
                editUser.ShipingAddress.Street      = user.ShipingAddress.Street;
            }

            editUser.Interests = user.Interests;
            _dbContext.SaveChanges();
        }
        public async Task <ActionResult> EditProfile(EditProfileViewModels editProfile, HttpPostedFileBase upload)
        {
            if (ModelState.IsValid)
            {
                var user = _userRepository.GetById(User.Identity.GetUserId());
                if (upload != null)
                {
                    user.ImagePath = await _imageService.SaveImage(upload);
                }

                user.DateOfBirth = editProfile.DateOfBirth;
                user.FirstName   = editProfile.FirstName;
                user.LastName    = editProfile.LastName;
                user.PhoneNumber = editProfile.PhoneNumber;
                user.UserName    = editProfile.UserName;
                if (user.ShipingAddress == null)
                {
                    var shippingAddress = new ShipingAddress();
                    shippingAddress.City        = editProfile.City;
                    shippingAddress.Country     = editProfile.Country;
                    shippingAddress.HouseNumber = editProfile.HouseNumber;
                    shippingAddress.PostCode    = editProfile.PostCode;
                    shippingAddress.Street      = editProfile.Street;
                    user.ShipingAddress         = shippingAddress;
                }
                else
                {
                    user.ShipingAddress.City        = editProfile.City;
                    user.ShipingAddress.Country     = editProfile.Country;
                    user.ShipingAddress.HouseNumber = editProfile.HouseNumber;
                    user.ShipingAddress.PostCode    = editProfile.PostCode;
                    user.ShipingAddress.Street      = editProfile.Street;
                }

                _interestRepository.UpdateUserInterestsByIds(user, editProfile.InterestIds);

                _userRepository.Edit(user);
                ViewBag.Message = "Uživatelská data byla upravena";
            }

            return(RedirectToAction("UserProfile", new { userId = User.Identity.GetUserId() }));
        }