Exemplo n.º 1
0
        public virtual IActionResult ThingPost([FromBody] Thing name, [FromHeader][Required] string Authorization)
        {
            if (!ModelState.IsValid)
            {
                var error = ModelState.SelectMany(x => x.Value.Errors).First();
                if (error.ErrorMessage != null && error.ErrorMessage != String.Empty)
                {
                    return(BadRequest(error.ErrorMessage));
                }
                else if (error.Exception?.Message != null)
                {
                    return(BadRequest("Faulty input"));
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            if (Authorization != settings.testToken)
            {
                return(BadRequest("Not allowed"));
            }
            long   newThingID   = 0;
            string errorMessage = "";

            try
            {
                DatabaseInterface.DBThing dBThing = new DatabaseInterface.DBThing();

                if (!dBThing.AddThing(name.Name, name.ThingTemplate, name.Description, name.Status, name.Lat, name.Lon, ref errorMessage, ref newThingID))
                {
                    return(BadRequest("Internal Server Error:" + errorMessage));
                }
            }
            catch (Exception e)
            {
                return(BadRequest("Internal Server Error:" + e.Message));
            }


            //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
            // return StatusCode(200, default(GeneralResponse));

            //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
            // return StatusCode(0, default(ErrorResponse));


            string exampleJson = null;

            exampleJson = "{\n  \"success\" : true,\n  \"newid\" : " + newThingID.ToString() + "\n}";

            var example = exampleJson != null
            ? JsonConvert.DeserializeObject <GeneralPostResponse>(exampleJson)
            : default(GeneralPostResponse);

            //TODO: Change the data returned
            return(new ObjectResult(example));
        }
Exemplo n.º 2
0
        public virtual IActionResult ThingsIdDelete([FromRoute][Required] string id, [FromHeader] string Authorization)
        {
            if (!ModelState.IsValid)
            {
                var error = ModelState.SelectMany(x => x.Value.Errors).First();
                if (error.ErrorMessage != null && error.ErrorMessage != String.Empty)
                {
                    return(BadRequest(error.ErrorMessage));
                }
                else if (error.Exception?.Message != null)
                {
                    return(BadRequest("Faulty input"));
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            if (Authorization != settings.testToken)
            {
                return(BadRequest("Not allowed"));
            }
            long   newZoneID    = 0;
            string errorMessage = "";

            try
            {
                DatabaseInterface.DBThing dBThing = new DatabaseInterface.DBThing();
                if (!dBThing.DeleteThing(id, ref errorMessage))
                {
                    return(BadRequest("Internal Server Error:" + errorMessage));
                }
            }
            catch (Exception e)
            {
                return(BadRequest("Internal Server Error:" + e.Message));
            }

            string exampleJson = null;

            exampleJson = "{\n  \"success\" : true,\n  \"description\" : \" Thing " + id.ToString() + "deleted \"\n}";

            var example = exampleJson != null
                ? JsonConvert.DeserializeObject <GeneralResponse>(exampleJson)
                : default(GeneralResponse);

            //TODO: Change the data returned
            return(new ObjectResult(example));
        }
Exemplo n.º 3
0
        public virtual IActionResult ThingsWithObservationIdGet([FromRoute][Required] string id, [FromQuery] int?noOfObservations, [FromHeader][Required] string Authorization)
        {
            if (!ModelState.IsValid)
            {
                var error = ModelState.SelectMany(x => x.Value.Errors).First();
                if (error.ErrorMessage != null && error.ErrorMessage != String.Empty)
                {
                    return(BadRequest(error.ErrorMessage));
                }
                else if (error.Exception?.Message != null)
                {
                    return(BadRequest("Faulty input"));
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            if (Authorization != settings.testToken)
            {
                return(BadRequest("Not allowed"));
            }
            long   newZoneID             = 0;
            string errorMessage          = "";
            ThingsWithObservation result = null;

            try
            {
                DatabaseInterface.DBThing dBThing = new DatabaseInterface.DBThing();
                if (!dBThing.FindThingFromIdWithObs(id, noOfObservations, ref errorMessage, ref result))
                {
                    return(BadRequest("Internal Server Error:" + errorMessage));
                }
            }
            catch (Exception e)
            {
                return(BadRequest("Internal Server Error:" + e.Message));
            }

            string exampleJson = null;

            return(new ObjectResult(result));
        }
Exemplo n.º 4
0
        public virtual IActionResult ThingsGet([FromQuery][Required] string thingType, [FromHeader] string Authorization)
        {
            if (!ModelState.IsValid)
            {
                var error = ModelState.SelectMany(x => x.Value.Errors).First();
                if (error.ErrorMessage != null && error.ErrorMessage != String.Empty)
                {
                    return(BadRequest(error.ErrorMessage));
                }
                else if (error.Exception?.Message != null)
                {
                    return(BadRequest("Faulty input"));
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            if (Authorization != settings.testToken)
            {
                return(BadRequest("Not allowed"));
            }
            long         newZoneID    = 0;
            string       errorMessage = "";
            List <Thing> results      = new List <Thing>();

            try
            {
                DatabaseInterface.DBThing dBThing = new DatabaseInterface.DBThing();
                if (!dBThing.ListThings(thingType, ref errorMessage, ref results))
                {
                    return(BadRequest("Internal Server Error:" + errorMessage));
                }
            }
            catch (Exception e)
            {
                return(BadRequest("Internal Server Error:" + e.Message));
            }

            string exampleJson = null;

            return(new ObjectResult(results));
        }