باگ: کار با زمان


محمدرضا شهبازی

سلام من دوتا سوال داشتم 
اول این که فرض کنید تو جدول دیتا بیس ما برای هر داده زمان ورودی رو داریم(inserttime) چطوری میتونیم داده هایی که تو این ماه یا این هفته هستن رو بگیریم فرض کنید تو 15 ماه تیر هستیم داده های ماه تیر رو دربیاریم

مورد دوم اینکه چطوری میتونیم یه آلارم بنویسیم مثلا تقویم ها یه بخشی دارن که مثلا بهش میگی 6 مهر بهم یاداوردی کن که فلان رویداد هست 

ممنون از دوستان و استادان


راه‌حل‌های ارائه شده برای این باگ


رضا عباس نژاد

سلام

شما اول پکیج MD.PersianDateTime رو نصب کنید

بعد در قسمتی که میخواهی اطلاعات را استخراج کنی  از دستور

 new PersianDateTime(myTable.InsertTime) 

تاریخ را به شمسی تبدیل و از طریق .Mount میتوان به ماه .Day به روز دسترسی داشت و آن را فیلتر کرد

 

در مورد مورد دوم یک جدول در این رابطه طراحی کنید و تاریخ مورد نظر را در آن ذخیره میکنید و یک ویو کامپوننت میسازی و داخل کد های آن دستور واکشی داده از این جدول را که نوشتی فیلتر میکنی بر اساس تاریخ امروز و به ویو پاس میدهی و داخا ویو شرطی قرار میدهی که اگر این مدل دارای رکورد بود یک قسمت از کدها را نمایش میدهی

اگر سبد سفارش خرید طراحی کرده باشی در آنجا کاربر پس از انتخاب یک محصول سبد خریدش نمایش داده میشود و با کلیک روی آن یک منو که اطلاعات کالا هست را نمایش میدهد

از این تکنیک میتوانی برای نمایش رویداد استفاده کنی 

 

یا اینکه چک کنی اگر رکوردی وجود داشت از این پاپ آپ ها باز شده و یاداوری را نمایش دهد

من روش اجرای کار را توضیح دادم و کد نویسی با خودت چیز سختی نیست

 

 

 

 



محمدرضا شهبازی

سلام ممنون میتونید راجب مورد دوم سورس یا منبع معرفی کنید 



رضا عباس نژاد

منبع خاصی سراغ ندارم ولی کار راحته

شما در قسمت سرویس ها یک سرویس مینویسی یا در داخل ویو کامپوننت این کد را مینویسی جدول پیش فرض Event_tbl

var test = _context.Event_tbl.Where(p => new PersianDateTime(p.InsertTime).Month == new PersianDateTime(DateTime.Now).Month).ToList();

یک لیست از اطلاعات رو داری که با یک مدل اون رو return میکنی مثلا EventDto

 

یک پوشه در روت پروژه به نام ViewComponent میسازی و یک کلاس با نام IsEventExist در آن ایجاد میکنی

    public class IsEventExist: ViewComponent
    {
        private readonly IEventService _eventService;
        public IsEventExist(IEventService eventService)
        {
            _eventService = eventService;
        }

        public IViewComponentResult Invoke(int ChequeId)
        {
            var EventList = _eventService.IsEvent().Data;

            return View("IsEventExist", EventList);
        }

    }

 

و داخل پوشه View و داخل Shared یک پوشه به نام Component ایجاد میکنی و داخال آن نیز یک پوشه به نام IsEventExist هم نام ویو کامپوننت میسازی و داخل آن هم یک ویو با هین نام میسازی و داخلش model رو پاس میدی 

@model EventDto;
@{
    Layout = null;
}

@if (Model.count() > 0)
{

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>یاد آوری و کدهای مورد نیاز برای نمایش</title>
    <p>@Model.EventTitle</p>
    <p>@Model.EventSubject</p>
    <p>@Model.EventTime</p>
    .
    .
    .
    .
    .
</head>
<body>
</body>
</html>
}

بعد با استفاده از دستور

@await.Component.InvokeAsync("IsEventExist")

توی Layout پروژه هر جا خواستی قرار میدی و با هر با رفرش شدن صفحه میره لیست رویدادها رو چک میکنه اگر اطلاعاتی داشت نمایش میده

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

 



رضا عباس نژاد

البته یه اشکال وجود دارد بجای Mount  در دستور اول Day قرار دهید که امروز را فیلتر کند و فیلد هم بجای Inserttime باید تاریخی باشد که وارد جدول event کردی

 

اون کد بالایی رو با مورد اول قاطی کردم میتونی ااون کد رو برای مورد اولت استفاده کنی

 

 



پاسخی برای این باگ ارسال کنید

برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری

;