public async Task GuardForValidMission(MissionDto dto)
        {
            var mission = await DbSet.Where(m => m.Phase == MissionPhase.Started &&
                                            m.AgentId == dto.AgentId).FirstOrDefaultAsync();

            if (mission != null)
            {
                throw new ApplicationException("تعمیر کار در حال انجام عملیات دیگری می باشد.");
            }
        }
Beispiel #2
0
        public IHttpActionResult AddMission(MissionDto missionDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var mission = Mapper.Map <MissionDto, Mission>(missionDto);

            _context.Missions.Add(mission);
            _context.SaveChanges();

            return(Created(new Uri(Request.RequestUri + "/" + mission.Id), missionDto));
        }
Beispiel #3
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);
        }
Beispiel #4
0
        public async Task <ActionResult <MissionDto> > Post([FromBody] MissionDto mission)
        {
            try
            {
                if (mission == null)
                {
                    return(BadRequest());
                }
                var result = await _missionService.Create(mission);

                return(CreatedAtAction(nameof(Get), new { id = result.Id }, result));
            }
            catch
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, "Error"));
            }
        }
Beispiel #5
0
        public void UpdateMission(int id, MissionDto missionDto)
        {
            if (!ModelState.IsValid)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            var missionInDb = _context.Missions.SingleOrDefault(m => m.Id == id);

            if (missionInDb == null)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            Mapper.Map(missionDto, missionInDb);

            _context.SaveChanges();
        }
Beispiel #6
0
        private void BtnNewMissionClick(object sender, RoutedEventArgs e)
        {
            try
            {
                MissionDto newDto = new MissionDto(new Mission()
                {
                    Active = 0, Name = "Neue Mission", CenterLat = 0.0, CenterLon = 0.0
                });

                newDto.Mission = MissionConverter.AdminToMission(_adminWs.AdminMissionServiceSaveArrayMission(MissionConverter.MissionToAdmin(newDto.Mission), _username, Md5(_pwd)));

                IList <MissionDto> dtos = (IList <MissionDto>)_missionViewSource.Source;
                dtos.Add(newDto);
                _missionViewSource.Source = dtos;
                lstMissions.Items.Refresh();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Anlegen fehlgeschlagen:\n" + ex.Message);
            }
        }
        void AfterMapping(MissionDto src, Mission dst)
        {
            dst.IsFavorite = _settings.MissionOptions.IsFavorite(dst);
            var list = new List <string>();

            dst.Type = MissionTypes.SpMission;
            if (src.Playability.HasFlag(Playability.Singleplayer))
            {
                list.Add(MissionTypesHunan.SpMission);
            }
            if (src.Playability.HasFlag(Playability.Multiplayer))
            {
                dst.Type = MissionTypes.MpMission;
                list.Add(MissionTypesHunan.MpMission);
            }
            dst.Types = list.ToArray();
            if (src.ImagePath != null)
            {
                dst.Image =
                    Tools.Transfer.JoinUri(CommonUrls.UsercontentCdnProduction, src.ImagePath, "160x100.jpg")
                    .ToString();
            }
        }
        private MissionDto GetCurrentMission(string username)
        {
            var player = _unitOfWork.PlayerRepository.DbSet.FirstOrDefault(p => p.User.UserName.Equals(username));

            if (player?.CurrentMission == null)
            {
                return(null);
            }
            Mission    mission = _unitOfWork.MissionRepository.FirstOrDefault(m => m.Id == player.CurrentMission.Id);
            MissionDto dto     = new MissionDto();

            dto.MissionId          = mission.Id;
            dto.UserName           = player.User.UserName;
            dto.ExpReward          = mission.ExpReward;
            dto.Image              = Convert.ToBase64String(mission.Place.Image);
            dto.MinimalLevelName   = player.Level.Name;
            dto.MinimalLevelNumber = player.Level.Id;
            dto.MissionDescription = mission.Description;
            dto.MissionName        = mission.Name;
            dto.PlaceName          = mission.Place.Name;
            dto.PlaceX             = mission.Place.XCoordinate;
            dto.PlaceY             = mission.Place.YCoordinate;
            return(dto);
        }
        public async Task <Result <MissionDto> > Create([FromBody] MissionDto dto)
        {
            var mission = await _missionService.CreateAsync(dto);

            return(Result <MissionDto> .Success(data : mission));
        }