Beispiel #1
0
        private void RenderScheduleAreaVis(int iCalIdx, DailyView view)
        {
            bool flag = true;

            for (int i = 0; i < view.ViewDays.Length; i++)
            {
                SchedulingAreaVisualContainer schedulingAreaVisualContainer = view.ViewDays[i];
                for (int j = 0; j < schedulingAreaVisualContainer.Count; j++)
                {
                    SchedulingAreaVisual schedulingAreaVisual = (SchedulingAreaVisual)schedulingAreaVisualContainer[j];
                    if (!view.IsItemRemoved(schedulingAreaVisual.DataIndex))
                    {
                        if (!flag)
                        {
                            base.Output.Write(",");
                        }
                        flag = false;
                        base.Output.Write("new VisData(");
                        base.Output.Write(iCalIdx);
                        base.Output.Write(",");
                        int num = (base.ItemIndex != null) ? ((int)base.ItemIndex[schedulingAreaVisual.DataIndex]) : schedulingAreaVisual.DataIndex;
                        base.Output.Write(num);
                        base.Output.Write(",");
                        base.Output.Write(schedulingAreaVisual.Rect.X.ToString("0.####", CultureInfo.InvariantCulture));
                        base.Output.Write(",");
                        base.Output.Write(schedulingAreaVisual.Rect.Y.ToString("0.####", CultureInfo.InvariantCulture));
                        base.Output.Write(",");
                        base.Output.Write(schedulingAreaVisual.Rect.Width.ToString("0.####", CultureInfo.InvariantCulture));
                        base.Output.Write(",");
                        base.Output.Write(schedulingAreaVisual.Rect.Height.ToString("0.####", CultureInfo.InvariantCulture));
                        base.Output.Write(",");
                        base.Output.Write("0,0");
                        if (num == base.SelectedItemIndex)
                        {
                            base.Output.Write(",1,");
                        }
                        else
                        {
                            base.Output.Write(",0,");
                        }
                        base.Output.Write(i);
                        base.Output.Write(")");
                    }
                }
            }
        }
        // Token: 0x06002524 RID: 9508 RVA: 0x000D6E94 File Offset: 0x000D5094
        public PrintSchedulingAreaVisual(ISessionContext sessionContext, SchedulingAreaVisual visual, ICalendarDataSource dataSource, int viewStartTime, int viewEndTime) : base(sessionContext, visual, dataSource)
        {
            this.viewStartTime = viewStartTime;
            TimeStripMode persistedTimeStripMode = DailyViewBase.GetPersistedTimeStripMode(base.SessionContext);
            int           num = (persistedTimeStripMode == TimeStripMode.FifteenMinutes) ? 4 : 2;

            this.rowCount = (viewEndTime - viewStartTime) * num;
            if (base.Top < 0.0)
            {
                base.Height += base.Top;
                base.Top     = 0.0;
            }
            if (base.Top + base.Height > (double)this.rowCount)
            {
                base.Height = (double)this.rowCount - base.Top;
            }
            if (base.Height < 1.0)
            {
                base.Height = 1.0;
            }
        }
        // Token: 0x06000155 RID: 341 RVA: 0x0000B294 File Offset: 0x00009494
        private int[,] GetVisualPositionData(SchedulingAreaVisualContainer day, int totalNumberOfColumns)
        {
            int count = day.Count;

            int[,] array = new int[count, 5];
            for (int i = 0; i < count; i++)
            {
                SchedulingAreaVisual schedulingAreaVisual = (SchedulingAreaVisual)day[i];
                if (!base.IsItemRemoved(schedulingAreaVisual.DataIndex))
                {
                    array[i, 0] = (int)Math.Round(schedulingAreaVisual.Rect.X * (double)totalNumberOfColumns);
                    array[i, 1] = (int)Math.Floor(schedulingAreaVisual.Rect.Y);
                    array[i, 2] = (int)Math.Round(schedulingAreaVisual.Rect.Width * (double)totalNumberOfColumns);
                    array[i, 3] = ((schedulingAreaVisual.Rect.Height < 1.0) ? 1 : ((int)Math.Round(schedulingAreaVisual.Rect.Y + schedulingAreaVisual.Rect.Height - (double)array[i, 1])));
                    if (array[i, 1] + array[i, 3] <= 0)
                    {
                        array[i, 1] = 0;
                    }
                    array[i, 4] = schedulingAreaVisual.DataIndex + 1;
                }
            }
            return(array);
        }
        // Token: 0x06000156 RID: 342 RVA: 0x0000B3A8 File Offset: 0x000095A8
        private int GetTotalNumberOfColumns(SchedulingAreaVisualContainer day, int[] conflictsPerTimeSlot)
        {
            int count = day.Count;

            for (int i = 0; i < count; i++)
            {
                SchedulingAreaVisual schedulingAreaVisual = (SchedulingAreaVisual)day[i];
                int num  = (int)(1.0 / schedulingAreaVisual.Rect.Width);
                int num2 = 0;
                while ((double)num2 < schedulingAreaVisual.AdjustedRect.Height)
                {
                    int num3 = (int)schedulingAreaVisual.AdjustedRect.Y + num2;
                    if (num3 >= 0 && num3 < 48 && conflictsPerTimeSlot[num3] < this.MaxConflictingItems && num > conflictsPerTimeSlot[num3])
                    {
                        conflictsPerTimeSlot[num3] = num;
                    }
                    num2++;
                }
            }
            bool flag  = false;
            bool flag2 = false;
            bool flag3 = false;
            bool flag4 = false;
            bool flag5 = false;
            bool flag6 = false;

            for (int j = 0; j < 48; j++)
            {
                if (!flag && conflictsPerTimeSlot[j] == 2)
                {
                    flag = true;
                }
                if (!flag2 && conflictsPerTimeSlot[j] == 3)
                {
                    flag2 = true;
                }
                if (!flag3 && conflictsPerTimeSlot[j] == 4)
                {
                    flag3 = true;
                }
                if (!flag4 && conflictsPerTimeSlot[j] == 5)
                {
                    flag4 = true;
                }
                if (!flag5 && conflictsPerTimeSlot[j] == 6)
                {
                    flag5 = true;
                }
                if (!flag6 && conflictsPerTimeSlot[j] >= 7)
                {
                    flag6 = true;
                }
            }
            if (flag5)
            {
                if (flag3)
                {
                    flag3 = false;
                    flag  = true;
                }
                else
                {
                    flag = false;
                }
                flag2 = false;
            }
            if (flag3)
            {
                flag = false;
            }
            int num4 = 1;

            if (flag)
            {
                num4 *= 2;
            }
            if (flag2)
            {
                num4 *= 3;
            }
            if (flag3)
            {
                num4 *= 4;
            }
            if (flag4)
            {
                num4 *= 5;
            }
            if (flag5)
            {
                num4 *= 6;
            }
            if (flag6)
            {
                num4 *= 7;
            }
            return(num4);
        }
Beispiel #5
0
 // Token: 0x060024B1 RID: 9393 RVA: 0x000D4ABC File Offset: 0x000D2CBC
 public void RenderView(TextWriter writer)
 {
     if (writer == null)
     {
         throw new ArgumentNullException("writer");
     }
     writer.Write("<table>");
     writer.Write("<tr class=\"dayHeader\">");
     writer.Write("<td class=\"timeStrip\">&nbsp;</td>");
     this.RenderDayHeader(writer);
     writer.Write("</tr>");
     if (base.EventAreaRowCount > 0)
     {
         this.RenderEventArea(writer);
     }
     writer.Write("<tr><td><table class=\"dailyViewInnerTable\">");
     for (int i = this.startTime; i < this.endTime; i++)
     {
         writer.Write("<tr><td>");
         DateTime dateTime = new DateTime(2000, 1, 1, i, 0, 0);
         writer.Write(dateTime.ToString("t", base.SessionContext.UserCulture));
         writer.Write("</td></tr>");
     }
     writer.Write("</table></td>");
     for (int j = 0; j < this.printDateRange.Length; j++)
     {
         ExDateTime date = this.printDateRange[j].Start.Date;
         WorkingHours.WorkingPeriod[] workingHoursOnDay = base.DataSource.WorkingHours.GetWorkingHoursOnDay(date);
         writer.Write("<td><div class=\"printVisualContainer\">");
         writer.Write("<table class=\"dailyViewInnerTable\">");
         for (int k = this.startTime; k < this.endTime; k++)
         {
             writer.Write("<tr><td><div class=\"printVisualContainer bgContainer\">");
             ExDateTime t = new ExDateTime(date.TimeZone, date.Year, date.Month, date.Day, k, 30, 0);
             if ((workingHoursOnDay.Length > 0 && t >= workingHoursOnDay[0].Start && t <= workingHoursOnDay[0].End) || (workingHoursOnDay.Length == 2 && t >= workingHoursOnDay[1].Start && t <= workingHoursOnDay[1].End))
             {
                 PrintCalendarVisual.RenderBackground(writer, "bgWorkingHour");
             }
             else
             {
                 PrintCalendarVisual.RenderBackground(writer, "bgFreeHour");
             }
             writer.Write("</div>");
             if (base.SessionContext.BrowserType == BrowserType.IE)
             {
                 writer.Write("&nbsp;");
             }
             writer.Write("</td></tr>");
         }
         writer.Write("</table>");
         for (int l = 0; l < base.ViewDays[j].Count; l++)
         {
             SchedulingAreaVisual schedulingAreaVisual = (SchedulingAreaVisual)base.ViewDays[j][l];
             if (!base.IsItemRemoved(schedulingAreaVisual.DataIndex))
             {
                 new PrintSchedulingAreaVisual(base.SessionContext, schedulingAreaVisual, base.DataSource, this.startTime, this.endTime).Render(writer);
             }
         }
         writer.Write("</div>");
         writer.Write("</td>");
     }
     writer.Write("</tr></table>");
 }