Ejemplo n.º 1
0
 public Schedulerform(int pid)
 {
     InitializeComponent();
     this.pid  = pid;
     presenter = new SchedulerPresenter(new SchedulerRepo(), this, pid);
 }
Ejemplo n.º 2
0
        internal void RecreateGroups(bool createNewGroups)
        {
            this.shouldRecreate = false;
            DateTime time = DateTime.Now;

            if (createNewGroups)
            {
                this.Clear();

                SchedulerPresenter presenter = this.Scheduler.SchedulerPresenter;
                if (presenter != null)
                {
                    presenter.ClearOldAppointmentsControls();
                }
            }
            bool schedulerIsGrouped = !String.IsNullOrEmpty(this.Scheduler.GroupBy);

            if (!schedulerIsGrouped || this.Scheduler.ResourceTypes.Count == 0)
            {
                ResourceGroup group;
                if (createNewGroups)
                {
                    group          = new ResourceGroup();
                    group.Resource = null;
                }
                else
                {
                    group = this.Single(g => g.Resource == null);
                    group.Appointments.Clear();
                }
                if (this.Scheduler.Appointments.Count > 0)
                {
                    group.Appointments.AddRange(this.Scheduler.Appointments.ToList());
                }

                if (createNewGroups)
                {
                    this.Add(group);
                }
            }
            else
            {
                List <GroupItem> groupedAppointments = new List <GroupItem>();
                if (this.Scheduler.ResourceTypes.Count == 0)
                {
                    throw new System.ArgumentException("The ResourceTypes collection of RadScheduler has no items to group");
                }

                ResourceType type = this.Scheduler.ResourceTypes.SingleOrDefault(item => item.Name == this.Scheduler.GroupBy);
                if (type != null)
                {
                    foreach (var res in type.Resources)
                    {
                        IEnumerable <GroupItem> groupItems = this.GenerateGroupItems(type, res);

                        this.AddGroups(groupItems, res, createNewGroups);
                        groupedAppointments.AddRange(groupItems.ToList());
                    }
                }

                if (this.Scheduler.DisplayEmptyGroup)
                {
                    this.AddEmptyGroup(groupedAppointments, createNewGroups);
                }
            }
            this.shouldRecreate = true;
        }