コード例 #1
0
        public JsonResult Create(int teamId, int eventId, EventDuty duty)
        {
            var activeUser = GetActiveUser(Request);
            var team       = _teamService.GetTeam(teamId);

            if (!team.Owners.Exists(x => x.Id == activeUser.Id))
            {
                throw new HttpException((int)HttpStatusCode.Unauthorized, "Not authorized to edit this team");
            }

            var evt = _gameService.GetGame(eventId);

            if (teamId != _gameService.GetSeason(evt.SeasonId).TeamId)
            {
                throw new HttpException((int)HttpStatusCode.BadRequest, "Requested season does not belong to this team");
            }

            if (evt.Duties.Count > 20)
            {
                Response.StatusCode = 400;
                return(Json("Maximum of 20 duties per event"));
            }

            duty.EventId = eventId;
            duty         = _gameService.AddEventDuty(duty);

            return(Json(duty, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
 public void UpdateEventDuty(EventDuty duty)
 {
     using (var entities = Database.GetEntities())
     {
         var dutyData = entities.GameDutyDatas.Single(x => x.Id == duty.Id);
         dutyData.PlayerId = duty.PlayerId;
         dutyData.Name     = duty.Name;
         entities.SaveChanges();
     }
 }
コード例 #3
0
        public EventDuty AddEventDuty(EventDuty duty)
        {
            using (var entities = Database.GetEntities())
            {
                var dutyData = new GameDutyData
                {
                    GameId   = duty.EventId,
                    PlayerId = (duty.PlayerId > 0) ? duty.PlayerId : 0,
                    Name     = duty.Name
                };
                entities.GameDutyDatas.AddObject(dutyData);
                entities.SaveChanges();

                duty.Id = dutyData.Id;
                return(duty);
            }
        }
コード例 #4
0
        public JsonResult Delete(int teamId, EventDuty duty)
        {
            var activeUser = this.GetActiveUser(this.Request);
            var team       = _teamService.GetTeam(teamId);

            if (!team.Owners.Exists(x => x.Id == activeUser.Id))
            {
                throw new HttpException((int)HttpStatusCode.Unauthorized, "Not authorized to edit this team");
            }

            duty = _gameService.GetEventDuty(duty.Id); // Get copy for ourselves
            var evt = _gameService.GetGame(duty.EventId);

            if (teamId != _gameService.GetSeason(evt.SeasonId).TeamId)
            {
                throw new HttpException((int)HttpStatusCode.BadRequest, "Requested duty does not belong to this team");
            }

            _gameService.RemoveEventDuty(duty.Id);

            return(Json(null, JsonRequestBehavior.AllowGet));
        }