Esempio n. 1
0
        public async Task <IActionResult> Post([FromBody] GameSession gameSession)
        {
            SqlConnectionString sqlConnectionString = new SqlConnectionString();
            string connectionString = sqlConnectionString.GetSqlConnectionString();

            Question questionHelper = new Question()
            {
                SqlConnectionString = connectionString
            };

            User userHelper = new User()
            {
                SqlConnectionString = connectionString
            };

            JWT jwtHelper = new JWT();

            Buzz buzzHelper = new Buzz()
            {
                SqlConnectionString = connectionString
            };

            int user = jwtHelper.GetUserFromJWT(gameSession.JWT);

            Question.QuestionStatus questionStatus =
                await questionHelper.GetQuestionStatusFromUserAsync(jwtHelper.GetUserFromJWT(gameSession.JWT));

            await buzzHelper.BuzzAsync(user, questionStatus.question);

            await _hubContext.Clients.All.SendAsync(
                $"User{await userHelper.GetAlexFromQuestionAsync(questionStatus.question)}",
                await userHelper.GetUserNameFromUserAsync(user));

            return(new OkObjectResult(JsonConvert.SerializeObject(new { Success = true })));
        }
        public List <Question> GetAllClosedQuestionsCareRecipient(int careRecipientId)
        {
            List <Question> questionList = new List <Question>();

            try
            {
                SqlCommand cmd = new SqlCommand("SelectAllClosedQuestionsCareRecipientID", _conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@careRecipientID", SqlDbType.Int).Value = careRecipientId;
                _conn.Open();

                DataTable dt = new DataTable();
                dt.Load(cmd.ExecuteReader());

                foreach (DataRow dr in dt.Rows)
                {
                    int      questionId            = Convert.ToInt32(dr["QuestionID"]);
                    string   title                 = dr["Title"].ToString();
                    string   content               = dr["Description"].ToString();
                    DateTime date                  = Convert.ToDateTime(dr["Datetime"]);
                    bool     urgency               = Convert.ToBoolean(dr["Urgency"]);
                    Category category              = new Category(dr["Name"].ToString());
                    Question.QuestionStatus status = dr["Status"].ToString() == "Open" ? Question.QuestionStatus.Open : Question.QuestionStatus.Closed;

                    questionList.Add(new Question(questionId, title, content, status, date, urgency, category, careRecipientId));
                }
                return(questionList);
            }
            finally
            {
                _conn.Close();
            }
        }
Esempio n. 3
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            string  requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            dynamic data        = JsonConvert.DeserializeObject(requestBody);
            string  jwt         = data.JWT;

            User userHelper = new User()
            {
                SqlConnectionString = Environment.GetEnvironmentVariable("SQL_CONNECTION_STRING")
            };
            Question questionHelper = new Question()
            {
                SqlConnectionString = Environment.GetEnvironmentVariable("SQL_CONNECTION_STRING")
            };
            JWT jwtHelper = new JWT();

            Question.QuestionStatus questionStatus = await questionHelper.GetQuestionStatusFromUserAsync(jwtHelper.GetUserFromJWT(jwt));

            var returnObject = new { Question = questionStatus.question, Answerable = questionStatus.answerable, UserBuzzed = questionStatus.userBuzzed };

            return((ActionResult) new OkObjectResult(JsonConvert.SerializeObject(returnObject)));
        }
Esempio n. 4
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            string  requestBody = await new StreamReader(req.Body).ReadToEndAsync();
            dynamic data        = JsonConvert.DeserializeObject(requestBody);

            string jwt = data.JWT;

            Question questionHelper = new Question()
            {
                SqlConnectionString = Environment.GetEnvironmentVariable("SQL_CONNECTION_STRING")
            };

            User userHelper = new User()
            {
                SqlConnectionString = Environment.GetEnvironmentVariable("SQL_CONNECTION_STRING")
            };

            JWT jwtHelper = new JWT();

            Libraries.Buzz buzzHelper = new Libraries.Buzz()
            {
                SqlConnectionString = Environment.GetEnvironmentVariable("SQL_CONNECTION_STRING")
            };


            int user = jwtHelper.GetUserFromJWT(jwt);

            Question.QuestionStatus questionStatus = await questionHelper.GetQuestionStatusFromUserAsync(user);

            await buzzHelper.BuzzAsync(user, questionStatus.question);

            int alex = await userHelper.GetAlexFromQuestionAsync(questionStatus.question);

            string userName = await userHelper.GetUserNameFromUserAsync(user);

            await SendMessageAsync(alex, userName);

            var returnObject = new { Success = true };


            return(new OkObjectResult(JsonConvert.SerializeObject(returnObject)));
            //: new BadRequestObjectResult("Please pass a name on the query string or in the request body");
        }
        public async Task <IActionResult> Post([FromBody] GameSession gameSession)
        {
            SqlConnectionString sqlConnectionString = new SqlConnectionString();
            Question            questionHelper      = new Question()
            {
                SqlConnectionString = sqlConnectionString.GetSqlConnectionString()
            };

            JWT jwtHelper = new JWT();

            Question.QuestionStatus questionStatus =
                await questionHelper.GetQuestionStatusFromUserAsync(jwtHelper.GetUserFromJWT(gameSession.JWT));

            var returnObject = new
            {
                Question   = questionStatus.question,
                Answerable = questionStatus.answerable,
                UserBuzzed = questionStatus.userBuzzed
            };

            return((ActionResult) new OkObjectResult(JsonConvert.SerializeObject(returnObject)));
        }
        public List <Question> GetAllOpenQuestionsCareRecipientID(int careRecipientID)
        {
            List <Question> questionList = new List <Question>();

            try
            {
                SqlCommand cmd = new SqlCommand("SelectAllOpenQuestionsCareRecipientID", _conn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@careRecipientID", SqlDbType.Int).Value = careRecipientID;
                _conn.Open();

                DataTable dt = new DataTable();
                dt.Load(cmd.ExecuteReader());

                foreach (DataRow dr in dt.Rows)
                {
                    int    questionId = Convert.ToInt32(dr["QuestionID"]);
                    string title      = dr["Title"].ToString();
                    string content    = dr["Description"].ToString();
                    Question.QuestionStatus status = Question.QuestionStatus.Open;
                    DateTime date            = Convert.ToDateTime(dr["Datetime"]);
                    string   urgency         = dr["Urgency"].ToString();
                    int      careRecipientId = Convert.ToInt32(dr["CareRecipientID"]);
                    Category category        = new Category(dr["Name"].ToString());
                    questionList.Add(new Question(questionId, title, content, status, date, urgency, category, careRecipientId));
                }
                return(questionList);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                throw;
            }
            finally
            {
                _conn.Close();
            }
        }