/// <summary> /// Called when the edit command is executed. /// </summary> /// <param name="task">The task.</param> private void OnEditCommandExecuted(Task task) { if (EditTaskCommand.CanExecute(task)) { string uriString = "/Views/EditTaskView.xaml?TaskIndex=" + _tasks.IndexOf(task); NavigateTo(uriString); } }
private void NotifyCanExecuteCommands() { if (EditTaskCommand == null || DeleteTaskCommand == null) { return; } EditTaskCommand.NotifyCanExecuteChanged(); DeleteTaskCommand.NotifyCanExecuteChanged(); }
public void Execute_Returns_Edited_Task() { // Setup InitializeTestEntities(); // Act Task result = new EditTaskCommand(_serviceFactory.Object).Execute(new EditTaskCommandParams()); // Verify Assert.IsNotNull(result, "No task was created in the database"); Assert.AreEqual(_unitOfWork.Tasks.Fetch().Single(), result, "The returned task did not match the one in the database"); }
public void Establish() { _taskToBeEdited = new Task("My Task", "My Task Description", DateTime.Now); _tasksDAO = new Tasks.Adapters.DataAccess.TasksDAO(); _tasksDAO.Clear(); _taskToBeEdited = _tasksDAO.Add(_taskToBeEdited); _cmd = new EditTaskCommand(_taskToBeEdited.Id, NEW_TASK_NAME, NEW_TASK_DESCRIPTION, _NEW_TIME); s_commandProcessor = A.Fake <IAmACommandProcessor>(); _handler = new EditTaskCommandHandler(_tasksDAO, s_commandProcessor); }
public async Task CreateNewTaskSuccessfully() { var @event = new Event { Id = 1, IsLimitVolunteers = true, IsAllowWaitList = false }; var organization = new Organization { Id = 2 }; var message = new EditTaskCommand { Task = new EditViewModel { Name = "TaskName", Description = "TaskDescription", EventId = @event.Id, OrganizationId = organization.Id, TimeZoneId = "Central Standard Time", NumberOfVolunteersRequired = 5, RequiredSkills = new List <TaskSkill> { new TaskSkill { SkillId = 3, Skill = new Skill { Id = 3, Name = "SkillName", Description = "SkillDescription" } } } } }; Context.Database.EnsureDeleted(); Context.Events.Add(@event); Context.Organizations.Add(organization); Context.SaveChanges(); var sut = new EditTaskCommandHandler(Context); var taskId = await sut.Handle(message); var result = Context.Tasks.Single(x => x.Id == taskId); Assert.True(taskId > 0); Assert.Equal(result.Name, message.Task.Name); Assert.Equal(result.Description, message.Task.Description); Assert.Equal(result.Event, @event); Assert.Equal(result.Organization, organization); Assert.Equal(result.NumberOfVolunteersRequired, message.Task.NumberOfVolunteersRequired); Assert.Equal(result.IsLimitVolunteers, @event.IsLimitVolunteers); Assert.Equal(result.IsAllowWaitList, @event.IsAllowWaitList); Assert.Equal(result.RequiredSkills, message.Task.RequiredSkills); }
public async Task <ActionResult> EditTask([CustomizeValidator(Interceptor = typeof(API.Middleware.ValidatorInterceptor))] DelegatedTaskViewModel task) { var taskDetailsQuery = new TaskDetailsQuery(task.Id); var taskQuery = await Mediator.Send(taskDetailsQuery); if (taskQuery == null) { return(BadRequest("Task not found")); } var editTaskCommand = new EditTaskCommand(taskQuery, task.Type, task.Deadline, task.Notes); await Mediator.Send(editTaskCommand); return(NoContent()); }
public async Task CreateNewTaskSuccessfully() { var @event = new Event { Id = 1, IsLimitVolunteers = true, IsAllowWaitList = false }; var organization = new Organization { Id = 2 }; var message = new EditTaskCommand { Task = new EditViewModel { Name = "TaskName", Description = "TaskDescription", EventId = @event.Id, OrganizationId = organization.Id, TimeZoneId = "Central Standard Time", NumberOfVolunteersRequired = 5, RequiredSkills = new List<TaskSkill> { new TaskSkill { SkillId = 3, Skill = new Skill { Id = 3, Name = "SkillName", Description = "SkillDescription" } } } } }; Context.Database.EnsureDeleted(); Context.Events.Add(@event); Context.Organizations.Add(organization); Context.SaveChanges(); var sut = new EditTaskCommandHandler(Context); var taskId = await sut.Handle(message); var result = Context.Tasks.Single(x => x.Id == taskId); Assert.True(taskId > 0); Assert.Equal(result.Name, message.Task.Name); Assert.Equal(result.Description, message.Task.Description); Assert.Equal(result.Event, @event); Assert.Equal(result.Organization, organization); Assert.Equal(result.NumberOfVolunteersRequired, message.Task.NumberOfVolunteersRequired); Assert.Equal(result.IsLimitVolunteers, @event.IsLimitVolunteers); Assert.Equal(result.IsAllowWaitList, @event.IsAllowWaitList); Assert.Equal(result.RequiredSkills, message.Task.RequiredSkills); }
public async Task UpdateExistingTaskSuccessfully() { var @event = new Event { Id = 3 }; var organization = new Organization { Id = 4 }; var @task = new AllReadyTask { Id = 2, Name = "TaskName", Description = "TaskDescription", Event = @event, Organization = organization, NumberOfVolunteersRequired = 5, RequiredSkills = new List <TaskSkill> { new TaskSkill { SkillId = 5, Skill = new Skill { Id = 5, Name = "SkillName", Description = "SkillDescription" } } } }; Context.Database.EnsureDeleted(); Context.Events.Add(@event); Context.Organizations.Add(organization); Context.Tasks.Add(@task); Context.SaveChanges(); var message = new EditTaskCommand { Task = new EditViewModel { Id = @task.Id, Name = "TaskNameUpdated", Description = "TaskDescriptionUpdated", EventId = @event.Id, OrganizationId = organization.Id, TimeZoneId = "Central Standard Time", StartDateTime = DateTimeOffset.Now.AddDays(1), EndDateTime = DateTimeOffset.Now.AddDays(2), NumberOfVolunteersRequired = 6, RequiredSkills = new List <TaskSkill> { new TaskSkill { SkillId = 6, Skill = new Skill { Id = 6, Name = "SkillNameOnMessage", Description = "SkillDescriptionOnMessage" } } } } }; var sut = new EditTaskCommandHandler(Context); var taskId = await sut.Handle(message); var result = Context.Tasks.Single(x => x.Id == taskId); //can't test start and end date as they're tied to static classes Assert.Equal(taskId, message.Task.Id); Assert.Equal(result.Name, message.Task.Name); Assert.Equal(result.Description, message.Task.Description); Assert.Equal(result.Event, @event); Assert.Equal(result.Organization, organization); Assert.Equal(result.NumberOfVolunteersRequired, message.Task.NumberOfVolunteersRequired); Assert.Equal(result.IsLimitVolunteers, @event.IsLimitVolunteers); Assert.Equal(result.IsAllowWaitList, @event.IsAllowWaitList); Assert.Equal(result.RequiredSkills, message.Task.RequiredSkills); }
public async Task UpdateExistingTaskSuccessfully() { var @event = new Event { Id = 3 }; var organization = new Organization { Id = 4 }; var @task = new AllReadyTask { Id = 2, Name = "TaskName", Description = "TaskDescription", Event = @event, Organization = organization, NumberOfVolunteersRequired = 5, RequiredSkills = new List<TaskSkill> { new TaskSkill { SkillId = 5, Skill = new Skill { Id = 5, Name = "SkillName", Description = "SkillDescription" } } } }; Context.Database.EnsureDeleted(); Context.Events.Add(@event); Context.Organizations.Add(organization); Context.Tasks.Add(@task); Context.SaveChanges(); var message = new EditTaskCommand { Task = new EditViewModel { Id = @task.Id, Name = "TaskNameUpdated", Description = "TaskDescriptionUpdated", EventId = @event.Id, OrganizationId = organization.Id, TimeZoneId = "Central Standard Time", StartDateTime = DateTimeOffset.Now.AddDays(1), EndDateTime = DateTimeOffset.Now.AddDays(2), NumberOfVolunteersRequired = 6, RequiredSkills = new List<TaskSkill> { new TaskSkill { SkillId = 6, Skill = new Skill { Id = 6, Name = "SkillNameOnMessage", Description = "SkillDescriptionOnMessage" } } } } }; var sut = new EditTaskCommandHandler(Context); var taskId = await sut.Handle(message); var result = Context.Tasks.Single(x => x.Id == taskId); //can't test start and end date as they're tied to static classes Assert.Equal(taskId, message.Task.Id); Assert.Equal(result.Name, message.Task.Name); Assert.Equal(result.Description, message.Task.Description); Assert.Equal(result.Event, @event); Assert.Equal(result.Organization, organization); Assert.Equal(result.NumberOfVolunteersRequired, message.Task.NumberOfVolunteersRequired); Assert.Equal(result.IsLimitVolunteers, @event.IsLimitVolunteers); Assert.Equal(result.IsAllowWaitList, @event.IsAllowWaitList); Assert.Equal(result.RequiredSkills, message.Task.RequiredSkills); }
public async Task <IActionResult> Update(EditTaskCommand command) { return(Ok(await _mediator.Send(command))); }