public override bool Close() { ProfileEditorViewModel viewModel = (ProfileEditorViewModel)ViewModel; //if (viewModel.KeepDirty()) return false; //viewModel.ResetChanges(); return(base.Close()); }
public async Task <IActionResult> ProfileEditor(string twitchUsername) { if (twitchUsername != twitchUsername.ToLower()) { return(RedirectToAction("ProfileEditor", new { twitchUsername = twitchUsername.ToLower() })); } await _mediator.Send(new CreateProfileIfNotExists(twitchUsername)); var twitcherProfile = await _mediator.Send(new GetProfile(twitchUsername)); var model = new ProfileEditorViewModel(); model.Map(twitcherProfile, twitchUsername); return(View("ProfileEditor", model)); }
public async Task <IActionResult> ProfileEditorPost([FromRoute] string twitchUsername, [FromForm] ProfileEditorViewModel form) { form.Validate(ModelState); if (!ModelState.IsValid) { return(View("ProfileEditor", form)); } var request = new UpdateProfile(); request.TwitchUsername = twitchUsername; request.ShoutMessage = form.ShoutMessage; request.FanfareEnabled = form.FanfareEnabled; request.FanfareMessage = form.FanfareMessage; request.FanfareTimeout = form.FanfareTimeout; request.FanfareYouTubeCode = form.FanfareYouTubeCode; request.FanfareYouTubeEndTime = form.FanfareYouTubeEndTime; request.FanfareYouTubeStartTime = form.FanfareYouTubeStartTime; await _mediator.Send(request); return(Redirect("/profile/" + twitchUsername)); }
public ProfileEditorView(ProfileEditorViewModel viewModel) { InitializeComponent(); this.DataContext = viewModel; this.Loaded += View_Loaded; }