using System; using System.Collections.Generic; using Amazon.Lambda.Core; using Amazon.Lambda.APIGatewayEvents; using MySqlConnector; using System.Data; using classes; using Model; namespace PMF { public class GraphSettingsGet: Pmfbase { MySqlDataReader _reader; public APIGatewayProxyResponse GetGraphSettings(APIGatewayProxyRequest request, ILambdaContext context) { APIGatewayProxyResponse response = null; string statement = "DB::GetGraphSettings"; string userId = ""; List graphSettings = new List { }; try { string validationMessage = string.Empty; if (!Helper.IsRequestEmpty(request)) { var validRequest = Helper.ValidateRequestParameters(ref validationMessage, request.QueryStringParameters, "userId"); if (validRequest) { if (_con.State == ConnectionState.Closed) _con.Open(); userId = Helper.CleanInput(request.QueryStringParameters["userId"]); statement = "SELECT * FROM graph"; var cmd = new MySqlCommand(); cmd.Connection = _con; cmd.CommandText = statement; cmd.ExecuteNonQuery(); _reader = cmd.ExecuteReader(); if (_reader.HasRows) { while (_reader.Read()) { graphSettings.Add(new GraphSettings { GraphID = Convert.ToInt32(_reader["GraphID"]), GraphType = _reader["strGraphType"].ToString(), GraphTitle = _reader["strGraphTitle"].ToString(), GraphQuery = _reader["strGraphData"].ToString(), GraphDescription = _reader["strDescription"].ToString(), GraphX = _reader["strXColumn"].ToString(), GraphY = _reader["strYColumn"].ToString(), Active = Convert.ToInt32(_reader["blnActive"]) }); } _reader.Close(); response = HttpService.CreateResponse(200, payload: graphSettings); } else { response = HttpService.CreateResponse(200, payload: "No graphs found"); } } else { response = HttpService.CreateResponse(400, payload: validationMessage); } } else { response = HttpService.CreateResponse(400, payload: "No Parameters found"); } return response; } catch (Exception ex) { _logger.WriteLog(userId, statement, ex.Message, "DB"); return HttpService.CreateResponse(500, payload: ex.Message); } finally { if (_reader != null) _reader.Close(); if (_con != null || _con.State == ConnectionState.Open) _con.Close(); } } } }