private void btnSync_Click(object sender, EventArgs e)
        {
            db.insertPendingTeachers();
               String serieTemp="";
               int serieID=0;
               foreach(AsignacionClass a in asignaciones)
               {
               AsignacionClase asignacion = new AsignacionClase();
               Serie serie = new Serie();
               if (!serieTemp.Equals(a.Serie()))
               {
                   //insertar serie
                   serie.Descripcion = a.Serie();
                   db.insertSerie(ref serie);
                   serieID = Convert.ToInt32(db.LastUpdated);//obtener id serie insertada
                   serieTemp = a.Serie();
               }
               serie.ID = serieID;//asignar id seria al objeto serie
               asignacion.Serie = serie;//asignar objeto seria a la asignacion

               //Asignar id aula a la asignacion
               Aula au = new Aula();
               au.Id = a.AulaID;
               asignacion.Aula = au;

               //Asignar el codigo de grupo
               //buscar el id en la tabla grupo en base a la serie
               Grupo g = new Grupo();
               g.Id = db.getIdFromGrupo(a.Serie());
               asignacion.Grupo = g;
               //Asignar inicio y fin
               string hora24=DateTime.Parse(a.HoraInicio).ToString("HH:mm", CultureInfo.CurrentCulture);
               DateTime inicio = a.FechaInicio.Add(TimeSpan.Parse(hora24));

               switch (a.Dia)
               {
                   case "LUNES": inicio=inicio.AddDays(-(inicio.DayOfWeek - DayOfWeek.Monday)); break;
                    case "MARTES": inicio=inicio.AddDays(-(inicio.DayOfWeek - DayOfWeek.Tuesday)); break;
                    case "MIERCOLES": inicio=inicio.AddDays(-(inicio.DayOfWeek - DayOfWeek.Wednesday) ); break;
                    case "JUEVES": inicio=inicio.AddDays(-(inicio.DayOfWeek - DayOfWeek.Thursday)); break;
                    case "VIERNES": inicio=inicio.AddDays(-(inicio.DayOfWeek - DayOfWeek.Friday)); break;
                    case "SABADO": inicio=inicio.AddDays(-(inicio.DayOfWeek - DayOfWeek.Saturday)); break;
                    case "DOMINGO": inicio=inicio.AddDays(-(inicio.DayOfWeek - DayOfWeek.Sunday)); break;
               }
               asignacion.Inicio = inicio;
               string hora242 = DateTime.Parse(a.HoraFin).ToString("HH:mm", CultureInfo.CurrentCulture);
               asignacion.Fin = asignacion.Inicio.Add(-TimeSpan.Parse(hora24));
               asignacion.Fin = asignacion.Fin.Add(TimeSpan.Parse(hora242));

               //reprogramada
               asignacion.Reprogramada = false;
               Asignacion fin = asignacion;
               while (asignacion.Inicio <= a.FechaFin)
               {
                   db.insertAsignacion(ref fin);
                   asignacion.Inicio = asignacion.Inicio.AddDays(7);
                   asignacion.Fin = asignacion.Fin.AddDays(7);
               }

               }
        }
 public List<Asignacion> Aceptar()
 {
     int tipoAsignacion = comboBoxAsignacion.SelectedIndex;
     List<Asignacion> asignaciones = new List<Asignacion>();
     foreach (PeriodoTiempo periodoTiempo in fechas)
     {
         Asignacion asignacion = new Asignacion();
         switch (tipoAsignacion)
         {
             case 0:
                 {
                     AsignacionClase asignacionClase = new AsignacionClase();
                     asignacionClase.Grupo = (Grupo)comboBoxGrupo.SelectedItem;
                     asignacion = asignacionClase;
                 } break;
             case 1:
                 {
                     AsignacionVarios asignacionVarios = new AsignacionVarios();
                     asignacionVarios.TipoUso = (AulaTipoUso)comboBoxTipoUso.SelectedItem;
                     asignacionVarios.Observaciones = textBoxObservaciones.Text;
                     asignacionVarios.Cliente = (Cliente)comboBoxCliente.SelectedItem;
                     asignacion = asignacionVarios;
                 } break;
         }
         asignacion.Inicio = periodoTiempo.Inicio;
         asignacion.Fin = periodoTiempo.Fin;
         asignacion.Aula = (Aula)comboBoxAula.SelectedItem;
         asignaciones.Add(asignacion);
     }
     return asignaciones;
 }
Beispiel #3
0
        public List<AsignacionClase> getAsignacionesClase(String filtro)
        {
            SqlDataReader dataReader = null;
            List<AsignacionClase> asignacionesClase = new List<AsignacionClase>();
            try
            {
                string query = "Select * from Vista_AsignacionClases WHERE "+filtro;
                command = new SqlCommand(query, connection);
                command.Connection.Open();
                dataReader = command.ExecuteReader();
                while (dataReader.Read())
                {
                    AsignacionClase asig = new AsignacionClase();
                    asig.ID = Convert.ToInt32(dataReader["id_asignacion"].ToString());
                    asig.Aula = new Aula();
                    asig.Aula.Id = Convert.ToInt32(dataReader["id_aula"].ToString());
                    asig.Aula.IdTipo = Convert.ToInt32(dataReader["id_tipo"].ToString());
                    asig.Aula.NombreTipo = dataReader["aulaTipoDescripcion"].ToString();
                    asig.Aula.Nombre = dataReader["aulaDescripcion"].ToString();
                    asig.Aula.Capacidad = Convert.ToInt32(dataReader["aulaCapacidad"].ToString());
                    asig.Aula.IdEdificio = Convert.ToInt32(dataReader["id_edificio"].ToString());
                    asig.Aula.NombreEdificio = dataReader["edificioDescripcion"].ToString();
                    asig.Aula.Piso = Convert.ToInt32(dataReader["aulaPiso"].ToString());
                    asig.Aula.IdEstado = Convert.ToInt32(dataReader["id_estado"].ToString());
                    asig.Aula.NombreEstado = dataReader["aulaEstadoDescripcion"].ToString();
                    asig.Aula.Referencia = dataReader["aulaReferencia"].ToString();
                    asig.Grupo = new Grupo();
                    asig.Grupo.Id = Convert.ToInt32(dataReader["id_grupo"].ToString());
                    asig.Grupo.Asignatura = new Asignatura();
                    asig.Grupo.Asignatura.Id = Convert.ToInt32(dataReader["id_asignatura"].ToString());
                    asig.Grupo.Asignatura.Nombre = dataReader["asignaturaNombre"].ToString();
                    asig.Grupo.Asignatura.IdFacultad = Convert.ToInt32(dataReader["id_facultad"].ToString());
                    asig.Grupo.Asignatura.Facultad = dataReader["facultaDescripcion"].ToString();
                    asig.Grupo.Asignatura.IdCategoria = Convert.ToInt32(dataReader["id_categoria"].ToString());
                    asig.Grupo.Asignatura.Categoria = dataReader["asignaturaCategoriaDescripcion"].ToString();
                    asig.Grupo.Asignatura.Referencia = dataReader["asignaturaReferencia"].ToString();
                    asig.Grupo.Docente = new Docente();
                    asig.Grupo.Docente.Id = Convert.ToInt32(dataReader["id_docente"].ToString());
                    asig.Grupo.Docente.Nombre = dataReader["docenteNombre"].ToString();
                    asig.Grupo.CantidadEstudiantes = Convert.ToInt32(dataReader["grupoInscritos"].ToString());
                    asig.Grupo.Periodo = new Periodo();
                    asig.Grupo.Periodo.Id = Convert.ToInt32(dataReader["id_periodo"].ToString());
                    asig.Grupo.Periodo.FechaInicio = Convert.ToDateTime(dataReader["periodoInicio"].ToString());
                    asig.Grupo.Periodo.FechaFin = Convert.ToDateTime(dataReader["periodoFin"].ToString());
                    asig.Grupo.Periodo.Descripcion = dataReader["periodoDescripcion"].ToString();
                    asig.Inicio = Convert.ToDateTime(dataReader["inicio"].ToString());
                    asig.Fin = Convert.ToDateTime(dataReader["fin"].ToString());
                    asig.Reprogramada = (bool)dataReader["reprogramada"];

                    Serie serie = null;
                    String s = dataReader["serie"].ToString();
                    if (s != null)
                    {
                        if (s.Length > 0 && s != "0")
                        {
                            serie = new Serie();
                            serie.ID = Convert.ToInt32(s);
                            serie.Descripcion = dataReader["serieDescripcion"].ToString();
                        }
                    }
                    asig.Serie = serie;
                    asignacionesClase.Add(asig);
                }
                return asignacionesClase;
            }
            catch (Exception e)
            {
                throw new Exception("Error al obtener datos de AulaEstado. " + e.Message.ToString());
            }
            finally
            {
                command.Connection.Close();
            }
        }
 private Asignacion createAsignacion()
 {
     Asignacion asignacion = null;
     if (comboBoxAsignacion.SelectedIndex == 0)
     {
         AsignacionClase asignacionClase = new AsignacionClase();
         asignacionClase.Grupo = (Grupo)comboBoxGrupo.SelectedItem;
         asignacion = asignacionClase;
     }
     else
     {
         AsignacionVarios asignacionVarios = new AsignacionVarios();
         asignacionVarios.TipoUso = (AulaTipoUso)comboBoxTipoUso.SelectedItem;
         asignacionVarios.Observaciones = textBoxObservaciones.Text;
         asignacionVarios.Cliente = (Cliente)comboBoxCliente.SelectedItem;
         asignacion = asignacionVarios;
     }
     asignacion.Aula = (Aula)comboBoxAula.SelectedItem;
     asignacion.Id_Usuario = usuario.Cod_Usua;
     return asignacion;
 }
        private void buttonAceptar_Click(object sender, EventArgs e)
        {
            int tipoAsignacion = comboBoxTipoAsignacion.SelectedIndex;
            DateTime oInicio = DateTime.Now;
            DateTime oFin = DateTime.Now ;
            bool flag=false;
            switch (tipoAsignacion)
            {
                case 0:
                    {
                        if(asignacionClaseControl.ValidateControls()){
                            AsignacionClase asignacionClase;
                            if (!editing)
                            {
                                asignacionClase = new AsignacionClase();
                            }
                            else
                            {
                                asignacionClase = (AsignacionClase)currentAsignacion;
                            }
                            oInicio = asignacionClase.Inicio;
                            oFin = asignacionClase.Fin;
                            asignacionClase.Aula = asignacionClaseControl.Aula;
                            asignacionClase.Grupo = asignacionClaseControl.Grupo;
                            asignacionClase.Inicio = asignacionClaseControl.Inicio;
                            asignacionClase.Fin= asignacionClaseControl.Fin;
                            asignacionClase.Id_Usuario = usuario.Cod_Usua;
                            currentAsignacion = asignacionClase;
                            flag = true;
                        }
                    } break;
                case 1:
                    {
                        if(asignacionVariosControl.ValidateControls()){
                            AsignacionVarios asignacionVarios;
                            if (!editing)
                            {
                                asignacionVarios = new AsignacionVarios();
                            }
                            else {
                                asignacionVarios = (AsignacionVarios)currentAsignacion;
                            }
                            oInicio = asignacionVarios.Inicio;
                            oFin = asignacionVarios.Fin;
                            asignacionVarios.Aula = asignacionVariosControl.Aula;
                            asignacionVarios.TipoUso = asignacionVariosControl.TipoUso;
                            asignacionVarios.Observaciones = asignacionVariosControl.Observaciones;
                            asignacionVarios.Inicio = asignacionClaseControl.Inicio;
                            asignacionVarios.Fin = asignacionVariosControl.Fin;
                            asignacionVarios.Cliente = asignacionVariosControl.Cliente;
                            asignacionVarios.Id_Usuario = usuario.Cod_Usua;
                            currentAsignacion = asignacionVarios;
                            flag=true;
                        }
                    } break;
            }
            if (currentAsignacion != null && flag)
            {
                expandablePanel1.Expanded = false;
                try
                {
                    Conexion conexion = new Conexion();
                    if (!editing)
                    {
                        conexion.insertAsignacion(ref currentAsignacion);
                        calendarControl.AddAsignacion(currentAsignacion);
                    }
                    else
                    {
                        if (currentAsignacion.Serie != null)
                        {
                            List<Asignacion> asignaciones;
                            if(currentAsignacion is AsignacionClase)
                                asignaciones = conexion.getAsignacionesClase("serie="+currentAsignacion.Serie.ID).ToList<Asignacion>();
                            else
                                asignaciones = conexion.getAsignacionesVarios("serie=" + currentAsignacion.Serie.ID).ToList<Asignacion>();
                            EditarSerieForm editarSerieForm = new EditarSerieForm();
                            editarSerieForm.setAsignaciones(asignaciones);
                            editarSerieForm.setCurrentAsignacion(currentAsignacion);
                            DialogResult result = editarSerieForm.ShowDialog();
                            if (result == DialogResult.OK)
                            {
                                EditarSerieForm.Option selectedOption = editarSerieForm.getSelectedOption();
                                if(selectedOption==EditarSerieForm.Option.CurrentEvent)
                                {
                                            conexion.actualizarAsignacion(currentAsignacion);
                                            calendarControl.updateAsignacion(currentAsignacion);
                                }
                                else {
                                        TimeSpan InicioOffset;
                                        TimeSpan FinOffset;
                                        InicioOffset = currentAsignacion.Inicio.Subtract(oInicio);
                                        FinOffset = currentAsignacion.Fin.Subtract(oFin);

                                        List<Asignacion> asignacionesSeleccionadas = editarSerieForm.getAsignacionesSeleccionadas();
                                        if (asignacionesSeleccionadas != null)
                                        {
                                            for (int i = 0; i < asignacionesSeleccionadas.Count; i++)
                                            {
                                                Asignacion asignacion = asignacionesSeleccionadas[i];
                                                asignacion.Inicio = new DateTime(asignacion.Inicio.Year, asignacion.Inicio.Month, asignacion.Inicio.Day, currentAsignacion.Inicio.Hour, currentAsignacion.Inicio.Minute, 0);
                                                asignacion.Fin = new DateTime(asignacion.Fin.Year, asignacion.Fin.Month, asignacion.Fin.Day, currentAsignacion.Fin.Hour, currentAsignacion.Fin.Minute, 0);
                                                if (InicioOffset.Days != 0)
                                                    asignacion.Inicio= asignacion.Inicio.AddDays(InicioOffset.Days);
                                                if (FinOffset.Days != 0)
                                                    asignacion.Fin= asignacion.Fin.AddDays(FinOffset.Days);
                                                asignacion.Aula = currentAsignacion.Aula;
                                                if (currentAsignacion is AsignacionClase)
                                                {
                                                    ((AsignacionClase)asignacion).Grupo = ((AsignacionClase)currentAsignacion).Grupo;
                                                }
                                                else if (currentAsignacion is AsignacionVarios)
                                                {
                                                    ((AsignacionVarios)asignacion).TipoUso = ((AsignacionVarios)currentAsignacion).TipoUso;
                                                    ((AsignacionVarios)asignacion).Observaciones = ((AsignacionVarios)currentAsignacion).Observaciones;
                                                    ((AsignacionVarios)asignacion).Cliente = ((AsignacionVarios)currentAsignacion).Cliente;
                                                }
                                                conexion.actualizarAsignacion(asignacion);
                                                calendarControl.updateAsignacion(asignacion);
                                            }
                                        }
                                }

                            }

                        }
                        else
                        {
                            conexion.actualizarAsignacion(currentAsignacion);
                            calendarControl.updateAsignacion(currentAsignacion);
                        }
                    }
                }
                catch (Exception ex) { MessageBox.Show("Ha ocurrido un problema al intentar insertar la asignación"); }
            }
        }