public ActionResult GoBack() { AudienceViewModel viewModel = GetViewModelFromSession(); // select preview stage if (viewModel.stage == "preferences") { viewModel.stage = "basic"; } if (viewModel.stage == "images") { viewModel.stage = "preferences"; } HoldViewModel(viewModel); return(View("CreateAudience", viewModel)); }
public ActionResult CreateAudiencePreference(AudienceViewModel viewModel) { // todo AudienceViewModel viewModelStored = GetViewModelFromSession(); // update viewModelStored.audience.HowManyAdvertisers = viewModel.audience.HowManyAdvertisers; viewModelStored.audience.Visibility = viewModel.audience.Visibility; viewModelStored.preferencesStringify = viewModel.preferencesStringify; // add preferences manager.AddPreferences(viewModelStored, viewModelStored.audience.Id); // set stage viewModelStored.stage = "images"; HoldViewModel(viewModelStored); return(View("CreateAudience", viewModelStored)); }
public ActionResult EditAudience(string audienceId) { AudienceViewModel viewModel = new AudienceViewModel(); List <AudiencePreferenceDocument> audiencePreferences = new List <AudiencePreferenceDocument>(); ViewBag.audiencePreferences = manager.GetPreferencesByAudienceId(audienceId); //manager.EnqueueAudienceChange(new AudienceChangeNotification { // idAudience = audienceId, // ChangeType = TypeAudienceChange., //}); var publisherProfileDocument = _publisherProfileManager.FindProfileDocByUserId(User.Identity.GetUserId()); viewModel.audience = manager.GetAudienceById(audienceId); viewModel.audience.WebSiteUrl = viewModel.audience.WebSiteUrl.Replace("https://", "").Replace("http://", ""); string Id = User.Identity.GetUserId(); ViewBag.ImageSrcPreview = publisherProfileDocument.IconUrl; ViewBag.descriptionPreview = publisherProfileDocument.Description; return(View(viewModel)); }
public ActionResult CreateAudienceBasic(AudienceViewModel viewModel) { var publisherProfileDocument = _publisherProfileManager.FindProfileDocByUserId(User.Identity.GetUserId()); if (manager.IsAudienceDuplicated(publisherProfileDocument.Id, viewModel.audience.WebSiteUrl)) { viewModel.stage = "basic"; ViewBag.error = "SiteDuplicated"; return(View("CreateAudience", viewModel)); } string id = string.Empty; string userId = User.Identity.GetUserId(); var publisher = manager.GetPublisherProfile(userId); viewModel.audience.PublisherId = publisher.Id; viewModel.audience.Description = Negocio.Utilerias.StringUtilities.RemoveNewLineInString(viewModel.audience.Description); GetAndSetIconUrl(viewModel); var protocol = viewModel.audience.UrlProtocol == "1" ? "https://" : "http://"; viewModel.audience.WebSiteUrl = string.Format("{0}{1}", protocol, viewModel.audience.WebSiteUrl.Replace("www.", "").Replace("http://", "").Replace("https://", "")); id = manager.AddAudience(viewModel); // validation if (id != string.Empty) { viewModel.audience.Id = id; viewModel.stage = "preferences"; } else { viewModel.stage = "error"; } HoldViewModel(viewModel); viewModel.audience.Visibility = true; return(View("CreateAudience", viewModel)); }
private void GetAndSetImageUrl(AudienceViewModel viewModel, List <Models.Core.FileUpload> images = null) { // create Id Guid profileId = Guid.NewGuid(); // get images and urls if (images == null) { images = GetFilesFromCurrentRequest(); } Dictionary <string, string> urls = GetUrls(images); // check if Img is uploaded string value = string.Empty; urls.TryGetValue("fileupImg", out value); if (value != string.Empty) { viewModel.audience.ImageUrl = value; } }
public void AddPreferences(AudienceViewModel viewModel, string Id) { try { //todo collectionName = CosmosCollections.AudiencePreference.ToString(); List <AudiencePreferenceDocument> preferences = GetPreferences(viewModel.preferencesStringify, Id); viewModel.preferences = preferences; foreach (var preference in preferences) { context.AddDocument <AudiencePreferenceDocument>(databaseName, collectionName, preference); } // updte audience collectionName = CosmosCollections.Audience.ToString(); context.AddDocument <AudienceDocument>(databaseName, collectionName, viewModel.audience); } catch (Exception e) { var messageException = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name); telemetria.Critical(messageException); } }
private AudienceViewModel GetViewModelFromSession() { AudienceViewModel viewModel = (AudienceViewModel)Session[sessionKey]; return(viewModel); }
public ActionResult EditAudience(AudienceViewModel viewModel) { string userId = User.Identity.GetUserId(); try { var protocol = viewModel.audience.UrlProtocol == "1" ? "https://" : "http://"; viewModel.audience.WebSiteUrl = string.Format("{0}{1}", protocol, viewModel.audience.WebSiteUrl.Replace("www.", "").Replace("https://", "").Replace("http://", "")); //Subimos imagen de icono en caso de que sea una nueva y la seteamos al VM bool newIconImage = true; newIconImage = string.IsNullOrEmpty(viewModel.audience.IconUrl); List <Models.Core.FileUpload> images = null; if (newIconImage) { images = GetAndSetIconUrl(viewModel); } //Submis imagen en de que sea nueva y la seteamos al VM bool newImgImage = true; newImgImage = string.IsNullOrEmpty(viewModel.audience.ImageUrl); if (newImgImage) { GetAndSetImageUrl(viewModel, images); } viewModel.audience.Description = Negocio.Utilerias.StringUtilities.RemoveNewLineInString(viewModel.audience.Description); //Seteamos campos basicos AudienceDocument audienceCandidate = manager.GetAudienceById(viewModel.audience.Id); string imgUrl = newImgImage ? viewModel.audience.ImageUrl : audienceCandidate.ImageUrl; bool changeImage = imgUrl != audienceCandidate.ImageUrl; bool changeDescription = audienceCandidate.Description != viewModel.audience.Description; bool changeVisibility = (audienceCandidate.Visibility != viewModel.audience.Visibility) && !viewModel.audience.Visibility; audienceCandidate.Title = viewModel.audience.Title; audienceCandidate.Tagline = viewModel.audience.Tagline; audienceCandidate.UrlProtocol = viewModel.audience.UrlProtocol; audienceCandidate.Description = viewModel.audience.Description; audienceCandidate.WebSiteUrl = viewModel.audience.WebSiteUrl; audienceCandidate.IconUrl = newIconImage ? viewModel.audience.IconUrl : audienceCandidate.IconUrl; audienceCandidate.ImageUrl = imgUrl; audienceCandidate.HowManyAdvertisers = viewModel.audience.HowManyAdvertisers; audienceCandidate.PeopleInYourBusiness = viewModel.audience.PeopleInYourBusiness; audienceCandidate.CountryBusinessInId = viewModel.audience.CountryBusinessInId; audienceCandidate.YearFounded = viewModel.audience.YearFounded; audienceCandidate.Visibility = viewModel.audience.Visibility; audienceCandidate.CategoryId = viewModel.audience.CategoryId; audienceCandidate.SubCategoryId = viewModel.audience.SubCategoryId; //Persistimos audience candidate and preferences AudienceDocument audience = manager.UpdateAudience(audienceCandidate, viewModel.preferencesStringify); //viewModel.audience = audience; if (changeDescription) { manager.EnqueueAudienceChange(new AudienceChangeNotification { ChangeType = TypeAudienceChange.ChangeDescription, idAudience = viewModel.audience.Id, Description = audienceCandidate.Description }); } if (changeImage) { manager.EnqueueAudienceChange(new AudienceChangeNotification { ChangeType = TypeAudienceChange.ChangeImage, idAudience = viewModel.audience.Id, ImageUrl = imgUrl }); } if (changeVisibility) { manager.EnqueueAudienceChange(new AudienceChangeNotification { ChangeType = TypeAudienceChange.DisableVisibility, idAudience = viewModel.audience.Id }); } return(Json(new { success = true, message = "Audience edited successfully", audienceId = viewModel.audience.Id })); } catch (Exception ex) { return(Json(new { error = "Error editing Audience" })); } }
public DownloadController(ITokenBuilder tokenBuilder, IAuthorizeService authorizeService, IOptionsMonitor <AudienceViewModel> audienceModel) { _tokenBuilder = tokenBuilder; _authorizeService = authorizeService; _audienceModel = audienceModel.CurrentValue; }
public Task <string> UpdateAudience(AudienceViewModel audienceDtls) { throw new NotImplementedException(); }