public async Task<User> Authenticate(AuthenticationRequest authRequest) { string procName = "proc_Users_Authenticate"; Task<User> t = Task.Run<User>(async () => { User currentUser = null; SqlCommand cmd = null; using (SqlConnection con = new SqlConnection(conString)) { await con.OpenAsync(); using (cmd = new SqlCommand(procName, con)) { cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@userName", authRequest.UserName); cmd.Parameters.AddWithValue("@password", authRequest.Password); var rdr = await cmd.ExecuteReaderAsync(System.Data.CommandBehavior.Default); if (rdr.HasRows) { currentUser = new User(); while (rdr.Read()) { currentUser.UserID = int.Parse(rdr["UserID"].ToString()); currentUser.UserName = rdr["UserName"].ToString(); currentUser.SessionGuid = rdr["SessionGuid"].ToString(); Board x = new Board() { BoardID = int.Parse(rdr["BoardID"].ToString()), BoardName = rdr["BoardName"].ToString(), UserID = int.Parse(rdr["UserID"].ToString()) }; currentUser.BoardList.Add(x); } } } } return currentUser; }); return await t; }
public async Task<List<Board>> GetBoards(string sessionKey) { string procName = "proc_Boards_Get"; Task<List<Board>> t = Task.Run<List<Board>>(async () => { SqlCommand cmd = null; using (SqlConnection con = new SqlConnection(conString)) { await con.OpenAsync(); using (cmd = new SqlCommand(procName, con)) { cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@sessionKey", sessionKey); List<Board> boards = new List<Board>(); var rdr = cmd.ExecuteReader(); if(rdr.HasRows){ while(rdr.Read()){ Board x = new Board(){ UserID = int.Parse(rdr["UserID"].ToString()), BoardID = int.Parse(rdr["BoardID"].ToString()), BoardName = rdr["BoardName"].ToString(), VideoFolder = rdr["VideoFolder"].ToString() }; boards.Add(x); } } return boards; } } }); return await t; }