public async Task <ActionResult> UploadPhoto(HttpPostedFileBase File)
        {
            int idUser = Convert.ToInt32(Session[SessionEnum.USER_ID]);

            try
            {
                string fileName = UserProfilePictureManager.Upload(File, idUser);
                if (fileName != null)
                {
                    User user = await userService.GetById(idUser);

                    user.PhotoUrl = fileName;
                    int result = await userService.Edit(user);

                    ListAlert.Add(new AlertMessage("success", "Upload file sukses"));
                    TempData["ListAlert"] = ListAlert;
                    return(Redirect("Detail/" + idUser));
                }
                throw new Exception("File not found");
            }
            catch (Exception e)
            {
                ListAlert.Add(new AlertMessage("error", e.Message));
                TempData["ListAlert"] = ListAlert;
            }
            return(Redirect("Detail/" + idUser));
        }
        public async Task <ActionResult> Detail(int id = 0)
        {
            id = (id == 0) ? Convert.ToInt32(Session[SessionEnum.USER_ID]) : id;
            User user = await userService.GetById(id);

            string path = UserProfilePictureManager.GetProfilePictureOrDefaultIfFileNameIsNull(user.PhotoUrl);

            return(View(new DetailViewModel
            {
                IdUser = user.IdUser,
                Name = user.Name,
                Username = user.Username,
                PhotoUrl = path
            }));
        }