public async Task TenantSaveDataTest() { using var store = GetDocumentStore(); using var session = store.OpenAsyncSession(); var model = TenantData.GetSecond(); var persist = new TenantSave { Session = session, Model = model }; await persist.Execute(); persist.Confirm.Should().NotBeNull(); persist.Confirm.Identity.Should().Be(model.Id); persist.Confirm.Success.Should().BeTrue(); Assert.That(persist.Model, Is.DeepEqualTo(model)); }
public override async Task <IActionResult> Post([FromBody] TenantViewModel viewModel) { var name = string.Empty; if (!string.IsNullOrEmpty(viewModel.Id)) { var original = await Load(viewModel.Id); name = original.Name; } var model = await Parse(viewModel); if (AuthoriseWrite(model)) { if (string.IsNullOrEmpty(model.Id)) { model.AuthorId = CurrentUser.Id; model.AuthorName = CurrentUser.Name; model.EntryKey = StringHelper.GenerateCode(10).ToLower(); } var image = new CheckProfileImage { Model = model }; await LogicHandler.Execute(image); var persist = new TenantSave { Model = model, Original = name }; await DataHandler.Execute(persist); if (persist.Confirm.Success) { await DataHandler.Commit(); } return(Ok(ConfirmViewModel.CreateFromConfirm(persist.Confirm))); } return(Unauthorized()); }