コード例 #1
0
        private PlantDexHttpResponse RunRequestedCommand(string command, List <Object> data)
        {
            PlantDexHttpResponse response = new PlantDexHttpResponse();

            response.status  = "FAIL";
            response.message = "UNKNOWN COMMAND : " + command;
            switch (command)
            {
            case "InsertAdminAccount":
            {
                try
                {
                    AdminAccount account = JsonConvert.DeserializeObject <AdminAccount>(data[0].ToString());
                    response = PlantDexHttpRequestManager.InsertAdminAccount(account);
                }
                catch (Exception ex)
                {
                    response.status  = "FAIL";
                    response.message = ex.Message + " - " + data[0];
                }
                return(response);
            }

            default:
            {
                return(response);
            }
            }
        }
コード例 #2
0
        public HttpResponseMessage ClassifyPlant(PlantDexHttpRequest request)
        {
            PlantDexHttpResponse response = new PlantDexHttpResponse();

            if (request == null)
            {
                response.message = "Invalid Request Parameters Given!";
                response.status  = "Invalid Request";
                response.data    = null;
                PlantDexHttpRequestManager.SaveRequest(request, "Invalid Request");
                return(Request.CreateResponse(HttpStatusCode.BadRequest, response));
            }

            if (PlantDexHttpRequestManager.AuthenticateRequest(request) == "fail")
            {
                response.message = "UnAuthorized Request";
                response.status  = "Invalid Request";
                response.data    = null;
                PlantDexHttpRequestManager.SaveRequest(request, "Invalid Request");
                return(Request.CreateResponse(HttpStatusCode.Unauthorized, response));
            }

            PlantDexHttpRequestManager.SaveRequest(request, "PENDING");
            response.message = "SUCCESS";
            response.status  = "SUCCESS";
            List <Object>          data = new List <Object>();
            ClassifyResponseObject obj  = new ClassifyResponseObject();

            obj.plantID = "1";
            data.Add(obj);
            return(Request.CreateResponse(HttpStatusCode.OK, data));
        }
コード例 #3
0
        public HttpResponseMessage HandleAdminRequest(PlantDexHttpRequest request)
        {
            PlantDexHttpResponse response = new PlantDexHttpResponse();

            response.status  = "FAIL";
            response.message = "Web API Error";

            if (request == null)
            {
                response.message = "Invalid Request Parameters";
                response.data    = request.data;
                return(Request.CreateResponse(HttpStatusCode.OK, response));
            }

            if (PlantDexHttpRequestManager.AuthenticateRequest(request) == "fail")
            {
                response.message = "Invalid Request Sender";
                return(Request.CreateResponse(HttpStatusCode.OK, response));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, RunRequestedCommand(request.command, request.data)));
        }