Esempio n. 1
0
        public async Task <MissionDto> CreateAsync(MissionDto dto)
        {
            await _unitOfWork.Missions.GuardForValidMission(dto);

            var mission = new Mission(dto.AgentId, dto.RemainingTime, dto.StationOneId, dto.StationTwoId
                                      , dto.Description);
            await _unitOfWork.CompleteAsync(ctx => ctx.Missions.AddAsync(mission));

            dto.Id = mission.Id;
            var command = await _commandFactory.CreateNewMissionCommand(dto.Id);

            await _commander.SendAsync(command);

            return(dto);
        }