public async Task <IActionResult> SetProfile([Bind("UserId,ProfilePicture,GivenName,FamilyName,CompanyName,SelectedTags")] AdvertiserProfileViewModel advertiserProfileViewModel) { if (ModelState.IsValid) { User user = _context.Users.Where(u => u.UserId == advertiserProfileViewModel.UserId).FirstOrDefault(); var profilePictureUri = new ProfilePictureController().Upload(advertiserProfileViewModel.ProfilePicture, DateTime.Now.ToFileTime() + "-" + advertiserProfileViewModel.GivenName + "-" + advertiserProfileViewModel.FamilyName + "-ProfilePicture"); Profile userProfile = new AdvertiserProfile { User = user, GivenName = advertiserProfileViewModel.GivenName, FamilyName = advertiserProfileViewModel.FamilyName, CompanyName = advertiserProfileViewModel.CompanyName, ProfilePicture = profilePictureUri.Result }; _context.Add(userProfile); await _context.SaveChangesAsync(); var selectedTags = _context.Tags.Where(t => advertiserProfileViewModel.SelectedTags.Contains(t.TagId.ToString())).ToList(); var advertiserTags = selectedTags.Select(st => new AdvertiserProfileTag { AdvertiserProfile = userProfile as AdvertiserProfile, Tag = st }).ToList(); _context.AddRange(advertiserTags.ToArray()); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(advertiserProfileViewModel)); }
public bool AddProfile(AdvertiserProfileViewModel viewModel) { bool result = false; try { // add advertiser profile document collectionName = CosmosCollections.AdvertiserProfile.ToString(); context.AddDocument <AdvertiserProfileDocument>(databaseName, collectionName, viewModel.profile); // add preference advertiser profile documents collectionName = CosmosCollections.AdvertiserProfilePreference.ToString(); foreach (var preference in viewModel.preferences) { context.AddDocument <AdvertiserPreferenceDocument>(databaseName, collectionName, preference); } // set result to true result = true; } catch (Exception e) { var messageException = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name); telemetria.Critical(messageException); } return(result); }
public JsonResult EditProfile(AdvertiserProfileViewModel model) { try { string userId = User.Identity.GetUserId(); SetProfile(model); manager.Update(model.profile, model.preferences); return(Json(new { success = true, message = "Profile updated sucessfull" })); } catch (Exception ex) { return(Json(new { error = "Error updating profile" })); } }
public ActionResult CreateProfile(AdvertiserProfileViewModel viewModel) { bool result = false; SetProfile(viewModel); result = manager.AddProfile(viewModel); if (result) { return(result ? Json(new { success = true, message = "Profile create sucessfull" }) : Json(new { error = "Error creating profile" })); } return(View(viewModel)); }
// GET: Advertiser Profile public new ActionResult Profile() { string userId = User.Identity.GetUserId(); AdvertiserProfileViewModel profile = manager.FindProfileByUserId(userId); List <AdvertiserPreferenceDocument> preferences = manager.FindPreferencesByProfileId(profile.profile.Id); ViewBag.Preferences = preferences; ApplicationUser appUser = _cosmosIdentityManager.FindUserByUserId(userId); ViewBag.Name = appUser.Name; ViewBag.Email = appUser.Email; return(View(profile)); }
// Get AdvertiserDashboard/SetProfile public IActionResult SetProfile() { if (HasSession()) { AdvertiserProfileViewModel advertiserProfileViewModel = new AdvertiserProfileViewModel(); advertiserProfileViewModel.Tags = _context.Tags .Select(t => new SelectListItem { Text = t.TypeName, Value = t.TagId.ToString() }) .ToList(); advertiserProfileViewModel.UserId = SessionExtensions.GetInt32(HttpContext.Session, "UserId").Value; return(View(advertiserProfileViewModel)); } else { return(GetLoginRedirect()); } }
private void SetProfile(AdvertiserProfileViewModel viewModel) { var advertiser = manager.FindProfileByUserId(User.Identity.GetUserId()); // create Id Guid profileId; if (advertiser == null) { profileId = Guid.NewGuid(); } else { profileId = Guid.Parse(advertiser.profile.Id); viewModel.profile.RegisterDate = advertiser.profile.RegisterDate; } // get images and urls List <Models.Core.FileUpload> images = GetFiles(); Dictionary <string, string> urls = GetUrls(images); //// check if Img is uploaded string value = string.Empty; urls.TryGetValue("fileupImg", out value); if (!string.IsNullOrEmpty(value)) { viewModel.profile.PhotoUrl = value; } else { if (advertiser != null) { viewModel.profile.PhotoUrl = advertiser.profile.PhotoUrl; } else { viewModel.profile.PhotoUrl = string.Empty; } } // check if icon is uploaded value = string.Empty; urls.TryGetValue("fileupIcon", out value); if (!string.IsNullOrEmpty(value)) { viewModel.profile.IconUrl = value; } else { if (advertiser != null) { viewModel.profile.IconUrl = advertiser.profile.IconUrl; } else { viewModel.profile.IconUrl = string.Empty; } } // add preferences viewModel.preferences = manager.GetPreferences(viewModel.preferencesStringify, profileId.ToString()); viewModel.profile.AdvertiserNeeds = Negocio.Utilerias.StringUtilities.RemoveNewLineInString(viewModel.profile.AdvertiserNeeds); // update Id viewModel.profile.Id = profileId.ToString(); viewModel.profile.UserId = User.Identity.GetUserId(); }
public ActionResult CreateProfile() { AdvertiserProfileViewModel vm = new AdvertiserProfileViewModel(); return(View(vm)); }