PDA

View Full Version : اضافه کردن به یک فیلد



mohammad2407
سه شنبه 10 اردیبهشت 1392, 01:44 صبح
سلام دوستان عزیز من در حال نوشتن یک برنامه انبار داری هستم میخوام موجودی یک کالا افزایش بدم

مثلا از یک کالا در انبار 20 تا داریم

در خرید بعدی 5 تای دیگه از همون کالا خریداری کردیم

میخوام وقتی نوشتم 5 و بعد روی دکمه ثبت کلیک کردم

فیلد تعداد محصول من بشه 25

اگر متوجه نشدیت بگین بیشتر توضیح بدم

اگر میشه به صورت LINQ آموزش بدید :لبخندساده:

مهدی هادیان2
سه شنبه 10 اردیبهشت 1392, 07:17 صبح
بسم الله الرحمن الرحیم
با سلام
using(Context context=new Context())
{
initioalStock = context.InitioalStock.Where(m => m.ProductId == ID).First();
int LastCount =initioalStock.Count;
initioalStock.Count = Convert.ToInt32(this.txtNumber.Text) + LastCount;
context.SaveChanges();
}
موفق باشید.

mohammad2407
چهارشنبه 11 اردیبهشت 1392, 01:42 صبح
میشه در مورد InitioalStock توضیح بدید

Mahmoud.Afrad
چهارشنبه 11 اردیبهشت 1392, 03:02 صبح
توی اون مثال InitioalStock نام موجودیت(جدول) و Count هم نام فیلد تعداد هست که میخوای بهش اضافه کنی.

اینم شبیه مثال بالاست:

if (!string.IsNullOrWhiteSpace(txtId.Text) && !string.IsNullOrWhiteSpace(txtTedad.Text))
{
var item = db.Tbls.SingleOrDefault(i => i.Id == int.Parse(txtId.Text));
if (item != null)
{
item.Tedad += int.Parse(txtTedad.Text);
db.SubmitChanges();
}
}

مهدی هادیان2
چهارشنبه 11 اردیبهشت 1392, 06:07 صبح
بسم الله الرحمن الرحیم

میشه در مورد InitioalStock توضیح بدید
با سلام
موجودی کالا در انبار است.

mohammad2407
چهارشنبه 11 اردیبهشت 1392, 15:06 عصر
اقا محمود ثبت نمیکنه . خطا و چیزی هم نمیده حتی پیغام موفقیت هم میده ولی ثبت نمیشه

اسم جدول من anbars هست

و اسم فیلد مورد نظر Number هست از نوع bigint

کد هم به صورت زیر شده


if (!string.IsNullOrWhiteSpace(textBox4.Text))
{
var item = db.anbars.SingleOrDefault(n => n.Number == Int64.Parse(textBox4.Text));
if (item != null)
{
item.Number += Int64.Parse(textBox4.Text);
db.anbars.InsertOnSubmit(tb2);
}

}

db.SubmitChanges();
MessageBox.Show("فاکتور خرید با موفقیت ثبت شد", "پیام سیستم");


tb2 در سطح کلاس تعریف کردم

Mahmoud.Afrad
چهارشنبه 11 اردیبهشت 1392, 18:05 عصر
textBox4 چیه؟ اسمشو اصلاح کن بفهمیم این مقدار id هست یا تعداد.
داخل SingleOrDefault برحسب id رکورد رو انتخاب کن و بعد تعداد رو به number اضافه کن.

مهدی هادیان2
چهارشنبه 11 اردیبهشت 1392, 22:43 عصر
بسم الله الرحمن الرحیم
با سلام
کد زیر رو امتحان کنید:
if (!string.IsNullOrWhiteSpace(textBox4.Text))
{
long ID = Int64.Parse(textBox4.Text);
/*Dar n => n.Number == ID nabayad Number ro bezarid,Code kala ro bezarid.*/
var item = db.anbars.SingleOrDefault(n => n.Number == ID);
if (item != null)
{
item.Number += Int64.Parse(textBox4.Text);
db.SaveChanges();
}

}

if(db.SaveChanges()==1)
MessageBox.Show("فاکتور خرید با موفقیت ثبت شد", "پیام سیستم");
موفق باشید.