public async Task <IActionResult> Index() { Guid?userId = CheckSession(); if (userId == null) { return(new RedirectToActionResult("Login", "Account", null)); } string uri = $"{baseuri}/users/{userId}"; User user = await WebApiHelper.GetApiResult <User>(uri); List <User> friends = await GetFriends(user); ProfileIndexVM vm = new ProfileIndexVM() { me = user, //Volgende properties moeten apart meegegeven worden voor jquery validatie UserName = user.UserName, FirstName = user.FirstName, LastName = user.LastName, FavoritePokemon = user.FavoritePokemon, FavoritePokemonGame = user.FavoritePokemonGame, Friends = friends }; return(View(vm)); }
public bool Validate(ProfileIndexVM userdata) { if (userdata.ProfilePicture == null && userdata.UploadedCoverImage == null) { return(false); } if (userdata.CoverPicture == null && userdata.UploadedProfileImage == null) { return(false); } return(true); }
public async Task <IActionResult> Change(ProfileIndexVM userdata) { Guid?userId = CheckSession(); if (userId == null) { return(new RedirectToActionResult("Login", "Account", null)); } string uri = $"{baseuri}/users/{userId}"; User user = await WebApiHelper.GetApiResult <User>(uri); string responseFileName = ""; ImageUploadData imageUploadData = GetImageUploadData(userdata); if (imageUploadData == null) { return(new RedirectToActionResult("Index", "Profile", null)); } using (HttpClient httpClient = new HttpClient()) { HttpContent fileStreamContent = new StreamContent(imageUploadData.Image); fileStreamContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "file", FileName = imageUploadData.FileName }; fileStreamContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); var formData = new MultipartFormDataContent { fileStreamContent }; HttpResponseMessage response = await httpClient.PostAsync(imageUploadData.Uri, formData); responseFileName = await response.Content.ReadAsStringAsync(); } if (responseFileName != "") { if (userdata.ProfilePicture == null) { user.CoverPicture = responseFileName; } else { user.ProfilePicture = responseFileName; } uri = $"{baseuri}/users/update"; User updatedProfile = await WebApiHelper.PutCallAPI <User, User>(uri, user); } return(new RedirectToActionResult("Index", "Profile", null)); }
public ImageUploadData GetImageUploadData(ProfileIndexVM userdata) { ImageUploadData imageUploadData = new ImageUploadData(); if (userdata.ProfilePicture == null && userdata.UploadedCoverImage == null) { return(null); //kan gebeuren als de user de html wijzigt } if (userdata.CoverPicture == null && userdata.UploadedProfileImage == null) { return(null); //kan gebeuren als de user de html wijzigt } if (userdata.ProfilePicture != null && !userdata.UploadedProfileImage.ContentType.Contains("image")) { return(null); } if (userdata.CoverPicture != null && !userdata.UploadedCoverImage.ContentType.Contains("image")) { return(null); } if (userdata.ProfilePicture != null && userdata.UploadedProfileImage.Length > 3145728) { return(null); //3 MB } if (userdata.CoverPicture != null && userdata.UploadedCoverImage.Length > 3145728) { return(null); //3 MB } if (userdata.ProfilePicture == null) { imageUploadData.Uri = $"{baseuri}/users/CoverPicture"; imageUploadData.FileName = userdata.UploadedCoverImage.FileName; imageUploadData.Image = userdata.UploadedCoverImage.OpenReadStream(); } else { imageUploadData.Uri = $"{baseuri}/users/ProfilePicture"; imageUploadData.FileName = userdata.UploadedProfileImage.FileName; imageUploadData.Image = userdata.UploadedProfileImage.OpenReadStream(); } return(imageUploadData); }