示例#1
0
        private void CreateFromSchedule()
        {
            Schedule best = this?.genetik?.Best;

            if (best == null)
            {
                return;
            }

            if (best == null)
            {
                MessageBox.Show("Nao Existem Planificaçoes.");
                return;
            }

            var events        = best.GetEvents();
            var currentTurnos = GetTurnos(events);

            this.calendar1.Items.Clear();
            var  kui          = new List <System.Windows.Forms.Calendar.CalendarItem>();
            bool showlongName = this.calendar1.ViewEnd.Subtract(this.calendar1.ViewStart).TotalDays < 5;

            foreach (var task in currentTurnos.Where(x => x.start >= this.calendar1.ViewStart && x.end <= this.calendar1.ViewEnd))
            {
                var gTask     = task.Task.GeneticTask;
                var shortName = "E" + gTask.Encomenda.NumeroEnco + "/" + task.Task.GeneticProcess.Machine.Tipo;
                var frentes   = string.Join(",", task.frente.Select(x => x.Nome));
                var tras      = string.Join(",", task.tras.Select(x => x.Nome));
                var longName  = "E" + gTask.Encomenda.NumeroEnco + "-" + task.Task.GeneticProcess.Machine.Tipo + "\n Frente: " + frentes + "\nTras:" + tras;
                var name      = showlongName ? longName : shortName;
                var ut        = new System.Windows.Forms.Calendar.CalendarItem(this.calendar1, task.start, task.end, name);
                ut.BackgroundColor = Colors.ProcessColors[task.Task.ProcessId];;
                ut.Tag             = task;
                kui.Add(ut);
            }
            this.calendar1.Items.AddRange(kui);
        }
示例#2
0
        private void monthViewAgenda_SelectionChanged(object sender, EventArgs e)
        {
            //Se establece el rango de vision de la agenda segun las fechas seleccionadas en el calendario izquierdo
            if (monthViewAgenda.SelectionEnd.Subtract(monthViewAgenda.SelectionStart).TotalDays > 0)
            {
                calendarAgenda.SetViewRange(monthViewAgenda.SelectionStart, monthViewAgenda.SelectionEnd);
                //Se determinan las citas agendadas dentro del rango de tiempo
                TablaCitas citasAgendadas = vistaCitasTableAdapter.GetDataByRangoDeFechas(calendarAgenda.ViewStart, calendarAgenda.ViewEnd);
                calendarAgenda.Items.Clear();//Se limpia la agenda
                //Por cada cita agendada, se genera un control para verlas en forma de calendario
                foreach (RowVistaCita cita in citasAgendadas.Rows)
                {
                    DateTime fechaCita = cita.Fecha;
                    //Se compone el texto que se mostrara dentro del control de cita agendada
                    String texto = cita.Nombre + " " + cita.Apellido + ", " + cita.NombreEmpleado + ", " + cita.Fecha.TimeOfDay.ToString() + "\n" + cita.NombreServicio;

                    //Se construye el control de cita agendada
                    System.Windows.Forms.Calendar.CalendarItem citaAgendada = new System.Windows.Forms.Calendar.CalendarItem(calendarAgenda, fechaCita, fechaCita.AddMinutes(60), texto);
                    citaAgendada.Tag = cita.CitaID;
                    try
                    {
                        int color = cita.ColorEmpleado;

                        if (color < 0)
                        {
                            //Se agrega a la vista de calendario
                            calendarAgenda.Items.Add(citaAgendada);

                            //Se colorea cada cita que se encuentra en el acalendario
                            citaAgendada.BackgroundColor = Color.FromArgb(color);//-16711936);
                        }
                        else
                        {
                            //Se agrega a la vista de calendario
                            calendarAgenda.Items.Add(citaAgendada);
                        }
                    }
                    catch
                    {
                        calendarAgenda.Items.Add(citaAgendada);
                    }

                }
            }
        }