public async Task <ActionResult <EvaluacionMensual> > Put(int ID, EvaluacionMensual evaluacionMensual) { var entityId = (int)typeof(EvaluacionMensual).GetProperty("ID").GetValue(evaluacionMensual); if (ID != entityId) { return(BadRequest()); } Connection conex = new Connection(); SqlConnection connection = new SqlConnection(conex.connectionString); string sql = $"UPDATE EvaluacionMensual SET " + $"IDCliente = {evaluacionMensual.IDCliente}, " + $"IDMes = {evaluacionMensual.IDMes}, " + $"Calorias = {evaluacionMensual.Calorias}, " + $"Altura = {evaluacionMensual.Altura}, " + $"Peso = {evaluacionMensual.Peso}, " + $"Grasa = {evaluacionMensual.Grasa}, " + $"Comentarios = '{evaluacionMensual.Comentarios}' " + $"WHERE ID = {evaluacionMensual.ID};"; SqlCommand cmd = new SqlCommand(sql, connection); cmd.CommandType = CommandType.Text; connection.Open(); try { int x = await cmd.ExecuteNonQueryAsync(); if (x > 0) { return(StatusCode(200, evaluacionMensual)); } else { return(StatusCode(501, "No se pudo modificar")); } } catch (Exception ex) { connection.Close(); return(StatusCode(500, ex.Message)); } }
public async Task <ActionResult <EvaluacionMensual> > Get(int id) { Connection conex = new Connection(); SqlConnection connection = new SqlConnection(conex.connectionString); string sql = $"SELECT * FROM EvaluacionMensual WHERE ID = {id};"; SqlCommand cmd = new SqlCommand(sql, connection); cmd.CommandType = CommandType.Text; SqlDataReader reader; EvaluacionMensual evaluacionMensual = new EvaluacionMensual(); connection.Open(); try { reader = await cmd.ExecuteReaderAsync(); if (reader.Read()) { evaluacionMensual = new EvaluacionMensual(); evaluacionMensual.ID = int.Parse(reader[0].ToString()); evaluacionMensual.IDCliente = int.Parse(reader[1].ToString()); evaluacionMensual.IDMes = int.Parse(reader[2].ToString()); evaluacionMensual.Calorias = int.Parse(reader[3].ToString()); evaluacionMensual.Altura = float.Parse(reader[4].ToString()); evaluacionMensual.Peso = float.Parse(reader[5].ToString()); evaluacionMensual.Grasa = float.Parse(reader[6].ToString()); evaluacionMensual.Comentarios = reader[7].ToString(); connection.Close(); return(evaluacionMensual); } else { connection.Close(); return(NotFound()); } } catch (Exception ex) { connection.Close(); return(StatusCode(500, ex.Message)); } }
public async Task <ActionResult <EvaluacionMensual> > Post(EvaluacionMensual evaluacionMensual) { Connection conex = new Connection(); SqlConnection connection = new SqlConnection(conex.connectionString); string sql = $"INSERT INTO EvaluacionMensual " + $"VALUES(" + $"{evaluacionMensual.IDCliente}, " + $"{evaluacionMensual.IDMes}, " + $"{evaluacionMensual.Calorias}, " + $"{evaluacionMensual.Altura}, " + $"{evaluacionMensual.Peso}, " + $"{evaluacionMensual.Grasa}, " + $"'{evaluacionMensual.Comentarios}'" + $");"; SqlCommand cmd = new SqlCommand(sql, connection); cmd.CommandType = CommandType.Text; connection.Open(); try { int x = await cmd.ExecuteNonQueryAsync(); if (x > 0) { return(StatusCode(200, evaluacionMensual)); } else { return(StatusCode(501, "No se pudo registrar")); } } catch (Exception ex) { connection.Close(); return(StatusCode(500, ex.Message)); } }
public async Task <ActionResult <IEnumerable <EvaluacionMensual> > > Get(string filter = "", string range = "", string sort = "") { Connection conex = new Connection(); SqlConnection connection = new SqlConnection(conex.connectionString); string sql = "SELECT * FROM EvaluacionMensual"; var t = new EvaluacionMensual(); if (!string.IsNullOrEmpty(filter)) { var filterVal = (JObject)JsonConvert.DeserializeObject(filter); int i = 0; foreach (var f in filterVal) { var valueArr = f.Value.ToArray(); var valueString = valueArr[0].Value <string>(); if (t.GetType().GetProperty(f.Key.ToUpper()).PropertyType == typeof(string)) { if (i == 0) { sql += $" where {f.Key.ToUpper()} = '{valueString}'"; } else { sql += $" OR where {f.Key.ToUpper()} = '{valueString}'"; } } else { if (i == 0) { sql += $" where {f.Key.ToUpper()} = {valueString}"; } else { sql += $" OR where {f.Key.ToUpper()} = {valueString}"; } } i += 1; } } if (!string.IsNullOrEmpty(sort)) { var sortVal = JsonConvert.DeserializeObject <List <string> >(sort); var condition = sortVal.First(); var order = sortVal.Last() == "ASC" ? "" : "DESC"; sql += $" ORDER BY {condition} {order}"; } var from = 0; var to = 0; if (!string.IsNullOrEmpty(range)) { var rangeVal = JsonConvert.DeserializeObject <List <int> >(range); from = rangeVal.First(); to = rangeVal.Last(); sql += $" OFFSET {from} ROWS FETCH NEXT {to - from + 1} ROWS ONLY"; } sql += ";"; Console.WriteLine("Last SQL", sql); SqlCommand cmd = new SqlCommand(sql, connection); cmd.CommandType = CommandType.Text; SqlDataReader reader; connection.Open(); List <EvaluacionMensual> evaluacionMensuals = new List <EvaluacionMensual>(); try { reader = await cmd.ExecuteReaderAsync(); EvaluacionMensual evaluacionMensual; while (reader.Read()) { evaluacionMensual = new EvaluacionMensual(); evaluacionMensual.ID = int.Parse(reader[0].ToString()); evaluacionMensual.IDCliente = int.Parse(reader[1].ToString()); evaluacionMensual.IDMes = int.Parse(reader[2].ToString()); evaluacionMensual.Calorias = int.Parse(reader[3].ToString()); evaluacionMensual.Altura = float.Parse(reader[4].ToString()); evaluacionMensual.Peso = float.Parse(reader[5].ToString()); evaluacionMensual.Grasa = float.Parse(reader[6].ToString()); evaluacionMensual.Comentarios = reader[7].ToString(); evaluacionMensuals.Add(evaluacionMensual); } } catch (Exception ex) { return(StatusCode(500, ex.Message)); } finally { connection.Close(); } var count = evaluacionMensuals.Count(); Response.Headers.Add("Access-Control-Expose-Headers", "Content-Range"); Response.Headers.Add("Content-Range", $"{typeof(EvaluacionMensual).Name.ToLower()} {from}-{to}/{count}"); return(evaluacionMensuals); }