public void Add_All_Empty()
        {
            ReviewModelDTO newReview = new ReviewModelDTO()
            {
                Reviewer = new ReviewerModelDTO()
                {
                    Name = string.Empty
                },
                Restaurant = new RestaurantModelDTO()
                {
                    Id = 1
                },
                ReviewedDateTime = DateTime.Now,
                Rating           = 1,
                ReviewText       = string.Empty
            };
            ReviewAPIRequestDTO request = new ReviewAPIRequestDTO()
            {
                Header = new APIRequestHeaderDTO()
                {
                    RequestID = 1
                },
                Data = newReview
            };
            APIResponseDTO response = this.reviewController.Post(request);

            Assert.AreNotEqual <ErrorDTO>(response.Error, null);
            Assert.AreEqual <APIBaseDTO>(response.Data, null);
        }
        public void Add_Date_Tomorrow()
        {
            ReviewModelDTO newReview = new ReviewModelDTO()
            {
                Reviewer = new ReviewerModelDTO()
                {
                    Id   = 4,
                    Name = "Reviewer 4"
                },
                Restaurant = new RestaurantModelDTO()
                {
                    Id = 4
                },
                ReviewedDateTime = DateTime.Now.AddDays(1),
                Rating           = 3,
                ReviewText       = "This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4."
            };
            ReviewAPIRequestDTO request = new ReviewAPIRequestDTO()
            {
                Header = new APIRequestHeaderDTO()
                {
                    RequestID = 1
                },
                Data = newReview
            };
            APIResponseDTO response = this.reviewController.Post(request);

            Assert.AreNotEqual <ErrorDTO>(response.Error, null);
            Assert.AreEqual <APIBaseDTO>(response.Data, null);
        }
Ejemplo n.º 3
0
        public bool RegisterUser(out APIResponseDTO response)
        {
            string userId = null;
            string userMultichainAddress = null;

            response = new APIResponseDTO();
            try
            {
                if (!this.serverMgr.RemoteIncentiveEngine.RegisterUser(out userId, out userMultichainAddress))
                {
                    response.SetErrorResponse("Cannot Register User!", APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                response.SetResponse(new Dictionary <string, string>()
                {
                    { "userId", userId }, { "multichainAddress", userMultichainAddress }
                }
                                     , APIResponseDTO.RESULT_TYPE.SUCCESS);
                return(true);
            }
            catch (Exception ex)
            {
                Global.Log.Error(ex.Message);
                return(false);
            }
        }
Ejemplo n.º 4
0
        internal bool GetTaskReward(out APIResponseDTO response)
        {
            Watch.Start();
            ExecuteTaskDTO checkRewardDTO = null;

            response = new APIResponseDTO();
            string transactionId = null;
            object taskReward    = null;


            try
            {
                if (!GetTaskIdFromRequest(this.request, out checkRewardDTO))
                {
                    response.SetErrorResponse("Invalid Request!", APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                this.serverMgr.RemoteIncentiveEngine.RewardUser(checkRewardDTO.UserID, checkRewardDTO.TaskId, out transactionId, out taskReward);
                response.SetResponse(taskReward, APIResponseDTO.RESULT_TYPE.SUCCESS);
                return(true);
            }
            catch (Exception ex)
            {
                Global.Log.Error(ex.Message);
                return(false);
            }
        }
Ejemplo n.º 5
0
        public bool GetUserTasks(string userID, out APIResponseDTO response)
        {
            response = new APIResponseDTO();
            List <CSTaskDTO> myTasks;

            try
            {
                myTasks = this.serverMgr.RemoteTaskDistributor.GetUserTasks(userID);
                if (myTasks == null)
                {
                    Global.Log.ErrorFormat("Invalid User ID: [{0}]", userID);
                    response.SetResponse(new Dictionary <string, string>()
                    {
                        { "errorMessage", "Invalid User ID!" }
                    },
                                         APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                Global.Log.DebugFormat("Number of Tasks: [{0}]", myTasks.Count);
                response.SetResponse(myTasks
                                     , APIResponseDTO.RESULT_TYPE.SUCCESS);
                return(true);
            }
            catch (Exception ex)
            {
                Global.Log.Error(ex.Message);
                return(false);
            }
        }
Ejemplo n.º 6
0
        public IHttpActionResult RegisterNewUser()
        {
            ServerManager     serverMgr = null;
            APIRequestHandler handler;
            APIResponseDTO    response      = new APIResponseDTO();
            string            clientAddress = null;

            try
            {
                clientAddress = HttpContext.Current.Request.UserHostAddress;
                serverMgr     = Global.GetCreateServerManager(HttpContext.Current.Server);
                handler       = new APIRequestHandler(HttpContext.Current.Request, serverMgr);
                if (!handler.RegisterUser(out response))
                {
                    return(Content(HttpStatusCode.InternalServerError, response));
                }
                return(Content(HttpStatusCode.OK, response));
            }
            catch (Exception ex)
            {
                Global.Log.Error(ex.Message);
                response.SetResponse("Registration failed. Please try again!", APIResponseDTO.RESULT_TYPE.ERROR);
                return(Content(HttpStatusCode.InternalServerError, response));
            }
        }
Ejemplo n.º 7
0
        public IHttpActionResult PayCreateCSTaskAPI()
        {
            ServerManager     serverMgr     = null;
            APIRequestHandler handler       = null;
            APIResponseDTO    response      = new APIResponseDTO();
            string            clientAddress = null;

            try
            {
                clientAddress = HttpContext.Current.Request.UserHostAddress;
                serverMgr     = Global.GetCreateServerManager(HttpContext.Current.Server);
                handler       = new APIRequestHandler(HttpContext.Current.Request, serverMgr);

                if (!handler.PayCreateCSTask(out response))
                {
                    return(Content(HttpStatusCode.InternalServerError, response));
                }
                return(Content(HttpStatusCode.OK, response));
            }
            catch (Exception ex)
            {
                Global.Log.Error(ex.Message);
                response.SetResponse("Cannot pay and create the crowd-sensing task. Please try again!", APIResponseDTO.RESULT_TYPE.ERROR);
                return(Content(HttpStatusCode.InternalServerError, response));
            }
        }
Ejemplo n.º 8
0
        public bool ExecuteSubscribedTask(out APIResponseDTO response)
        {
            ExecuteTaskDTO execTaskDTO;

            response = new APIResponseDTO();

            try
            {
                if (!GetTaskIdFromRequest(this.request, out execTaskDTO))
                {
                    response.SetErrorResponse("Invalid Request!", APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                if (!this.serverMgr.RemoteTaskDistributor.ExecuteTask(execTaskDTO.UserID, execTaskDTO.TaskId))
                {
                    Global.Log.Error("Cannot execute Task!");
                    response.SetErrorResponse("Cannot Execute Task!", APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                response.SetResponse("Success", APIResponseDTO.RESULT_TYPE.SUCCESS);
                return(true);
            }
            catch (Exception ex)
            {
                Global.Log.Error(ex.Message);
                return(false);
            }
        }
Ejemplo n.º 9
0
        public IHttpActionResult GetCostCSTaskAPI()
        {
            ServerManager     serverMgr = null;
            APIRequestHandler handler   = null;
            APIResponseDTO    response  = new APIResponseDTO();
            string            clientAddress;

            try
            {
                clientAddress = HttpContext.Current.Request.UserHostAddress;
                serverMgr     = Global.GetCreateServerManager(HttpContext.Current.Server);
                handler       = new APIRequestHandler(HttpContext.Current.Request, serverMgr);

                Global.Log.DebugFormat("Client Ip Address: {0}", clientAddress);
                if (!handler.CalcCostCSTask(out response))
                {
                    return(Content(HttpStatusCode.InternalServerError, response));
                }
                return(Content(HttpStatusCode.OK, response));
            }
            catch (Exception ex)
            {
                Global.Log.Error(ex.Message);
                response.SetResponse("Cannot calculate the task cost. Please try again!", APIResponseDTO.RESULT_TYPE.ERROR);
                return(Content(HttpStatusCode.InternalServerError, response));
            }
        }
Ejemplo n.º 10
0
        internal bool GetSubscribedTasksByTopicName(out APIResponseDTO response)
        {
            response = new APIResponseDTO();
            List <CSTaskDTO>   subscribedTasks;
            GetTopicRequestDTO topicRequestDTO = null;
            string             errorMessage    = null;

            try
            {
                if (!GetUserTopicNameFromRequest(this.request, out topicRequestDTO))
                {
                    response.SetErrorResponse("Invalid Request!", APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                subscribedTasks = this.serverMgr.RemoteTaskDistributor
                                  .GetSubscribedTasksByTopicName(topicRequestDTO.UserID
                                                                 , topicRequestDTO.TopicName
                                                                 , ref errorMessage);
                if (subscribedTasks == null)
                {
                    Global.Log.ErrorFormat(errorMessage);
                    response.SetErrorResponse(errorMessage, APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                response.SetResponse(subscribedTasks, APIResponseDTO.RESULT_TYPE.SUCCESS);
                return(true);
            }
            catch (Exception ex)
            {
                Global.Log.Error(ex.Message);
                return(false);
            }
        }
        public void Add_Reviewer_Not_Exist_Name_Empty()
        {
            ReviewModelDTO newReview = new ReviewModelDTO()
            {
                Reviewer   = null,
                Restaurant = new RestaurantModelDTO()
                {
                    Name = string.Empty
                },
                ReviewedDateTime = DateTime.Now,
                Rating           = 1,
                ReviewText       = "This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4."
            };
            ReviewAPIRequestDTO request = new ReviewAPIRequestDTO()
            {
                Header = new APIRequestHeaderDTO()
                {
                    RequestID = 1
                },
                Data = newReview
            };
            APIResponseDTO response = this.reviewController.Post(request);

            Assert.AreNotEqual <ErrorDTO>(response.Error, null);
            Assert.AreEqual <APIBaseDTO>(response.Data, null);
        }
Ejemplo n.º 12
0
        internal bool SubscribeTopic(out APIResponseDTO response)
        {
            response = new APIResponseDTO();
            GetTopicRequestDTO topicRequestDTO;
            string             errorMessage = null;

            try
            {
                if (!GetUserTopicNameFromRequest(this.request, out topicRequestDTO))
                {
                    response.SetErrorResponse("Invalid Request!", APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                if (!this.serverMgr.RemoteTaskDistributor.SubscribeTopic(topicRequestDTO.UserID, topicRequestDTO.TopicName, ref errorMessage))
                {
                    Global.Log.ErrorFormat(errorMessage);
                    response.SetErrorResponse(errorMessage, APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                Global.Log.DebugFormat("Topic: [{0}] SUBSCRIBED by User ID: [{1}]", topicRequestDTO.TopicName, topicRequestDTO.UserID);
                response.SetResponse("Subscribed", APIResponseDTO.RESULT_TYPE.SUCCESS);
                return(true);
            }
            catch (Exception ex)
            {
                Global.Log.Error(ex.Message);
                return(false);
            }
        }
Ejemplo n.º 13
0
        public bool GetTasksByTopicName(out APIResponseDTO response)
        {
            GetTopicRequestDTO topicRequestDTO;

            response = new APIResponseDTO();
            List <GetTasksDTO> listOfTasks;

            try
            {
                if (!GetUserTopicNameFromRequest(this.request, out topicRequestDTO))
                {
                    response.SetErrorResponse("Invalid Request!", APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                listOfTasks = serverMgr.RemoteTaskDistributor.GetTasksByTopicName(topicRequestDTO.TopicName);
                if (listOfTasks == null)
                {
                    response.SetErrorResponse("Invalid TopicName!", APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                response.SetResponse(new Dictionary <string, object>()
                {
                    { "tasks", listOfTasks }
                }
                                     , APIResponseDTO.RESULT_TYPE.SUCCESS);
                return(true);
            }
            catch (Exception ex)
            {
                Global.Log.Error(ex.Message);
                response.SetResponse("Cannot obtain topic from server. Please try again!", APIResponseDTO.RESULT_TYPE.ERROR);
                return(false);
            }
        }
Ejemplo n.º 14
0
        public void Add()
        {
            RestaurantModelDTO newRestaurant = new RestaurantModelDTO()
            {
                Name = "Restaurant 5",
                City = "Columbus"
            };
            RestaurantAPIRequestDTO request = new RestaurantAPIRequestDTO()
            {
                Header = new APIRequestHeaderDTO()
                {
                    RequestID = 1
                },
                Data = newRestaurant
            };
            APIResponseDTO     response         = restaurantController.Post(request);
            RestaurantModelDTO newRestaurantRet = (RestaurantModelDTO)response.Data;

            Assert.AreNotEqual <RestaurantModelDTO>(newRestaurantRet, null);
            Assert.IsTrue(newRestaurantRet.Id > 0 && newRestaurant.Id < int.MaxValue);
            Assert.AreEqual <string>(newRestaurantRet.Name, newRestaurant.Name);
            Assert.AreEqual <string>(newRestaurantRet.City, newRestaurant.City);

            response = restaurantController.Get(5);
            RestaurantModelDTO restaurant = (RestaurantModelDTO)response.Data;

            Assert.AreNotEqual <RestaurantModelDTO>(restaurant, null);
            response = restaurantController.Get("Columbus");
            RestaurantModelList restaurantList = (RestaurantModelList)response.Data;

            Assert.AreNotEqual <RestaurantModelList>(restaurantList, null);
        }
        public void Get_By_Id_Negative()
        {
            APIResponseDTO response = this.reviewController.Get(int.MinValue);
            ReviewModelDTO review   = (ReviewModelDTO)response.Data;

            Assert.AreEqual <ReviewModelDTO>(review, null);
        }
        public void Get_By_Restaurant_Id_Negative()
        {
            APIResponseDTO  response            = this.reviewController.GetByRestaurantId(int.MinValue);
            ReviewModelList reviewsByRestaurant = (ReviewModelList)response.Data;

            Assert.AreEqual <ReviewModelList>(reviewsByRestaurant, null);
        }
Ejemplo n.º 17
0
        public void Get_By_Id_NonExistent()
        {
            APIResponseDTO response = restaurantController.Get(int.MaxValue);

            Assert.AreNotEqual <APIResponseDTO>(response, null);
            Assert.AreEqual <ErrorDTO>(response.Error, null);
            Assert.AreEqual <APIBaseDTO>(response.Data, null);
        }
Ejemplo n.º 18
0
        public void Get_By_City_Invalid_MaxString()
        {
            APIResponseDTO response = restaurantController.Get("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");

            Assert.AreNotEqual <APIResponseDTO>(response, null);
            Assert.AreNotEqual <ErrorDTO>(response.Error, null);
            Assert.AreEqual <APIBaseDTO>(response.Data, null);
        }
Ejemplo n.º 19
0
        public void Get_By_Id_Invalid_Negative()
        {
            APIResponseDTO response = restaurantController.Get(int.MinValue);

            Assert.AreNotEqual <APIResponseDTO>(response, null);
            Assert.AreNotEqual <ErrorDTO>(response.Error, null);
            Assert.AreEqual <APIBaseDTO>(response.Data, null);
        }
        public void Get_By_Id()
        {
            APIResponseDTO response = this.reviewController.Get(1);
            ReviewModelDTO review   = (ReviewModelDTO)response.Data;

            Assert.AreNotEqual <ReviewModelDTO>(review, null);
            Assert.AreEqual <int>(review.Id, 1);
        }
        public void Get_By_Restaurant_Id_NotExistent()
        {
            APIResponseDTO  response            = this.reviewController.GetByRestaurantId(int.MaxValue);
            ReviewModelList reviewsByRestaurant = (ReviewModelList)response.Data;

            Assert.AreNotEqual <ReviewModelList>(reviewsByRestaurant, null);
            Assert.AreEqual <int>(reviewsByRestaurant.ReviewList.Count, 0);
        }
Ejemplo n.º 22
0
        public void Get_By_City_Invalid_Empty()
        {
            APIResponseDTO response = restaurantController.Get(string.Empty);

            Assert.AreNotEqual <APIResponseDTO>(response, null);
            Assert.AreNotEqual <ErrorDTO>(response.Error, null);
            Assert.AreEqual <APIBaseDTO>(response.Data, null);
        }
Ejemplo n.º 23
0
        public void Get_By_Id()
        {
            APIResponseDTO response = restaurantController.Get(1);

            Assert.AreNotEqual <APIResponseDTO>(response, null);
            RestaurantModelDTO restaurant = (RestaurantModelDTO)response.Data;

            Assert.AreNotEqual <RestaurantModelDTO>(restaurant, null);
            Assert.AreEqual <int>(restaurant.Id, 1);
        }
Ejemplo n.º 24
0
        public void Get_By_City_NonExistent()
        {
            APIResponseDTO response = restaurantController.Get("Tampa");

            Assert.AreNotEqual <APIResponseDTO>(response, null);
            RestaurantModelList restaurantList = (RestaurantModelList)response.Data;

            Assert.AreNotEqual <RestaurantModelList>(restaurantList, null);
            Assert.AreNotEqual <List <RestaurantModelDTO> >(restaurantList.RestaurantList, null);
            Assert.AreEqual <int>(restaurantList.RestaurantList.Count, 0);
        }
Ejemplo n.º 25
0
        /// <summary>
        /// Pay and create a crowd-sensing task.
        /// </summary>
        /// <param name="response"></param>
        /// <returns></returns>
        public bool PayCreateCSTask(out APIResponseDTO response)
        {
            Watch.Start();
            string txId     = null;
            string taskId   = null;
            bool   hasFunds = false;
            TaskPayCreateRequestDTO  payRequest  = null;
            TaskPayCreateResponseDTO payResponse = new TaskPayCreateResponseDTO();

            response = new APIResponseDTO();
            try
            {
                //get the DTO containing the userIDand task meta-info
                if (!GetCSTaskToCreate(out payRequest))
                {
                    response.SetErrorResponse("Invalid Request please try again!", APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                Watch.Stop();
                //try to pay the task
                if (!PayCSTask(out txId, out hasFunds, payRequest))
                {
                    response.SetErrorResponse("Cannot perform the payment!", APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                Watch.Start();
                //transaction not performed due to insufficient credits
                if (hasFunds == false)
                {
                    response.SetErrorResponse("Insufficient Credits!", APIResponseDTO.RESULT_TYPE.INSUFFICIENT_CREDITS);
                    return(true);
                }
                Watch.Stop();
                if (!CreateCSTask(out taskId, payRequest))
                {
                    response.SetErrorResponse("Cannot create the crowd-sensing task, please try again!", APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                Watch.Start();
                payResponse.TaskID        = taskId;
                payResponse.TransactionID = txId;
                response.SetResponse(payResponse, APIResponseDTO.RESULT_TYPE.SUCCESS);
                Watch.Stop();
                Global.Log.DebugFormat("Execution Time Create Task: [{0}] in Milliseconds", Watch.ElapsedMilliseconds);
                watch.Reset();
                return(true);
            }
            catch (Exception ex)
            {
                Global.Log.ErrorFormat("PayCreateCrowdSensingTask", ex.Message);
                return(false);
            }
        }
        public void Get_By_Restaurant_Id()
        {
            APIResponseDTO  response            = this.reviewController.GetByRestaurantId(1);
            ReviewModelList reviewsByRestaurant = (ReviewModelList)response.Data;

            Assert.AreNotEqual <ReviewModelList>(reviewsByRestaurant, null);
            Assert.AreNotEqual <int>(reviewsByRestaurant.ReviewList.Count, 0);
            foreach (ReviewModelDTO review in reviewsByRestaurant.ReviewList)
            {
                Assert.AreNotEqual <ReviewModelDTO>(review, null);
                Assert.AreEqual <int>(review.Restaurant.Id, 1);
            }
        }
        public void Add()
        {
            ReviewModelDTO newReview = new ReviewModelDTO()
            {
                Reviewer = new ReviewerModelDTO()
                {
                    Id   = 4,
                    Name = "Reviewer 4"
                },
                Restaurant = new RestaurantModelDTO()
                {
                    Id = 4
                },
                ReviewedDateTime = DateTime.Now,
                Rating           = 3,
                ReviewText       = "This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4. This is sample review text by Reviewer 4 for Restaurant 4."
            };
            ReviewAPIRequestDTO request = new ReviewAPIRequestDTO()
            {
                Header = new APIRequestHeaderDTO()
                {
                    RequestID = 1
                },
                Data = newReview
            };
            APIResponseDTO response = this.reviewController.Post(request);

            Assert.AreEqual <ErrorDTO>(response.Error, null);
            Assert.AreNotEqual <APIBaseDTO>(response.Data, null);
            ReviewModelDTO newReviewRet = (ReviewModelDTO)response.Data;

            Assert.AreNotEqual <ReviewModelDTO>(newReviewRet, null);
            Assert.AreEqual <string>(newReviewRet.Reviewer.Name, "Reviewer 4");
            Assert.AreEqual <int>(newReviewRet.Restaurant.Id, 4);
            Assert.AreEqual <int>(newReviewRet.Rating, 3);

            Assert.AreEqual <int>(newReview.Id, newReviewRet.Id);
            Assert.AreEqual <string>(newReview.Reviewer.Name, newReviewRet.Reviewer.Name);
            Assert.AreEqual <int>(newReview.Restaurant.Id, newReviewRet.Restaurant.Id);
            Assert.AreEqual <int>(newReview.Rating, newReviewRet.Rating);

            response = this.reviewController.Get(newReviewRet.Id);
            ReviewModelDTO review = (ReviewModelDTO)response.Data;

            Assert.AreNotEqual <ReviewModelDTO>(review, null);
            Assert.AreEqual <int>(review.Id, newReviewRet.Id);
            Assert.AreEqual <string>(review.Reviewer.Name, newReviewRet.Reviewer.Name);
            Assert.AreEqual <int>(review.Restaurant.Id, newReviewRet.Restaurant.Id);
            Assert.AreEqual <int>(review.Rating, newReviewRet.Rating);
        }
Ejemplo n.º 28
0
        public void Get_By_City()
        {
            string         city     = "Pittsburgh";
            APIResponseDTO response = restaurantController.Get(city);

            Assert.AreNotEqual <APIResponseDTO>(response, null);
            RestaurantModelList restaurantList = (RestaurantModelList)response.Data;

            Assert.AreNotEqual <RestaurantModelList>(restaurantList, null);
            Assert.AreNotEqual <List <RestaurantModelDTO> >(restaurantList.RestaurantList, null);
            foreach (RestaurantModelDTO restaurant in restaurantList.RestaurantList)
            {
                Assert.AreNotEqual <RestaurantModelDTO>(restaurant, null);
                Assert.AreEqual <string>(restaurant.City, city);
            }
        }
Ejemplo n.º 29
0
        public bool GetTopics(out APIResponseDTO response)
        {
            response = new APIResponseDTO();

            try
            {
                response.SetResponse(serverMgr.RemoteTaskDistributor.GetTopics()
                                     , APIResponseDTO.RESULT_TYPE.SUCCESS);
                return(true);
            }
            catch (Exception ex)
            {
                Global.Log.Error(ex.Message);
                response.SetResponse("Cannot obtain topics from server. Please try again!", APIResponseDTO.RESULT_TYPE.ERROR);
                return(false);
            }
        }
Ejemplo n.º 30
0
        public bool ReportResultsCSTask(out APIResponseDTO response, string taskType)
        {
            Watch.Start();
            TaskTypeEnum taskTypeEnum;
            ReportDTO    reportReqDTO = null;

            response = new APIResponseDTO();

            try
            {
                //get the enum type
                if (!Enum.TryParse(taskType, out taskTypeEnum))
                {
                    Global.Log.ErrorFormat("Invalid Type of Task: [{0}]", taskType);
                    response.SetErrorResponse("Cannot Report Task!", APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                if (!GetReportFromRequest(this.request, taskTypeEnum, out reportReqDTO))
                {
                    response.SetErrorResponse("Invalid Request!", APIResponseDTO.RESULT_TYPE.ERROR);
                    return(false);
                }
                Watch.Stop();
                if (!serverMgr.RemoteReportAggregator.SaveReport(reportReqDTO))
                {
                    Global.Log.Error("Cannot generate Report from user results!");
                    return(false);
                }
                Watch.Start();
                response.SetResponse(new Dictionary <string, object>()
                {
                    { "status", "submited" }
                }
                                     , APIResponseDTO.RESULT_TYPE.SUCCESS);
                Global.Log.Debug("Report generated with SUCCESS!");
                Watch.Stop();
                Global.Log.DebugFormat("Execution Time Reward Task: [{0}] in Milliseconds", Watch.ElapsedMilliseconds);
                Watch.Reset();
                return(true);
            }
            catch (Exception ex)
            {
                Global.Log.Error(ex.Message);
                return(false);
            }
        }