MEMBUAT FUNGSI EDIT ATAU UBAH DI WEB API 2 ATAU MVC ASP.NET C# DENGAN ADO.NET DAN Dictionary

Membuat Fungsi EDIT atau UBAH 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# menggunakanADO.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.

Kita akan menambah fungsi untuk edit class “Conn” di dalam models, source nya sebagai berikut:

public int DataUpdateDict(string Tablename, Dictionary<string, string> sql, string namekey, string valueKey)
 {
 int LastID = 0;
 String file = "";
 String value = "";
 String sett = "";
 int k = 0;
 try
 {
 foreach (KeyValuePair<string, string> entry in sql)
 {
 k++;
 string val = entry.Value;
 if(string.IsNullOrEmpty(val) == false){
 file += (k != 1 ? "," : "") + "[" + entry.Key + "]";
 value += (k != 1 ? "," : "") + "@" + entry.Key;

 sett += (k != 1 ? "," : "") + entry.Key + "=" + "@" + entry.Key;

 }
 }
 string query = "UPDATE " + Tablename + " SET " + sett + " where " + namekey + " = @valueKey";
 if (SqlCon.State.ToString() == "Open")
 {
 SqlCommand cmd = new SqlCommand(query, SqlCon);
 //SqlCommand cmd = new SqlCommand();
 cmd.Connection = SqlCon;

 foreach (KeyValuePair<string, string> entry in sql)
 {

 string val2 = entry.Value;
 if (string.IsNullOrEmpty(val2) == false)
 {
 cmd.Parameters.AddWithValue("@" + entry.Key, entry.Value);
 }
 }
 cmd.Parameters.AddWithValue("@valueKey", valueKey.ToString());
 //LastID = this.ToInt(cmd.ExecuteScalar()); // untuk memakai int
 int has = cmd.ExecuteNonQuery();
 LastID = has;
 }

 return this.ToInt(LastID);

 }
 catch
 {
 return 0;
 }

 }

lalu kita tambah juga fungsi di class “CustomerDetail” dan “iCustomerDetail” didalam “models“, lihat source dibawah :

CustomerDetail :

public object Ubah(Customer f)
{
 int i = 0;
 try
 {
 DB.Open();
 Dictionary<string, string> data = new Dictionary<string, string>();
 string id = "";
 id = 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);
 // data.Add("auth", "2");
 i = DB.DataUpdateDict("[Customers]", data, "CustomerID", id);
 DB.Close();
 if (i > 0) {
 return new
 {
 Result = "OK"
 };
 }else
 {
 return new
 {
 Result = "False"
 };
 }
 }
 catch
 {
 return new
 {
 Result = "False"
 };
 }
}

iCustomerDetail :

object Ubah(Customer cus);

setelah itu tambahkan di Controllers juga di “CustomerController” bisa dilihat di sini :

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

Selesai. tinggal kita testing apa yang kita buat tadi, untuk mengetest nya “CustomerID” diisi key yang ada didalam table database, lalu pilih field yang mau di edit, jika tidak bisa di hilangkan saja, contoh mengetest nya bisa di lihat di bawah ini :

{
  "CustomerID": "1lima",
  "CompanyName": "satu2",
  "Fax": "2211"
}

dari contoh di atas berarti bahwa, yang mau di edit adalah record yang CustomerID = “1lima” dan field yang mau di ubah adalah CompanyName dan Fax

Oke, selamat mencoba kawan, untuk pembahasan CRUD selesai disini. tunggu pembahasan MVC yang memakai jtable.

 

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