ما در این آموزش قصد داریم تا از یک Web Service در برنامه ویندوز فرم استفاده کنیم
اول از همه باید یک Web Service بسازید که آموزش آن در لینک زیر قراردارد:
فارس لرن - آموزش ساخت وب سرویس در سی شارپ (farslearn.com)
وب سرویس خود را اجرا کنید
دستور زیر را وارد کنید تا یک class از وب سرویس ایجاد شود
wsdl /language:cs https://localhost:[port]/PaymentService.asmx
کلاس را به پروژه ویندوز فرم خود وارد کنید و بعد DLL با نام زیر را به پروژه ویندوز فرم خود رفرنس دهید
System.Web.Services.dll
استفاده از Web Service در پروژه ویندوز فرم
کد زیر را به رویداد لود فرم اضافه کنید تا تمامی دیتا ها در دیتاگریدویو لود شود
private void frmPayment_Load(object sender, EventArgs e) { payment = new PaymentService(); paymentBindingSource.DataSource = payment.GetAll(); }
کد زیر برای متد insert استفاده می شود و شما دیتا اضافه می کنید
private void btnInsert_Click(object sender, EventArgs e) { payment.Insert(txtFullName.Text, Convert.ToDecimal(txtAmount.Text), txtNote.Text); Clear(); paymentBindingSource.DataSource = payment.GetAll(); }
متد اپدیت کردن یک دیتا
private void btnUpdate_Click(object sender, EventArgs e) { paymentBindingSource.EndEdit(); Payment obj = paymentBindingSource.Current as Payment; if (obj != null) { payment.Update(obj.Id, obj.FullName, obj.Amount ?? 0, obj.Note); Clear(); paymentBindingSource.DataSource = payment.GetAll(); } }
تابع کلیر کردن تکست باکس ها
void Clear() { txtFullName.Text = string.Empty; txtAmount.Text = string.Empty; txtNote.Text = string.Empty; }
و در نهایت متد پاک کردن دیتا
private void btnDelete_Click(object sender, EventArgs e) { Payment obj = paymentBindingSource.Current as Payment; if (obj != null) { if (MessageBox.Show("Are you sure want to delete this record?", "Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { payment.Delete(obj.Id); Clear(); paymentBindingSource.DataSource = payment.GetAll(); } } }
تمام.