예제 #1
0
        public virtual IActionResult PersonPost([FromBody] Person newPerson, [FromHeader][Required()] string Authorization)
        {
            int newPersonId = -1;

            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"));
            }
            string errorMessage = "";

            try
            {
                DatabaseInterface.DBPerson dBPerson = new DatabaseInterface.DBPerson();
                if (!dBPerson.AddPerson(6, newPerson.Role, newPerson.FullName, newPerson.Email, newPerson.Phone, 1, newPerson.Active, ref errorMessage, ref newPersonId))
                {
                    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\" : " + newPersonId.ToString() + "\n}";

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

            //TODO: Change the data returned
            return(new ObjectResult(example));
        }
예제 #2
0
        public virtual IActionResult PersonsGet([FromQuery] string role, [FromQuery] bool?status, [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"));
            }
            string        errorMessage = "";
            List <Person> foundPersons = null;

            try
            {
                DatabaseInterface.DBPerson dBPerson = new DatabaseInterface.DBPerson();
                if (role == null || role == "")
                {
                    if (!dBPerson.AllPersons(ref errorMessage, ref foundPersons))
                    {
                        return(BadRequest("Internal Server Error:" + errorMessage));
                    }
                }
                else
                {
                    if (!dBPerson.AllPersonsWithRole(role, ref errorMessage, ref foundPersons))
                    {
                        return(BadRequest("Internal Server Error:" + errorMessage));
                    }
                }
            }
            catch (Exception e)
            {
                return(BadRequest("Internal Server Error:" + e.Message));
            }

            // GetPersonsListResponse resp = new GetPersonsListResponse();
            //  resp.
            return(new ObjectResult(foundPersons));
        }
예제 #3
0
        public virtual IActionResult PersonIdDelete([FromRoute][Required] string id, [FromHeader][Required()] string Authorization)
        {
            int newPersonId = -1;

            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 errorMessage = "";

            if (Authorization != settings.testToken)
            {
                return(BadRequest("Not allowed"));
            }
            try
            {
                DatabaseInterface.DBPerson dBPerson = new DatabaseInterface.DBPerson();
                Person foundPerson = null;
                if (!dBPerson.DeletePerson(int.Parse(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\" : \"Person id=" + id + " deleted\"\n}";

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

            //TODO: Change the data returned
            return(new ObjectResult(example));
        }
예제 #4
0
        public virtual IActionResult PersonIdGet([FromRoute][Required] string 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));
                }
            }
            string errorMessage = "";

            if (Authorization != settings.testToken)
            {
                return(BadRequest("Not allowed"));
            }
            Person foundPerson = null;

            try
            {
                DatabaseInterface.DBPerson dBPerson = new DatabaseInterface.DBPerson();

                if (!dBPerson.FindPersonFromId(int.Parse(id), ref errorMessage, ref foundPerson))
                {
                    return(BadRequest("Internal Server Error:" + errorMessage));
                }
            }
            catch (Exception e)
            {
                return(BadRequest("Internal Server Error:" + e.Message));
            }



            return(new ObjectResult(foundPerson));
        }