Advertisement
jwetoszka

users api

Mar 25th, 2022
807
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using Microsoft.AspNetCore.Http;
  2. using Microsoft.AspNetCore.Mvc;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Threading.Tasks;
  7. using System.Data.SqlClient;
  8. using Microsoft.Extensions.Configuration;
  9. using System.Data;
  10. using WebApplication1.Models;
  11.  
  12. namespace WebApplication1.Controllers
  13. {
  14.     //[Route("api/[controller]")]
  15.     //[ApiController]
  16.     public class UsersController : ControllerBase
  17.     {
  18.  
  19.         private readonly IConfiguration _configuration;
  20.         public UsersController(IConfiguration configuration)
  21.         {
  22.             _configuration = configuration;
  23.         }
  24.  
  25.         [HttpGet]
  26.         [Route("users")]
  27.         public JsonResult GetUsers()
  28.         {
  29.             string query = @"select * from  dbo.users";
  30.             string sqlDataSource = _configuration.GetConnectionString("AzureSQL");
  31.             DataTable table = new DataTable();
  32.             SqlDataReader myReader;
  33.             using (SqlConnection myCon = new SqlConnection(sqlDataSource))
  34.             {
  35.                 myCon.Open();
  36.                 using (SqlCommand myCommand = new SqlCommand(query, myCon))
  37.                 {
  38.                     myReader = myCommand.ExecuteReader();
  39.                     table.Load(myReader);
  40.                     myReader.Close();
  41.                     myCon.Close();
  42.                 }
  43.             }
  44.             return new JsonResult(table);
  45.         }
  46.  
  47.  
  48.         [HttpGet]
  49.         [Route("user/{id}")]
  50.         public JsonResult GetUser(int id)
  51.         {
  52.             string query = @"select * from  dbo.users where ID=@userID";
  53.             string sqlDataSource = _configuration.GetConnectionString("AzureSQL");
  54.             DataTable table = new DataTable();
  55.             SqlDataReader myReader;
  56.             using (SqlConnection myCon = new SqlConnection(sqlDataSource))
  57.             {
  58.                 myCon.Open();
  59.                 using (SqlCommand myCommand = new SqlCommand(query, myCon))
  60.                 {
  61.                     myCommand.Parameters.AddWithValue("@userID", id);
  62.                     myReader = myCommand.ExecuteReader();
  63.                     table.Load(myReader);
  64.                     myReader.Close();
  65.                     myCon.Close();
  66.                 }
  67.             }
  68.  
  69.             return new JsonResult(table);
  70.         }
  71.  
  72.         [HttpPost]
  73.         [Route("user")]
  74.         public JsonResult Post([FromBody] User user)
  75.         {
  76.             string query = @"INSERT INTO dbo.users (LastName, FirstName, Address, City, ZipCode, Country, Email, AvatarURL)
  77.                        VALUES(
  78.                        @userLastName,
  79.                        @userFirstName,
  80.                        @userAddress,
  81.                        @userCity,
  82.                        @userZipCode,
  83.                        @userCountry,
  84.                        @userEmail,
  85.                        @userAvatarURL)
  86.                        ";
  87.  
  88.             DataTable table = new DataTable();
  89.             string sqlDataSource = _configuration.GetConnectionString("AzureSQL");
  90.             SqlDataReader myReader;
  91.             using (SqlConnection myCon = new SqlConnection(sqlDataSource))
  92.             {
  93.                 myCon.Open();
  94.                 using (SqlCommand myCommand = new SqlCommand(query, myCon))
  95.                 {
  96.                     myCommand.Parameters.AddWithValue("@userLastName", user.LastName);
  97.                     myCommand.Parameters.AddWithValue("@userFirstName", user.FirstName);
  98.                     myCommand.Parameters.AddWithValue("@userAddress", user.Address);
  99.                     myCommand.Parameters.AddWithValue("@userCity", user.City);
  100.                     myCommand.Parameters.AddWithValue("@userZipCode", user.ZipCode);
  101.                     myCommand.Parameters.AddWithValue("@userCountry", user.Country);
  102.                     myCommand.Parameters.AddWithValue("@userEmail", user.Email);
  103.                     myCommand.Parameters.AddWithValue("@userAvatarURL", user.AvatarURL);
  104.  
  105.                     myReader = myCommand.ExecuteReader();
  106.                     table.Load(myReader);
  107.                     myReader.Close();
  108.                     myCon.Close();
  109.                 }
  110.             }
  111.             return new JsonResult("Added Successfully");
  112.         }
  113.  
  114.  
  115.  
  116.         [HttpPut]
  117.         [Route("user")]
  118.         public JsonResult Put([FromBody] User user)
  119.         {
  120.             string query = @"UPDATE dbo.users SET LastName=@userLastName,
  121.                            FirstName = @userFirstName,
  122.                            Address = @userAddress,
  123.                            City = @userCity,
  124.                            ZipCode = @userZipCode,
  125.                            Country = @userCountry,
  126.                            Email = @userEmail,
  127.                            AvatarURL = @userAvatarURL
  128.                            WHERE ID = @userID";
  129.  
  130.             DataTable table = new DataTable();
  131.             string sqlDataSource = _configuration.GetConnectionString("AzureSQL");
  132.             SqlDataReader myReader;
  133.             using (SqlConnection myCon = new SqlConnection(sqlDataSource))
  134.             {
  135.                 myCon.Open();
  136.                 using (SqlCommand myCommand = new SqlCommand(query, myCon))
  137.                 {
  138.                     myCommand.Parameters.AddWithValue("@userLastName", user.LastName);
  139.                     myCommand.Parameters.AddWithValue("@userFirstName", user.FirstName);
  140.                     myCommand.Parameters.AddWithValue("@userAddress", user.Address);
  141.                     myCommand.Parameters.AddWithValue("@userCity", user.City);
  142.                     myCommand.Parameters.AddWithValue("@userZipCode", user.ZipCode);
  143.                     myCommand.Parameters.AddWithValue("@userCountry", user.Country);
  144.                     myCommand.Parameters.AddWithValue("@userID", user.ID);
  145.                     myCommand.Parameters.AddWithValue("@userEmail", user.Email);
  146.                     myCommand.Parameters.AddWithValue("@userAvatarURL", user.AvatarURL);
  147.  
  148.                     myReader = myCommand.ExecuteReader();
  149.                     table.Load(myReader);
  150.                     myReader.Close();
  151.                     myCon.Close();
  152.                 }
  153.             }
  154.             return new JsonResult("Updated Successfully");
  155.         }
  156.  
  157.  
  158.         [HttpDelete]
  159.         [Route("user/{id}")]
  160.         public JsonResult DeleteUser(int id)
  161.         {
  162.             string query = @"DELETE FROM dbo.users where ID=@userID";
  163.             string sqlDataSource = _configuration.GetConnectionString("AzureSQL");
  164.             DataTable table = new DataTable();
  165.             SqlDataReader myReader;
  166.             using (SqlConnection myCon = new SqlConnection(sqlDataSource))
  167.             {
  168.                 myCon.Open();
  169.                 using (SqlCommand myCommand = new SqlCommand(query, myCon))
  170.                 {
  171.                     myCommand.Parameters.AddWithValue("@userID", id);
  172.                     myReader = myCommand.ExecuteReader();
  173.                     table.Load(myReader);
  174.                     myReader.Close();
  175.                     myCon.Close();
  176.                 }
  177.             }
  178.  
  179.             return new JsonResult("Deleted Successfully");
  180.         }
  181.  
  182.  
  183.     }
  184. }
  185.  
Advertisement
RAW Paste Data Copied
Advertisement