مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mamooshgol

عضویت از 1394/06/16

ثبت موقت (ِِDraft) درc#.net

  • دوشنبه 3 دی 1397
  • 08:26
تشکر میکنم

با سلام 

چطوری میشه توی c#.net اطلاعات یک صفحه که شامل texbox,dropdownlist ... می باشد به صورت موقت ثبت کرد و بعدا با ثبت نهایی در دیتابیس ذخیره کرد؟؟ مثلا ممکن است کاربر امروز اطلاعات را ثبت کند و بقیه تایپ خود را به روز بعد موکول کند.ممنون میشم راهنماییم کنید.

پاسخ های این پرسش

تعداد پاسخ ها : 6 پاسخ
کاربر سایت

salman_b

عضویت از 1396/02/18

  • دوشنبه 3 دی 1397
  • 09:32

سلام

از کلاس Settings استفاده کنید.

باید اون قسمت از ویومدل خودتون رو براش یه PropertySetting بسازید و از Two Way Binding استفاده کنید تا به هم وصل شن.

بعد به چندتا event هم نیاز دارید تا وقتی برنامه بسته شد یا فوکوس از کنترل برداشته شد یا ... Settings رو ذخیره کنه و زمانی هم که صفحه بارگذاری شد مقادیر رو از Setting بخونه و کنترل ها رو پر کنه.

از فایل هم میتونید استفاده کنید و اطلاعات رو جیسون کنید و نگه دارید.

بستگی به خودتون داره، روش استفاده از فایل خیلی منعطف تر هستش اما از قابلیت .net استفاده نکردید اونوفت.

کاربر سایت

mamooshgol

عضویت از 1394/06/16

  • دوشنبه 3 دی 1397
  • 10:27

ممنون ولی من هیچ کدم از این راحلهایی که پیشنهاد دادین رو بلد نیستم.frown

کاربر سایت

رضا نصیری

عضویت از 1392/10/01

  • دوشنبه 3 دی 1397
  • 18:17
سلام دوست خوبمون آقا سلمان راه حل خوبی ارائه دادند. همچنین شما میتوانید اطلاعات رو در دیتابیس ذخیره کنید و یک ستون بنام Draft از جنس bit داشته باشید. و تا زمانی که این مطلب تایید نهایی نشده ، مقدار این فیلد true باشد و وقتی تایید نهایی شد مقدارش را false کنید.
کاربر سایت

AmirGhasemi

عضویت از 1392/02/25

  • سه شنبه 4 دی 1397
  • 07:43

سلام

با عرض احترام به دوست خوبم جناب سلمان؛ اما برادر خیلی مساله را سخت نکرده ای؟!؟!؟!؟!  Two Way binding که نیازمند فریم ورک جانبی است و خود سی شارپ به تنهایی که پشتیبانی نمی کنه! خانوم "مموش گل" هم چون فرمودن سی شارپ من حدس می زنم منظورشون ویندوز اپلیکیشن بوده پس دیگه هیچی!!!

بهترین راه برای حل مساله ی خانم "مموش گل" اینه که ایشون یه فیلد از جنس bit    یا int  مثلا بنام Status  در دیتابیس اضافه کنند و تا وقتی این فیلد false  است یعنی این فرم در حالت پیش نویس قرار دارد ووقتی فرم تکمیل شد مقدار ان را   true کنند تا بصورت قطعی در آید.

اکثر نرم افزارهای حسابداری همین گونه اند. پیش نویس، در دست بررسی، قطعی، دائم! حالت های مختلف یک سند حسابداری هستند که با همین تکنیک کنترل می شوند

کاربر سایت

salman_b

عضویت از 1396/02/18

  • سه شنبه 4 دی 1397
  • 09:31

با تشکر از امیر جان و آقای نصیری

راه حلی که دو دوست خوبم ارائه دادن به نظرم پیاده سازیش ساده‌تر هستش و پیشنهاد میکنم از این راه استفاده کنید.

و البته باید عرض کنم که WPF از Two Way Binding پشتیبانی می‌کنه.

و این هم یک نمونه کدی که نوشتم از این قابلیت مهم و پرکاربرد WPF استفاده شده تا Draft رو داخل یک فایل به صورت RealTime ذخیره کنه.

ویندوز فرم هم باید پشتیبانی کنه از این قابلیت اگه هم نمیکنه دیگه منسوخ شده بدونیدش!

خانم مموش ضمیمه رو دانلود کنید و اجرا کنید، به صورت خودکار باید یک Nuget که مربوط به NewtonSoft هستش رو دانلود کنه و بعد برنامه اجرا میشه و نتیجه اش رو میبینید.

فایل های ضمیمه

کاربر سایت

mamooshgol

عضویت از 1394/06/16

  • سه شنبه 4 دی 1397
  • 09:32

ممنون از راهنمایی همگی yessmiley

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)