예제 #1
0
        public virtual IActionResult ImagesIdDelete([FromRoute][Required] int?id, [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 = "";

            try
            {
                DatabaseInterface.DBImages dBImg = new DatabaseInterface.DBImages();
                if (!dBImg.DeleteImage(id.ToString(), 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\" : \" image " + id.ToString() + "deleted \"\n}";

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

            //TODO: Change the data returned
            return(new ObjectResult(example));
        }
예제 #2
0
        public virtual IActionResult ImagesGet([FromQuery][Required()] string type, [FromQuery][Required()] int take, [FromHeader][Required()] string Authorization)
        {
            //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(List<Image>));

            //TODO: Uncomment the next line to return response 405 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
            // return StatusCode(405);
            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));
                }
            }
            string pubToken = "8f7d9dd9-6bbc-460c-a76c-4be72a9ea39e";

            if (Authorization != settings.testToken && Authorization != pubToken)
            {
                return(BadRequest("Not allowed"));
            }
            string       errorMessage = "";
            List <Image> results      = new List <Image>();

            try
            {
                DatabaseInterface.DBImages dBImg = new DatabaseInterface.DBImages();

                if (!dBImg.ListImages(type, take, ref errorMessage, ref results))
                {
                    return(BadRequest("Internal Server Error:" + errorMessage));
                }
            }
            catch (Exception e)
            {
                return(BadRequest("Internal Server Error:" + e.Message));
            }

            return(new ObjectResult(results));
        }
예제 #3
0
        public virtual IActionResult ImagesPost([FromBody] Image body, [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   newImgID     = 0;
            string errorMessage = "";

            try
            {
                DatabaseInterface.DBImages dBImg = new DatabaseInterface.DBImages();

                if (!dBImg.AddImage(body.ImgUrl, body.University.ToString(), ref errorMessage, ref newImgID))
                {
                    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\" : " + newImgID.ToString() + "\n}";

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

            //TODO: Change the data returned
            return(new ObjectResult(example));


            throw new NotImplementedException();
        }