You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123 lines
4.3 KiB

using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using CoreWebAPI1.Models;
using BWPMModels;
using System.Data;
using SecuringWebApiUsingApiKey.Attributes;
// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
namespace CoreWebAPI1.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UserController : ControllerBase
{
// GET: api/<UserController>
[HttpGet]
public List<User> Get()
{
dbhelper dbh = new dbhelper();
//dbh.Get_Tabledata("Select * from [user]", false, true);
List<BWPMModels.User> Details = new List<BWPMModels.User>();
return dbh.ConvertDataTable<BWPMModels.User>(dbh.Get_Tabledata("Select * from [user]", false, true));
}
// GET api/<UserController>/5
[HttpGet("Email/{email}")]
public List<User> GetByEmail(string email)
{
dbhelper dbh = new dbhelper();
List<User> Details = new List<User>();
return dbh.ConvertDataTable<User>(dbh.Get_Tabledata("Select * from [user] where email='" + email+"'", false, true));
}
// GET api/<UserController>/5
[HttpGet("{id}")]
public List<User> Get(int id)
{
dbhelper dbh = new dbhelper();
List<User> Details = new List<User>();
return dbh.ConvertDataTable<User>(dbh.Get_Tabledata("Select * from [user] where id=" + id.ToString(), false, true));
}
[HttpGet("{username},{passwort}")]
public List<User> Get(string username, string passwort)
{
dbhelper dbh = new dbhelper();
List<User> Details = new List<User>();
return dbh.ConvertDataTable<User>(dbh.Get_Tabledata("Select * from [user] where aktiv=1 and username='"+username+"' and passwort='"+passwort+"'", false, true));
}
// POST api/<UserController>
[HttpPost]
public void Post([FromBody] User user)
{
dbhelper dbh = new dbhelper();
dbh.Get_Tabeldata_for_Update("Select top 1 * from [user] where id=-1", false, true);
DataRow dr = dbh.dsdaten.Tables[0].NewRow();
user.GetType().GetProperties().ToList().ForEach(f =>
{
try
{
if ( f.PropertyType == typeof(DateTime))
{
dr[f.Name] = (DateTime)f.GetValue(user, null);
}
else
{
dr[f.Name] = f.GetValue(user, null);
}
}
catch (Exception ex) { string s = ex.Message; }
});
dbh.dsdaten.Tables[0].Rows.Add(dr);
dbh.Update_Tabeldata();
}
// PUT api/<UserController>/5
[HttpPut("{id}")]
public void Put(int id, [FromBody] User user)
{
dbhelper dbh = new dbhelper();
dbh.Get_Tabeldata_for_Update("Select top 1 * from [user] where id="+id.ToString(), false, true);
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
user.GetType().GetProperties().ToList().ForEach(f =>
{
try
{
if (f.PropertyType == typeof(DateTime))
{
dr[f.Name] = (DateTime)f.GetValue(user, null);
}
else
{
dr[f.Name] = f.GetValue(user, null);
}
}
catch (Exception ex) { string s = ex.Message; }
});
dr["mutiert_am"] = DateTime.Now;
dbh.Update_Tabeldata();
}
// DELETE api/<UserController>/5
[HttpDelete("{id}")]
public void Delete(int id)
{
dbhelper dbh = new dbhelper();
dbh.Get_Tabeldata_for_Update("Select top 1 * from [user] where id="+id, false, true);
DataRow dr = dbh.dsdaten.Tables[0].Rows[0];
dr["Aktiv"] = false;
dr["mutiert_am"] = DateTime.Now;
dbh.Update_Tabeldata();
}
}
}