آموزش Asp.net جلسه دوم

    15 فروردين 1395

    کنترل کاربری تبلیغات

    این کنترل کاربری شامل یک عنصر div و تگ Image می باشد. و در واقع تنها بخشی است که کد سمت سرور برای آن نوشته نشده است.

     

     کنترل کاربری نظرسنجی

    این کنترل کاربری شامل دو قسمت می باشد. اگر آدرس صفحه بصورت Default.aspx باشد این بخش از صفحه به کاربران نمایش داده می شود. در این بخش با کلیک بر روی دگمه ی رای دهید مقدار در جدول Votes درج شده و دوباره صفحه بارگذاری می شود.

    زمانی که بر روی مشاهده آرا کلیک می کنیم آدرس بار تغییر می کند. یک رشته تقاضا به آن اضافه می شود که مقدار Vote=result می شود در این صورت بخش مربوط به نمایش آرا نمایش داده می شود و بخش سوال از دید کاربر مخفی می گردد. حالا باید از viewVotes نتایج آرا را بگیریم. کد این نما در فصل قبل توضیح داده شده است. حالا ما سه جواب داریم که با یک ضرب و تقسیم ساده آنها را به درصد تبدیل کرده و مقدار آن را به صفت Width عکس داده (البته با واحد درصد) تا خروجی را بصورت یک نمودار میله ای ببینیم

     

    باکس پیام

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

     

     لیست قابل رزرو (پانل بیمار)

    این صفحه (نوبت دهی بیمار) بصورت کلی به دو بخش تقسیم می شود.

    نمایش لیست قابل رزرو

    ثبت عملیات رزرو

    برای تنظیم و پر کردن منوهای کشویی از تاریخ شمسی از فضای نام System.Globalization و کلاس persianCalendar و چند حلقه جهت مقدار دهی اولیه استفاده کردیم.

    متد Load این صفحه اسامی رزرو را نمایش می دهد. ابتدا بررسی می کند که شخص بعنوان بیمار وارد سیستم شده است یا خیر. سپس نام کاربری در متغییری ثبت می شود این نام کاربری با ورود بیمار به پانل پر می شود (از طریق ایجاد یک Session). اگر رشته تقاضا action برابر result بود آن وقت شماره دکتر و تاریخ رزرو گرفته شده و به تابع viewFreeTime فرستاده می شود. تا مشخص شود چه زمانهایی خالی می باشد. که این با توجه به جدول Reservation و Scheduling سنجیده می شود.

    اگر بر روی هر کدام از لینک های رزرو شود کلیک کنیم، یک رشته تقاضا جدید ایجاد می گردد که در واقع مقدار رشته تقاضا action را برابر reserve می کند. و مابقی اطلاعات از طریق رشته تقاضا ارسال شده و در نهایت در جدول Reservation درج می شود. در نهایت برای چاپ پیغام مربوطه صفحه با رشته تقاضا های جدید بار گذاری می شود.

    طراحی وب سایت در رشت

    لیست رزرو

    برای نمایش لیست رزرو، باید بازه دو تاریخ را انتخاب کرده و بر روی مشاهده گزارش کلیک کنیم بدلیل اینکه تاریخ از نوع شمسی است آن را از نوع عددی ذخیره کرده تا عملیات مقایسه بسادگی انجام گیرد.

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

    protected void btnReport_Click(object sender, EventArgs e)

           {

               string startDate = cbStartYear.Text + cbStartMonth.Text + cbStartDay.Text;

               string endDate = cbEndYear.Text + cbEndMonth.Text + cbEndDay.Text;

               Response.Redirect("Reserved.aspx?action=report&startDate="+startDate+"&endDate="+endDate);

           }

    مقادیر فرستاده شده، توسط رویداد Load صفحه گرفته می شوند. همانند مابقی صفحات پانل کاربری از وجود صحت Session اطمینان حاصل می شود. سپس نام کاربر هم از Session ایجاد شده گرفته می شود. باکس های کشویی توسط کلاس clsHelper و متد fillDate پر می شوند. پس از آن تمامی پارامتر های sdsReport مقدار گرفته و آن را اجرا می گیریم. نتایج در dvReport ذخیره می شوند. بدلیل اینکه dvReport ممکن است چند رکورد داشته باشد از یک حلقه برای نمایش آن استفاده می کنیم. با نمونه از کلاس tablerow یک سطر و کلاس tablecell یک ستون می سازیم. در نهایت ستون اضافه شده را به سطر و سطر اضافه شده را به جدول می دهیم.

    protected void Page_Load(object sender, EventArgs e)

           {

               if (Context.Session["keyU"] == null)

               {

                   Response.Redirect("Default.aspx");

                   return;

               }

               if(Context.Session["patientUsername"] != null)

               _user = Context.Session["patientUsername"].ToString();

               clsHelper cls = new clsHelper();

               cls.fillDate(cbStartYear, cbStartMonth, cbStartDay);

               cls.fillDate(cbEndYear, cbEndMonth, cbEndDay);

               if (Request.QueryString["action"] == "report")

               {

                   string startDate = Request.QueryString["startDate"].ToString();

                   string endDate = Request.QueryString["endDate"].ToString();

                   sdsReport.SelectParameters["user"].DefaultValue = _user;

                   sdsReport.SelectParameters["startDate"].DefaultValue = startDate;

                    sdsReport.SelectParameters["endDate"].DefaultValue = endDate;

    ;DataView dvReport = (DataView) sdsReport.Select(DataSourceSelectArguments.Empty)

     

    زمانبندی در پانل منشی

    این بخش یکی از مهمترین قسمت های پروژه می باشد. منشی از این قسمت با تعیین دکتر در تاریخ و زمان تعیین شده یک زمان خالی ایجاد می کند.

    ابتدا ورودی های گرفته شده در متغییر هایی ذخیره می شود سپس متغییر ها در پارامتر شی sdsSchedule ریخته شده تا در نهایت توسط متد Insert() عمل درج صورت گیرد.

    بعد از درج در صورت درست بودن متد Insert() مقدار یک بر می گرداند. که با یک پیغام مناسب، اتمام عملیات درج را به کاربر اطلاع می دهیم.

    طراحی وب سایت

     لیست رزروشدگان

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

    انتخاب بیمار دلخواه امکان پذیر است

    جستجو بدون محدوده ، فقط در روز خاص ممکن است.

     

    تشکیل پرونده بیمار

    یک فرم ساده برای درج بیمار، در نهایت توسط متد Insert() تمامی مقادیر ورودی درج می شوند.

    تمامی اجزای این قسمت در یک کنترل کاربری قرار گرفته است. ابتدا توسط متد Validate() از درست بودن و خالی نبودن ورودی ها مطلع می شویم سپس تک تک ورودی ها را در پارامترهای نظیرشان در شی sdPatient درج می کنیم. در پایان دستور را اجرا کرده بررسی می کنیم که آیا بیمار درج شده از جدول قابل بازیابی است یا خیر در صورت درج یا عدم درج پیغام مرتبط با آن چاپ خواهد شد.

     

     لیست بیماران

    برای ایجاد لیستی از بیماران از یک عنصر DataList استفاده شده است. برای اینکه نام بیمار در این دیتالیست قابل نمایش باشد باید خصوصیت DataSource آن را برابر با نام نمونه Sql Data Source قرار دهید

    مابقی کد برای نمایش بهتر بصورت زیر تغییر می کند. با کیک بر روی هر قسمت به صفحه ای برای نمایش جزئیات هدایت می شوید و هر کدام از اطلاعات کاربر در آنجا قابل ویرایش می باشند.

    <asp:DataList ID="dListSick" CssClass="dataList" runat="server"

           DataKeyField="patientID" DataSourceID="sdsPatient">

       <ItemTemplate>

           <div style="text-align:center">

              

               <a href="Patients.aspx?sickID=<%# Eval("patientID") %>"> <img src="images/sick.png" alt="Sick" /></a>

               <br />

               <asp:Label ID="sickNameLabel" runat="server" Text='<%# Eval("sickName") %>' />

               <hr />

           </div>

       </ItemTemplate>

       </asp:DataList>

     

    پانل دکتر

    پس از ورود ، Session های مربوط به این پانل ساخته می شود. لازم به ذکر است. دکتر بعد از ورود قابلیت دسترسی به پانل منشی هم دارد. در واقع پس از ایجاد این Session هم در پانل دکتر و هم منشی مجوز استفاده داده می شود.

    دوستان تا اینجا یک بار بصورت کلی پروژه توضیح داده شد که باعث میشه شما یک تصویر کلی از پروژه داشته باشید به امید خدا تا روزهای آینده سعی می کنیم ویدیوهای این پروژه با ارزش را بصورت کامل براتون منتشر کنیم .

     

    telegram 
    • رشت، چهارراه میکائیل، خیابان حافظ، ساختمان سهند، واحد۱۳
    • ۰۱۳-۳۳۷۲۳۵۹۱
    • تلگرام : youtobnet_help@

    ورود به سامانه پیامکی

    نماد اعتماد الکترونیکی

     

    ساماندهی پایگاه اینترنتی

    logo-samandehi

    شرکت طراحی وب سایت