// PUT api/Question/5
        public IHttpActionResult PutScriptQuestion(decimal id, ScriptQuestion scriptquestion)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != scriptquestion.ScriptQuestionID)
            {
                return(BadRequest());
            }

            db.Entry(scriptquestion).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ScriptQuestionExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public IHttpActionResult GetScriptQuestion(decimal id)
        {
            ScriptQuestion scriptquestion = db.ScriptQuestions.Find(id);

            if (scriptquestion == null)
            {
                return(NotFound());
            }

            return(Ok(scriptquestion));
        }
        public IHttpActionResult PostScriptQuestion(ScriptQuestion scriptquestion)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.ScriptQuestions.Add(scriptquestion);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = scriptquestion.ScriptQuestionID }, scriptquestion));
        }
        public IHttpActionResult DeleteScriptQuestion(decimal id)
        {
            ScriptQuestion scriptquestion = db.ScriptQuestions.Find(id);

            if (scriptquestion == null)
            {
                return(NotFound());
            }

            db.ScriptQuestions.Remove(scriptquestion);
            db.SaveChanges();

            return(Ok(scriptquestion));
        }
Beispiel #5
0
        public override ScriptPermissions RequestPermissions(ObjectPart part, UUID itemID, ScriptPermissions permissions, UUID experienceID)
        {
            var         autoGrant = ScriptPermissions.None;
            ObjectGroup sitOn     = SittingOnObject;

            if ((sitOn != null && sitOn.ID == itemID) || part.ObjectGroup.AttachPoint != Types.Agent.AttachmentPoint.NotAttached)
            {
                autoGrant |= ScriptPermissions.ControlCamera;
                autoGrant |= ScriptPermissions.TakeControls;
                autoGrant |= ScriptPermissions.TrackCamera;
                autoGrant |= ScriptPermissions.TriggerAnimation;
            }
            if (part.ObjectGroup.AttachPoint != Types.Agent.AttachmentPoint.NotAttached)
            {
                autoGrant |= ScriptPermissions.OverrideAnimations;
                autoGrant |= ScriptPermissions.Attach;
            }
            if ((permissions & autoGrant) == permissions)
            {
                return(permissions);
            }

            AgentCircuit   circuit;
            SceneInterface scene = part.ObjectGroup.Scene;

            if (experienceID != UUID.Zero && Circuits.TryGetValue(scene.ID, out circuit) &&
                !circuit.AddExperienceTimeout(part.ID, itemID))
            {
                return(ScriptPermissions.None);
            }
            var m = new ScriptQuestion
            {
                ExperienceID = experienceID,
                ItemID       = itemID,
                ObjectName   = part.ObjectGroup.Name,
                ObjectOwner  = scene.AvatarNameService.ResolveName(part.Owner).FullName,
                Questions    = permissions,
                TaskID       = part.ID
            };

            SendMessageAlways(m, part.ObjectGroup.Scene.ID);
            return(ScriptPermissions.None);
        }