جلوگیری از ویرایش زمان ثبت تراکنش
سلام دوستان عزیز .من داخل برنامم قسمت ویرایش تراکنش ها میخام کاری کنم که وقتی تراکنشی رو کاربر ویرایش کرد همه ی فیلدها به جز زمان(تاریخ) اون ویرایش بشه . چون نباید قاعدتا زمانش رو ویرایش کنه . من یک بار کدو گذاشتم داخل کانستراکتور که زمان رو اتوماتیک خودش ثبت کنه یک بار هم دستی توی قسمت ایجاد تراکنش زمان حال رو میگرفت و اضافه میکرد . ولی هر دو روش جواب نداد . ممنون میشم راهنمایی کنید . مرسی
نقل قول: جلوگیری از ویرایش زمان ثبت تراکنش
مسلما کنترلی که تاریخ را نمایش میده بایست redonly باشه و در کوئری هم شما نباید مقدار تاریخ را ست کنید.
نقل قول: جلوگیری از ویرایش زمان ثبت تراکنش
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
مسلما کنترلی که تاریخ را نمایش میده بایست redonly باشه و در کوئری هم شما نباید مقدار تاریخ را ست کنید.
سلام . من این کاری رو که گفتید انجام دادم ولی با ارور زیر موقع لاگین کردن بع برنامه مواجه میشم :
Schema specified is not valid. Errors:
The relationship 'Accounting_DBModel.FK_Accounting_AccountingTypes' was not loaded because the type 'Accounting_DBModel.Accounting_Transactions_' is not available.
The following information may be useful in resolving the previous error:
The required property 'DateTime' does not exist on the type 'Accounting.DataLayer.Accounting_Transactions_'.
The relationship 'Accounting_DBModel.FK_Accounting_Customers' was not loaded because the type 'Accounting_DBModel.Accounting_Transactions_' is not available.
The following information may be useful in resolving the previous error:
The required property 'DateTime' does not exist on the type 'Accounting.DataLayer.Accounting_Transactions_'.
این خطا رو از تابع تعداد کاربران برنامه میگیره که واسش درست کردم . چون گفتم اول برنامه برو چک کن بببین اگه کاربری نبود خودت یه ادمین بساز . در صورتی که کاربر ادمین ساخته شده و تعداد کاربران هم صفر نیست .
کدی رو هم که شما گفتید به صورت زیر پیاده سازی کردم :
public partial class Thing
{
private readonly DateTime _CreatTIME;
public DateTime CreatTIME {
get
{
return _CreatTIME;
}
}
public Thing()
{
this._CreatTIME = DateTime.Now;
}
و اومدم کلاس تراکنش هام و کاربران برنامه رو فرزند Thing کردم که اتوماتیک زمان رو به ارث ببرن و نتونن تغیرش بدن
نقل قول: جلوگیری از ویرایش زمان ثبت تراکنش
نقل قول:
نوشته شده توسط
barbimusic
سلام . من این کاری رو که گفتید انجام دادم ولی با ارور زیر موقع لاگین کردن بع برنامه مواجه میشم :
Schema specified is not valid. Errors:
The relationship 'Accounting_DBModel.FK_Accounting_AccountingTypes' was not loaded because the type 'Accounting_DBModel.Accounting_Transactions_' is not available.
The following information may be useful in resolving the previous error:
The required property 'DateTime' does not exist on the type 'Accounting.DataLayer.Accounting_Transactions_'.
The relationship 'Accounting_DBModel.FK_Accounting_Customers' was not loaded because the type 'Accounting_DBModel.Accounting_Transactions_' is not available.
The following information may be useful in resolving the previous error:
The required property 'DateTime' does not exist on the type 'Accounting.DataLayer.Accounting_Transactions_'.
این خطا رو از تابع تعداد کاربران برنامه میگیره که واسش درست کردم . چون گفتم اول برنامه برو چک کن بببین اگه کاربری نبود خودت یه ادمین بساز . در صورتی که کاربر ادمین ساخته شده و تعداد کاربران هم صفر نیست .
کدی رو هم که شما گفتید به صورت زیر پیاده سازی کردم :
public partial class Thing
{
private readonly DateTime _CreatTIME;
public DateTime CreatTIME {
get
{
return _CreatTIME;
}
}
public Thing()
{
this._CreatTIME = DateTime.Now;
}
و اومدم کلاس تراکنش هام و کاربران برنامه رو فرزند Thing کردم که اتوماتیک زمان رو به ارث ببرن و نتونن تغیرش بدن
ارور بالا با پاک کردن ستون DateTime توی جدول کاربران و تراکنش هام حل شد ولی الان تمام تراکنش ها و زمان ساخت کاربران برنامه یکی شده و اونم زمان ورود به برنامه هست . !
نقل قول: جلوگیری از ویرایش زمان ثبت تراکنش
یک نمونه پروژه برای تست قرار بدید.
نقل قول: جلوگیری از ویرایش زمان ثبت تراکنش
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
یک نمونه پروژه برای تست قرار بدید.
سلام . پیام شخصی براتون ارسال کردم . ممنونم
نقل قول: جلوگیری از ویرایش زمان ثبت تراکنش
برای رفع خطاها یک بار مدل را از روی دیتابیس بروزرسانی کنید.
در مورد زمان، نیازی به ارثبری نیست. همونطور که خودتون کد نوشتید فقط در صورت Insert زمان را ست کنید. منظورم از readonly این بود که اگر زمان ثبت را هم به کاربر نمایش میدید اجازه تغییر ندیذ.