// GET: User
        public ActionResult EditProfile()
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(View("Error"));
            }
            var user      = _userRepository.GetById(User.Identity.GetUserId());
            var userModel = new EditProfileViewModels()
            {
                DateOfBirth = user.DateOfBirth,
                FirstName   = user.FirstName,
                LastName    = user.LastName,
                PhoneNumber = user.PhoneNumber,
                UserName    = user.UserName
            };

            userModel.AllInterests = GetInterestsAsItems(user);

            if (user.ShipingAddress != null)
            {
                userModel.City        = user.ShipingAddress.City;
                userModel.Country     = user.ShipingAddress.Country;
                userModel.HouseNumber = user.ShipingAddress.HouseNumber;
                userModel.PostCode    = user.ShipingAddress.PostCode;
                userModel.Street      = user.ShipingAddress.Street;
            }

            return(View("EditProfile", userModel));
        }
        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() }));
        }