public async Task <ActionResult> AddSet([Bind("Set,TokGroupDataString, Base64Image")] AddSetViewModel viewModel) { if (ModelState.IsValid) { var groups = JsonConvert.DeserializeObject <List <TokTypeList> >(viewModel.TokGroupDataString); var selectedGroup = groups.Find(x => x.TokGroup == viewModel.Set.TokGroup); var user = await _userManager.GetUserAsync(User); //User data viewModel.Set.UserDisplayName = user.UserName; viewModel.Set.UserId = user.Id; //Image Uploading will be done in the same function viewModel.Set.Image = viewModel.Base64Image; //!string.IsNullOrEmpty(viewModel.Base64Image) ? await apiClient.UploadImageAsync(viewModel.Base64Image) : ""; viewModel.Set.TokTypeId = $"toktype-{viewModel.Set.TokGroup.ToIdFormat()}-{viewModel.Set.TokType.ToIdFormat()}"; await _setService.CreateSetAsync(viewModel.Set); } return(RedirectToAction("MySets")); }