سلام دوستان.
بهترین روش واسه اینکه موقع ویرایش چک کنیم که داده ی ویرایش شده تکراری نباشه چیه ؟
البته با Entity Framework
موقع ثبت راحت میشه چک کرد . موقع ویرایش چطور ؟
من تو جدولم 4 تا فیلد دارم آی دی(کلید اصلی) - کد - نام - نام خانوادگی اینجوری پر شده :
کد---------------------نام -----------------------نام خانوادگی
1----------------------علی ----------------------عالی
2--------------------حسن ---------------------صالحی
دو حالت داره:
اول:
کاربر کد رو ویرایش نمیکنه و فقط نام یا نام خانوادگی رو ویرایش میکنه
(اینجا رو چه کنم ؟)
دوم:
کاربر در رکورد دوم کد رو هم ویرایش میکنه و به جای 2 مینویسه 1
(اینجا رو چه کنم ؟)
این اکشن Create من هست و مشکل ندارم موقع ثبت باهاش
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "PersonId,PersonCode,PersonName,PersonFamily")] People people)
{
if (ModelState.IsValid)
{
if (!db.People.Any(c=>c.PersonCode==people.PersonCode .Trim().ToLower()))
{
db.People.Add(people);
db.SaveChanges();
return RedirectToAction("Index");
}
else
{
ModelState.AddModelError("PersonCode", "کد وارد شده تکراری می باشد");
}
}
return View(people);
}
ولی اینجا تو ادیت چه کدی باس بنویسم واسه چک کردن ؟
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit([Bind(Include = "PersonId,PersonCode,PersonName,PersonFamily")] People people)
{
if (ModelState.IsValid)
{
db.Entry(people).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(people);
}