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(); } }
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))); }
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(); } }