public async Task <IActionResult> EditAsync(EditExamCommand command) { if (!User.IsInRole(Roles.Distributor)) { command.Shared = false; } await _commandProcessor.SendAsync(command); return(Ok()); }
public async Task WhenNotExistingValuesPosted_Then_ShouldEdit() { using (var testServer = await CreateWithUserAsync()) { var client = testServer.CreateClient(); var command = await CreateExamAsync(client); var exams = await GetExamListAsync(client); var id = exams.First(e => e.Name == command.Name).Id; var examType = await GetRandomExamTypeAsync(client); var editCommand = new EditExamCommand( Guid.NewGuid(), id, Random.RandomString(100), DateTime.Today.AddDays(10), examType.Id, Random.Next(4), examType.OpticalFormTypes.Random().Code, Random.Next(1) + 1, Random.Next(9) + 1, Random.Next(3) + 1, null, Random.RandomString(300)); var response = await client.PutAsync(ApiPath, editCommand.ToJsonContent()); response.EnsureSuccessStatusCode(); exams = await GetExamListAsync(client); exams.Should().Contain(e => e.Name == editCommand.NewName && e.ExamDate == editCommand.NewExamDate && e.ExamTypeId == editCommand.NewExamTypeId && e.IncorrectEliminationRate == editCommand.NewIncorrectEliminationRate && e.ApplicableFormTypeCode == editCommand.NewApplicableFormTypeCode && e.ExamBookletTypeId == editCommand.NewExamBookletTypeId && e.LessonId == editCommand.NewLessonId && e.Notes == editCommand.NewNotes); exams.Should().NotContain(e => e.Name == command.Name); var @event = Consumer.Instance.GetFirst <IExamUpdated>(); @event.ExamId.Should().Be(editCommand.ExamId); } }
public async Task <IActionResult> EditAsync([FromBody, Required] EditExamCommand command) { await _commandProcessor.SendAsync(command); return(Ok()); }
public Task <IActionResult> Edit(long examId, EditExamRequest request) { return(NoContentOrUnprocessableEntityOrNotFound( EditExamCommand.Create(examId, request, _examExistenceValidator), DomainErrors.AggregateNotFound)); }
public async Task <IActionResult> Put(Guid id, [FromBody] EditExamCommand command) => await DispatchCommandAsync(command, id);