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() }));
        }