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;
 }
Exemplo n.º 2
0
        public List<AsignacionVarios> getAsignacionesVarios(String filtro)
        {
            SqlDataReader dataReader = null;
            List<AsignacionVarios> AsignacionesVarios = new List<AsignacionVarios>();
            try
            {

                string query = "Select * from Vista_AsignacionVarios WHERE " + filtro;
                command = new SqlCommand(query, connection);
                command.Connection.Open();
                dataReader = command.ExecuteReader();
                while (dataReader.Read())
                {
                    AsignacionVarios asig = new AsignacionVarios();
                    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["aula_id_tipo"].ToString());
                    asig.Aula.Nombre = dataReader["aula_descripcion"].ToString();
                    asig.Aula.Capacidad = Convert.ToInt32(dataReader["aula_capacidad"].ToString());
                    asig.Aula.IdEdificio = Convert.ToInt32(dataReader["edificioId"].ToString());
                    asig.Aula.NombreEdificio = dataReader["edificioDescripcion"].ToString();
                    asig.Aula.Piso = Convert.ToInt32(dataReader["aulaPiso"].ToString());
                    asig.Aula.IdEstado = Convert.ToInt32(dataReader["estadoId"].ToString());
                    asig.Aula.NombreEstado = dataReader["estadoDescripcion"].ToString();
                    asig.Aula.Referencia = dataReader["aulaReferencia"].ToString();
                    asig.Inicio = Convert.ToDateTime(dataReader["inicio"].ToString());
                    asig.Fin = Convert.ToDateTime(dataReader["fin"].ToString());
                    asig.TipoUso = new AulaTipoUso();
                    asig.TipoUso.Id = Convert.ToInt32(dataReader["tipoUsoId"].ToString());
                    asig.TipoUso.Descripcion = dataReader["tipoUsoDescripcion"].ToString();
                    asig.Observaciones = dataReader["observaciones"].ToString();
                    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;
                    String id_cliente = dataReader["id_cliente"].ToString();
                    if (id_cliente != null ? id_cliente.Length>0:false)
                    {
                        Cliente cliente = new Cliente();
                        cliente.Id = Convert.ToInt32(id_cliente);
                        cliente.Nombre = dataReader["nombre_cliente"].ToString();
                        cliente.Area = dataReader["area_cliente"].ToString();
                        asig.Cliente = cliente;
                    }
                    AsignacionesVarios.Add(asig);
                }
                return AsignacionesVarios;
            }
            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"); }
            }
        }