Membuat Fungsi ADD di WEB API 2 atau MVC ASP.NET C# dengan ADO.NET dan Dictionary

Membuat Fungsi ADD di Web API2 atau MVC  ASP.NET C# dengan ADO.NET dan Dictionary

Untuk mengikuti ini yang kalian perlukan adalah :

  1. Mengetahui membuat koneksi untuk Web Api2 ASP.NET dengan C# menggunakan ADO.NET, bisa kalian pelajari di posting sebelumnya di sini
  2. Mengetahui  Getting started Membuat ASP.Net Web API2 C# Dengan ADO.NET , bisa kalian pelajari di posting sebelumnya di sini
  3. Mengerti membuat atau mengubah Class di models dan Controllers yang sudah dibahas sebelumnya juga.
  4. Perlu kalian ketahui bahwa Fungsi ini atau konsep ini bisa di gunakan untuk MVC juga, tetapi yang kita bahas sekarang adalah penerapan fungsi di Web API2 memakai C# yang nanti nya akan saya hubungkan dengan JQUERY yaitu JTABLE.

Langkah pertama yang harus kita buat adalah membuat fungsi ADD atau tambah untuk umum atau bisa di pakai dengan semua table dengan memakai C# ADO.NET dan Dictionary , untuk itu kita perlu menambahkan fungsi didalam Class Conn yang sudah kita bahas sebelumnya. source code nya bisa dilihat di bawah ini :

 public int DataInsertDict(string Tablename, Dictionary<string, string> sql)
 {
 // int LastID = 0;
 String file = "";
 String value = "";
 int k = 0;
 try
 {
 foreach (KeyValuePair<string, string> entry in sql)
 {
 k++;
 file += (k != 1 ? "," : "") + "[" + entry.Key + "]";
 value += (k != 1 ? "," : "") + "@" + entry.Key;

 }
 string query = "Insert into " + Tablename + " (" + file + ") VALUES(" + value + ");select @@identity;";
 if (SqlCon.State.ToString() == "Open")
 {
 SqlCommand cmd = new SqlCommand(query, SqlCon);
 cmd.Connection = SqlCon;

 foreach (KeyValuePair<string, string> entry in sql)
 {
 cmd.Parameters.AddWithValue("@" + entry.Key, entry.Value);
 }
 cmd.ExecuteNonQuery();

 // LastID = this.ToInt(cmd.ExecuteScalar()); untuk memakai id nomor

 }

 return 1;

 }
 catch
 {
 return 0;
 }

 }

 public int ToInt(object s)
 {

 try
 {
 return Int32.Parse(s.ToString());
 }
 catch
 {

 return 0;
 }
 }

 public string ToString(string p)
 {
 try
 {
 return p.ToString();
 }
 catch
 {
 return p;
 }
 }

setelah itu kita akan menambah fungsi di class “CustomerDetail” yang sudah kita buat sebelumnya. kita akan menambah fungsi Tambah yang didalamnya berkaitan dengan yang kita buat fungsi diatas. source code nya lihat di bawah ini :

 public object Tambah(Customer f)
 {
 int i = 0;
 try
 {

 DB.Open();
 Dictionary<string, string> data = new Dictionary<string, string>();
data["CustomerID"] = DB.ToString(f.CustomerID);
data["CompanyName"] = DB.ToString(f.CompanyName);
data["ContactName"] = DB.ToString(f.ContactName);
data["ContactTitle"] = DB.ToString(f.ContactTitle);
data["Address"] = DB.ToString(f.Address);
data["City"] = DB.ToString(f.City);
data["Region"] = DB.ToString(f.Region);
data["PostalCode"] = DB.ToString(f.PostalCode);
data["Country"] = DB.ToString(f.Country);
data["Phone"] = DB.ToString(f.Phone);
data["Fax"] = DB.ToString(f.Fax);

 i = DB.DataInsertDict("[Customers]", data);
 DB.Close();
 if (i > 0)
 {
 return new
 {
 Result = "OK",
 Record = f
 };
 }
 else
 {
 return new
 {
 Result = "False"
 };
 }
 }
 catch
 {
 return new
 {
 Result = "False"
 };
 }
 }

setelah itu tambah fungsi di class interface nya yang telah kita beri nama class nya “iCustomerDetail” di posting sebelumnya, untuk tambahan nya hanya menambahkan “object Tambah(Customer cus);“. untuk source code detailnya  sebagai berikut :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MVC_API_ADO.Models
{
 public interface iCustomerDetail
 {

 object GetAll(int jtStartIndex, int jtPageSize, string jtSorting);

 object Tambah(Customer cus);
 }
}

Oke kawan, kita akan menambahkan fungsi di Controllers dengan nama “TambahCustomers()” di class yang sudah kita buat di posting sebelumnya yaitu class “CustomerController” , tambahan nya sebegai berikut :

 [Route("TambahCustomers")]
 [HttpPost]
 public object TambahCustomers(Customer cus)
 {
 return repository.Tambah(cus);
 }

setelah itu kita coba dengan menekan tombol F5

lalu klik link API di header, setelah itu akan muncul seperti di bawah ini :

b1

klik link apa yang baru kita buat di atas, lalu coba lah dengan menekan tombol Test API di pojok kanan bawah, setelah itu masukan input di kolom samples seperti di bawah ini :

b2

untuk menginput data hati-hati dengan max string nya, max string pada fields bisa lihat dibawah ini :

b2a

jika sudah tekan tombol Send lihat apakah sudah sukses atau belum, contoh sukses bisa lihat disini :

b3

jika gagal, coba cek lagi apa ada yang kelebihan dari max string fields nya ?

untuk hasilnya bisa anda lihat di dalam database table Customers contoh nya :

b4

Selamat Mencoba, dan tunggu posting selanjutnya.

Wassalam.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s