DEV Community

harsh123
harsh123

Posted on

5 4

How To API in .NET

PersonController

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using PersonAPI.Models;

using System.Web.Http;

namespace PersonAPI.Controllers
{
    public class PersonController : ApiController
    {
        DB DBlayer = new DB();

        string message = string.Empty;
        // GET: Person


        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        [System.Web.Http.HttpGet]

        public DataSet GetRecord(int id)
        {
            DataSet ds = DBlayer.GetRecordbyID(id, out message);
            return ds;
        }

        [System.Web.Http.HttpPost]
        public string PostCreatePerson([FromBody] PersonModel person)
        {
            string message = "";
            message = DBlayer.InsertPerson(person);
            return message;
        }

        [System.Web.Http.HttpPut]

        public string PutUpdatePerson(int id, [FromBody] PersonModel person) 
        {
            string message = "";
            message = DBlayer.UpdatePerson(person);
            return message;
        }

        [System.Web.Http.HttpDelete]

        public string DeletePerson(int id)
        {
            string message = "";
            message = DBlayer.DeletePerson(id);
            return message;
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

DB.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Data;
using PersonAPI.Models;

namespace PersonAPI
{
    public class DB
    {
        public SqlConnection ConnecttoDB()
        {
            string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename='D:\NUV\Second Year\Sem 4\ASP.NET\PersonAPI\PersonAPI\App_Data\Person.mdf';Integrated Security=True";
            SqlConnection con = new SqlConnection(connectionString);
            con.Open();
            return con;

        }

        public DataSet GetRecordbyID(int id, out string message)
        {
            message = "";
            SqlConnection con = ConnecttoDB();
            SqlCommand com = new SqlCommand("getPersonbyID", con);
            com.CommandType = System.Data.CommandType.StoredProcedure;
            com.Parameters.AddWithValue("@id", id);

            SqlDataAdapter adp = new SqlDataAdapter(com);
            DataSet ds = new DataSet();
            adp.Fill(ds);

            return ds;
            con.Close();
            message = "Success";
        }

        public string InsertPerson(PersonModel person)
        {
            string message = "";
            SqlConnection con = ConnecttoDB();
            SqlCommand com = new SqlCommand("gpInsertPerson", con);
            com.CommandType = CommandType.StoredProcedure;

            com.Parameters.AddWithValue("@id", person.id);
            com.Parameters.AddWithValue("@Name", person.Name);
            com.Parameters.AddWithValue("@City", person.City);
            com.Parameters.AddWithValue("@Phoneno", person.phoneno);

            com.ExecuteNonQuery();
            message = "Success";
            return message;

        }

        public string UpdatePerson(PersonModel person)
        {
            string message = "";
            SqlConnection con = ConnecttoDB();
            SqlCommand com = new SqlCommand("gpUpdatePerson", con);
            com.CommandType = CommandType.StoredProcedure;

            com.Parameters.AddWithValue("@id", person.id);
            com.Parameters.AddWithValue("@Name", person.Name);
            com.Parameters.AddWithValue("@City", person.City);
            com.Parameters.AddWithValue("@Phoneno", person.phoneno);

            com.ExecuteNonQuery();
            message = "Success";
            return message;

        }

        public string DeletePerson(int id)
        {
            string message = "";
            SqlConnection con = ConnecttoDB();
            SqlCommand com = new SqlCommand("spDeletePerson", con);
            com.CommandType = CommandType.StoredProcedure;

            com.Parameters.AddWithValue("@id", id);


            com.ExecuteNonQuery();
            message = "Success";
            return message;

        }

    }

}
Enter fullscreen mode Exit fullscreen mode

Model

public int id { get; set; }

public string Name { get; set; }

public string City { get; set; }

public string phoneno { get; set; }
Enter fullscreen mode Exit fullscreen mode

Store Procedure

Delete Person

CREATE PROCEDURE [dbo].[DeletePerson]
    @id int
AS
BEGIN
    delete from Person where Id = @id;
END;
Enter fullscreen mode Exit fullscreen mode

Insert

CREATE PROCEDURE [dbo].[getInsertPerson]
    @id int,
    @name varchar(50),
    @city varchar(50),
    @phone nvarchar(50)
AS
BEGIN
    insert into Person (ID, Name, City, Phone) values (@id,@name, @city, @phone);
END;
Enter fullscreen mode Exit fullscreen mode

getPerson

CREATE PROCEDURE [dbo].[getPerson]

AS
BEGIN
    SELECT * from Person
END;
Enter fullscreen mode Exit fullscreen mode

getPersonID

CREATE PROCEDURE [dbo].[getPerson]

AS
BEGIN
    SELECT * from Person
END;
Enter fullscreen mode Exit fullscreen mode

update person

CREATE PROCEDURE [dbo].[getUpdatePersonn]
    @id int,
    @name varchar(50),
    @city varchar(50),
    @phone nvarchar(50)
AS
BEGIN
    Update Person set Name = @name, City = @city, Phone = @phone where Id = @id
END
Enter fullscreen mode Exit fullscreen mode

Folder Structure

Image description

Image description

Image description
Read More

Heroku

Built for developers, by developers.

Whether you're building a simple prototype or a business-critical product, Heroku's fully-managed platform gives you the simplest path to delivering apps quickly — using the tools and languages you already love!

Learn More

Top comments (0)

Image of DataStax

AI Agents Made Easy with Langflow

Connect models, vector stores, memory and other AI building blocks with the click of a button to build and deploy AI-powered agents.

Get started for free

👋 Kindness is contagious

If this post resonated with you, feel free to hit ❤️ or leave a quick comment to share your thoughts!

Okay