• 1397/04/18

زمان ثبت تراکنش در سی شارپ پیشرفته :

سلام استاد . وقت به خیر . چطوری میتونیم از زمان ثبت تراکنش توی ویرایش تراکنش ها جلوگیری کنیم ؟ یعنی فیلدهای دیگه تغیر کنند ولی زمان ایجاد تراکنش با زدن دکمه ی ویرایش تغیر نکنه ؟ من کدشو گذاشتم داخل کانستراکتور که هر بار کلاس ساخته شد زمان رو خودش اتوماتیک ثبت کنه . یک بار هم به روش دستی بدون کانستراکتور موقع ساخت تراکنش جدید گذاشتم که بازهم نشد . 

 

  • 1397/04/18
  • ساعت 08:53

کد بروز رسانی تاریخ رو فقط در حالت افزودن قرار دهید و از حالت ویرایش بردارید

 


  • 1397/04/18
  • ساعت 12:13

استاد من فیلد زمان رو به صورت readonly و داخل کانستراکتور مقداردهی کردم ولی الان همه ی تراکنش هام شده یه زمان اون هم زمان ورود به برنامه . کجای منطق کدم اشتباه کردم ؟ به صورت زیر :

public partial class Thing
   {
       private readonly DateTime _CreatTIME;
       public DateTime CreatTIME {
           get
           {
               return _CreatTIME;
 
           }
            
                }
       public Thing()
       {
           this._CreatTIME = DateTime.Now;
       }

و تراکنش هام  و کاربران برنامه رو فرزند Thing کردم که اتوماتیک زمان ساخت رو بگیره . ولی اونجوری شد که گفتم


  • 1397/04/18
  • ساعت 12:21

نباید در سازنده مقدار بدید 

زمان ثبت جدید مقدار بدید 


  • 1397/04/18
  • ساعت 17:48

استاد این کار شما رو کردم ارور زیر رو موقع ویرایش میده :

SqlException: The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.
The statement has been terminated.


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

if (TransactionID == 0)
                    {
                        f.DateTime = DateTime.Now;
                        db.AccountingRepository.Insert(f);
                       
                    }
                    else
                    {
                        f.ID = TransactionID;
                        db.AccountingRepository.Update(f);
                    }
                    db.Save();
                    DialogResult = DialogResult.OK;

بعد از اینکه مشخصات رو میگیرم کد بالا اجرا میشه .


  • 1397/04/18
  • ساعت 19:04

میگه تاریخ خارج از بازه است

باید میلادی ذخیره کنید نه شمسی


logo-samandehi