public FreeBusyVisualMapper(DailyViewBase parentView, FreeBusyVisualContainer dayFreeBusy)
 {
     if (dayFreeBusy == null)
     {
         throw new ArgumentNullException("dayFreeBusy");
     }
     this.dayFreeBusy = dayFreeBusy;
     this.parentView  = parentView;
     this.dataSource  = parentView.DataSource;
 }
        // Token: 0x0600013D RID: 317 RVA: 0x0000A034 File Offset: 0x00008234
        private void TransformRolledUpFreeBusyVisuals(int iDay)
        {
            ArrayList arrayList = null;

            this.rowFreeBusy[iDay] = new BusyTypeWrapper[24 * ((this.timeStripMode == TimeStripMode.FifteenMinutes) ? 4 : 2)];
            BusyTypeWrapper[]       array = this.rowFreeBusy[iDay];
            FreeBusyVisualContainer freeBusyVisualContainer = this.rolledUpFreeBusy[iDay];

            for (int i = 0; i < freeBusyVisualContainer.Count; i++)
            {
                FreeBusyVisual freeBusyVisual = (FreeBusyVisual)freeBusyVisualContainer[i];
                if (!base.IsItemRemoved(freeBusyVisual.DataIndex))
                {
                    int num = 0;
                    while ((double)num < freeBusyVisual.Rect.Height)
                    {
                        if (array[(int)freeBusyVisual.Rect.Y + num] < freeBusyVisual.FreeBusyIndex)
                        {
                            array[(int)freeBusyVisual.Rect.Y + num] = freeBusyVisual.FreeBusyIndex;
                        }
                        num++;
                    }
                }
            }
            if (base.DataSource != null)
            {
                int             num2            = 0;
                int             num3            = 1;
                BusyTypeWrapper busyTypeWrapper = array[num2];
                for (int j = 1; j < array.Length; j++)
                {
                    if (array[j] == busyTypeWrapper)
                    {
                        num3++;
                    }
                    else
                    {
                        if (arrayList == null)
                        {
                            arrayList = new ArrayList();
                        }
                        arrayList.Add(new FreeBusyVisual(0)
                        {
                            FreeBusyIndex = busyTypeWrapper,
                            Rect          =
                            {
                                Y      = (double)num2,
                                Height = (double)num3
                            }
                        });
                        num2            = j;
                        num3            = 1;
                        busyTypeWrapper = array[j];
                    }
                }
                if (arrayList == null)
                {
                    arrayList = new ArrayList();
                }
                arrayList.Add(new FreeBusyVisual(0)
                {
                    FreeBusyIndex = busyTypeWrapper,
                    Rect          =
                    {
                        Y      = (double)num2,
                        Height = (double)num3
                    }
                });
                this.transformedRolledUpFreeBusy[iDay] = arrayList;
            }
        }