Beispiel #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            List <CalendarItem> Calendar = new List <CalendarItem>();

            DateTime time = UKTime.Now.Date;

            if (!String.IsNullOrEmpty(Request.QueryString["date"]))
            {
                Session["calendardate"] = Request.QueryString["date"];
                time = CRM.Code.Utils.Text.Text.FormatInputDate(Request.QueryString["date"]);
            }
            else if (Session["calendardate"] != null)
            {
                time = CRM.Code.Utils.Text.Text.FormatInputDate((string)Session["calendardate"]);
            }

            if (Request.QueryString["venue"] != null)
            {
                CRM_Venue = db.CRM_Venues.SingleOrDefault(v => v.ID.ToString() == Request.QueryString["venue"]);
            }

            CurrentDate = time;

            CalendarManager calendarManager = new CalendarManager();

            bool HideExternal = Query("hideexternal");
            bool HideInternal = Query("hideinternal");
            bool HideUntagged = Query("hideNonTagged");

            int tryAdmin = 0;

            Int32.TryParse(Request.QueryString["privacy"], out tryAdmin);

            int?calendarAdmin = null;

            if (tryAdmin != 0)
            {
                calendarAdmin = tryAdmin;
            }

            int type = Convert.ToInt32(Request.QueryString["type"]);

            int count = 0;

            while (time.Day < (CurrentDate.Day + 1))
            {
                count++;
                IEnumerable <CalendarSlot> slots = calendarManager.FetchSlotsForTime(time, HideExternal, HideInternal, HideUntagged, type, calendarAdmin);

                Calendar.Add(new CalendarItem()
                {
                    Hour  = time,
                    Slots = slots
                });

                time = time.AddHours(1);

                if (count > 25)
                {
                    break;
                }
            }
            ;

            rptCalendar.DataSource = Calendar;
            rptCalendar.DataBind();
        }