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; }
public void setCurrentAsignacion(Asignacion asignacion) { current = asignacion; }
public void updateAsignacion(Asignacion asignacion) { try { Appointment appointment = null; if(asignacion is AsignacionClase) appointment = calendarView.CalendarModel.Appointments.ToList().Find(element => ((Asignacion)element.Tag).ID == asignacion.ID && element.Tag is AsignacionClase); else if(asignacion is AsignacionVarios) appointment = calendarView.CalendarModel.Appointments.ToList().Find(element => ((Asignacion)element.Tag).ID == asignacion.ID && element.Tag is AsignacionVarios); //Appointment appointment=calendarView.CalendarModel.Appointments.ToList().Find(element=>element.Tag==asignacion); updateAppointment(appointment, asignacion); } catch (Exception e){ Console.WriteLine(e.Message); } }
private void updateAppointment(Appointment appointment, Asignacion asignacion) { String subject; String description; String toolTip; String categoryColor; DateTime inicio = asignacion.Inicio; DateTime fin = asignacion.Fin; String separator = "<br />"; if (asignacion is AsignacionClase) { AsignacionClase asignacionClase = (AsignacionClase)asignacion; categoryColor = asignacionClase.Grupo.Asignatura.Facultad; separator="<br />"; if (asignacionClase.Reprogramada) { appointment.ImageKey = "disabled"; appointment.ImageAlign = eImageContentAlignment.BottomRight; categoryColor += "Disabled"; appointment.DisplayTemplate = "<strike>[Subject]</strike><br /><strike>[Description]</strike>"; } else { appointment.ImageKey = null; appointment.DisplayTemplate = "[Subject]<br />[Description]"; } subject = String.Format("{0} - {1}(G{2})", asignacionClase.Grupo.Asignatura.Referencia, asignacionClase.Grupo.Asignatura.Nombre, asignacionClase.Grupo.NumeroGrupo); description = String.Format("{0}{3}({1}/{2})", asignacionClase.Grupo.NombreDocente, asignacionClase.Grupo.CantidadEstudiantes, asignacionClase.Aula.Capacidad,separator); toolTip = String.Format("Inicio:{0}{5}Fin:{1}{5}Duración:{2}{5}{3}{5}Periodo:{4}", asignacion.Inicio.ToShortTimeString(), asignacion.Fin.ToShortTimeString(), PeriodoTiempo.GetDuracion(asignacion.Inicio, asignacion.Fin), "Clase", asignacionClase.Grupo.Periodo.Descripcion,separator); } else { AsignacionVarios asignacionVarios = (AsignacionVarios)asignacion; subject = String.Format("{0}", asignacionVarios.TipoUso.Descripcion); toolTip = String.Format("Inicio:{0}{4}Fin:{1}{4}Duración:{2}{4}{3}", asignacion.Inicio.ToShortTimeString(), asignacion.Fin.ToShortTimeString(), PeriodoTiempo.GetDuracion(asignacion.Inicio, asignacion.Fin), asignacionVarios.TipoUso.Descripcion,separator); description = String.Format("{0}", asignacionVarios.Observaciones); categoryColor = Appointment.CategoryDefault; appointment.DisplayTemplate = "[Subject]<br />[Description]"; } if (asignacion.Serie != null) toolTip += "<br />Pertenece a una serie"; appointment.StartTime = inicio; appointment.EndTime = fin; appointment.Subject = subject; appointment.Description = description; appointment.Tooltip = toolTip; appointment.OwnerKey = asignacion.Aula.Referencia; appointment.Tag = asignacion; appointment.CategoryColor = categoryColor; appointment.Locked = true; }
public void AddAsignacion(Asignacion asignacion) { Appointment appointment = new Appointment(); updateAppointment(appointment, asignacion); calendarView.CalendarModel.Appointments.Add(appointment); }
public void AddNewAppointment(Asignacion owner,DateTime startDate, DateTime endDate, String subject, String description, String toolTip) { Appointment appointment = new Appointment(); appointment.StartTime = startDate; appointment.EndTime = endDate; appointment.Subject = subject; appointment.Description = description; appointment.Tooltip = toolTip; appointment.OwnerKey = owner.Aula.Referencia; appointment.Tag = owner; appointment.Locked = true; calendarView.CalendarModel.Appointments.Add(appointment); }
public Boolean insertAsignacion(ref Asignacion Asignacion) { this.connection.Open(); this.command = this.connection.CreateCommand(); this.transaction = this.connection.BeginTransaction(); this.command.Connection = this.connection; this.command.Transaction = this.transaction; try { if (Asignacion is AsignacionClase) { AsignacionClase asig = (AsignacionClase)Asignacion; this.command.CommandText = "insert into asignacion_clase(id_aula,id_grupo,inicio,fin,serie,reprogramada,usuario_emisor) values(@id_aula,@id_grupo,@inicio,@fin,@serie,@reprogramada,@usuario_emisor);" + "SELECT CAST(scope_identity() AS int)"; this.command.Parameters.Add(new SqlParameter("@id_aula", DbType.Int32)); this.command.Parameters.Add(new SqlParameter("@id_grupo", DbType.Int32)); this.command.Parameters.Add(new SqlParameter("@inicio", DbType.DateTime)); this.command.Parameters.Add(new SqlParameter("@fin", DbType.DateTime)); this.command.Parameters.Add(new SqlParameter("@reprogramada", DbType.Boolean)); this.command.Parameters.Add(new SqlParameter("@usuario_emisor", DbType.String)); this.command.Parameters["@id_aula"].Value = asig.Aula.Id; this.command.Parameters["@id_grupo"].Value = asig.Grupo.Id; this.command.Parameters["@inicio"].Value = asig.Inicio; this.command.Parameters["@fin"].Value = asig.Fin; this.command.Parameters["@reprogramada"].Value = asig.Reprogramada; if (asig.Id_Usuario > 0) { this.command.Parameters["@usuario_emisor"].Value = asig.Id_Usuario; } else { this.command.Parameters["@usuario_emisor"].Value = DBNull.Value; } this.command.Parameters.Add(new SqlParameter("@serie", DbType.Int32)); if (Asignacion.Serie != null ? Asignacion.Serie.ID>0:false) { this.command.Parameters["@serie"].Value = Asignacion.Serie.ID; } else { this.command.Parameters["@serie"].Value = DBNull.Value; } } else { AsignacionVarios asig = (AsignacionVarios)Asignacion; this.command.CommandText = "insert into asignacion_varios(id_aula,inicio,fin,id_tipo_uso,observaciones,serie,id_cliente,usuario_emisor) values(@id_aula,@inicio,@fin,@id_tipo_uso,@observaciones,@serie, @id_cliente,@usuario_emisor);" + "SELECT CAST(scope_identity() AS int)"; this.command.Parameters.Add(new SqlParameter("@id_aula", DbType.Int32)); this.command.Parameters.Add(new SqlParameter("@inicio", DbType.DateTime)); this.command.Parameters.Add(new SqlParameter("@fin", DbType.DateTime)); this.command.Parameters.Add(new SqlParameter("@id_tipo_uso", DbType.Int32)); this.command.Parameters.Add(new SqlParameter("@observaciones", DbType.String)); this.command.Parameters.Add(new SqlParameter("@usuario_emisor", DbType.String)); this.command.Parameters["@id_aula"].Value = asig.Aula.Id; this.command.Parameters["@inicio"].Value = asig.Inicio; this.command.Parameters["@fin"].Value = asig.Fin; this.command.Parameters["@id_tipo_uso"].Value = asig.TipoUso.Id; this.command.Parameters["@observaciones"].Value = asig.Observaciones; if ( asig.Id_Usuario > 0) { this.command.Parameters["@usuario_emisor"].Value = asig.Id_Usuario; } else { this.command.Parameters["@usuario_emisor"].Value = DBNull.Value; } this.command.Parameters.Add(new SqlParameter("@serie", DbType.Int32)); if (asig.Serie != null ? Asignacion.Serie.ID > 0 : false) { this.command.Parameters["@serie"].Value = asig.Serie.ID; } else { this.command.Parameters["@serie"].Value = DBNull.Value; } this.command.Parameters.Add(new SqlParameter("@id_cliente", DbType.Int32)); if (asig.Cliente != null ? asig.Cliente.Id > 0 : false) { this.command.Parameters["@id_cliente"].Value = asig.Cliente.Id; } else { this.command.Parameters["@id_cliente"].Value = DBNull.Value; } } this.lastUpdated = this.command.ExecuteScalar().ToString(); this.transaction.Commit(); Asignacion.ID = Convert.ToInt32(lastUpdated); return true; } catch (Exception e) { try { transaction.Rollback(); throw new Exception("Error al insertar registro. " + e.Message); return false; } catch (Exception ex) { throw new Exception("Error al roolback accion. " + ex.Message); } } finally { this.connection.Close(); } }
public Boolean actualizarAsignacion(Asignacion Asignacion) { this.connection.Open(); this.command = this.connection.CreateCommand(); this.transaction = this.connection.BeginTransaction(); this.command.Connection = this.connection; this.command.Transaction = this.transaction; try { if (Asignacion is AsignacionClase) { AsignacionClase asig = (AsignacionClase)Asignacion; this.command.CommandText = "update asignacion_varios set id_aula=@id_aula,inicio=@inicio,fin=@fin,id_tipo_uso=@id_tipo_uso,observaciones=@observaciones, serie=@serie, id_cliente=@id_cliente, usuario_emisor=@usuario_emisor where id_asignacion=@id;"; this.command.Parameters.Add(new SqlParameter("@id_aula", DbType.Int32)); this.command.Parameters.Add(new SqlParameter("@id_grupo", DbType.Int32)); this.command.Parameters.Add(new SqlParameter("@inicio", DbType.DateTime)); this.command.Parameters.Add(new SqlParameter("@fin", DbType.DateTime)); this.command.Parameters.Add(new SqlParameter("@id", DbType.Int32)); this.command.Parameters.Add(new SqlParameter("@reprogramada", DbType.Binary)); this.command.Parameters.Add(new SqlParameter("@usuario_emisor", DbType.String)); this.command.Parameters["@id_aula"].Value = asig.Aula.Id; this.command.Parameters["@id_grupo"].Value = asig.Grupo.Id; this.command.Parameters["@inicio"].Value = asig.Inicio; this.command.Parameters["@fin"].Value = asig.Fin; this.command.Parameters["@id"].Value = asig.ID; this.command.Parameters["@reprogramada"].Value = asig.Reprogramada; if ( asig.Id_Usuario > 0 ) { this.command.Parameters["@usuario_emisor"].Value = asig.Id_Usuario; } else { this.command.Parameters["@usuario_emisor"].Value = DBNull.Value; } this.command.Parameters.Add(new SqlParameter("@serie", DbType.Int32)); if (asig.Serie != null) { this.command.Parameters["@serie"].Value = asig.Serie.ID; } else { this.command.Parameters["@serie"].Value = DBNull.Value; } } else { AsignacionVarios asig = (AsignacionVarios)Asignacion; this.command.CommandText = "update asignacion_varios set id_aula=@id_aula,inicio=@inicio,fin=@fin,id_tipo_uso=@id_tipo_uso,observaciones=@observaciones, serie=@serie, id_cliente=@id_cliente, usuario_emisor=@usuario_emisor where id_asignacion=@id;"; this.command.Parameters.Add(new SqlParameter("@id_aula", DbType.Int32)); this.command.Parameters.Add(new SqlParameter("@inicio", DbType.DateTime)); this.command.Parameters.Add(new SqlParameter("@fin", DbType.DateTime)); this.command.Parameters.Add(new SqlParameter("@id_tipo_uso", DbType.Int32)); this.command.Parameters.Add(new SqlParameter("@observaciones", DbType.String)); this.command.Parameters.Add(new SqlParameter("@id", DbType.Int32)); this.command.Parameters["@id_aula"].Value = asig.Aula.Id; this.command.Parameters["@inicio"].Value = asig.Inicio; this.command.Parameters["@fin"].Value = asig.Fin; this.command.Parameters["@id_tipo_uso"].Value = asig.TipoUso.Id; this.command.Parameters["@observaciones"].Value = asig.Observaciones; this.command.Parameters["@id"].Value = asig.ID; this.command.Parameters.Add(new SqlParameter("@usuario_emisor", DbType.String)); this.command.Parameters.Add(new SqlParameter("@serie", DbType.Int32)); if (asig.Serie != null) { this.command.Parameters["@serie"].Value = asig.Serie.ID; } else { this.command.Parameters["@serie"].Value = DBNull.Value; } if ( asig.Id_Usuario > 0 ) { this.command.Parameters["@usuario_emisor"].Value = asig.Id_Usuario; } else { this.command.Parameters["@usuario_emisor"].Value = DBNull.Value; } this.command.Parameters.Add(new SqlParameter("@id_cliente", DbType.Int32)); if (asig.Cliente != null ? asig.Cliente.Id > 0 : false) { this.command.Parameters["@id_cliente"].Value = asig.Cliente.Id; } else{ this.command.Parameters["@id_cliente"].Value = DBNull.Value; } } this.command.ExecuteNonQuery(); this.transaction.Commit(); return true; } catch (Exception e) { try { this.transaction.Rollback(); throw new Exception("Error al Actualizar." + e.Message); return false; } catch (Exception ex) { throw new Exception("Error al rollback accion." + ex.Message); return false; } } finally { this.connection.Close(); } }
public Boolean borrarAsignacion(Asignacion Asignacion) { this.connection.Open(); this.command = this.connection.CreateCommand(); this.transaction = this.connection.BeginTransaction(); this.command.Connection = this.connection; this.command.Transaction = this.transaction; try { if (Asignacion is AsignacionVarios) { AsignacionVarios asp=(AsignacionVarios)Asignacion; this.command.CommandText = "delete from asignacion_varios where id_asignacion=@id;"; this.command.Parameters.Add(new SqlParameter("@id", SqlDbType.Int)); this.command.Parameters["@id"].Value = asp.ID; } else { AsignacionClase asp = (AsignacionClase)Asignacion; this.command.CommandText = "delete from asignacion_clase where id_asignacion=@id;"; this.command.Parameters.Add(new SqlParameter("@id", SqlDbType.Int)); this.command.Parameters["@id"].Value = asp.ID; } this.command.ExecuteNonQuery(); this.transaction.Commit(); return true; } catch (Exception e) { try { this.transaction.Rollback(); throw new Exception("Error al borrar registro. " + e.Message); return false; } catch (Exception ex) { throw new Exception("Error al rollback acción. " + ex.Message); return false; } } finally { this.connection.Close(); } }
void calendarControl_OnVerClick(object sender, EventArgs e) { bool reprogramada = false ; expandablePanel1.Visible = true; expandablePanel1.Expanded = true; editing = true; currentAsignacion = (Asignacion)sender; Aula currentAula=aulas.Find(element=>element.Id==currentAsignacion.Aula.Id); if (currentAsignacion is AsignacionClase) { AsignacionClase asignacionClase = (AsignacionClase)currentAsignacion; if (asignacionClase.Reprogramada) { reprogramada = true; } comboBoxTipoAsignacion.SelectedIndex = 0; asignacionClaseControl.dateTimeInputInicio.Value = currentAsignacion.Inicio; asignacionClaseControl.dateTimeInputFin.Value = currentAsignacion.Fin; asignacionClaseControl.comboBoxLugar.SelectedItem = currentAula; asignacionClaseControl.comboBoxAsignatura.SelectedItem = asignaturas.Find(element => element.Id == asignacionClase.Grupo.Asignatura.Id); } else { AsignacionVarios asignacionVarios = (AsignacionVarios)currentAsignacion; comboBoxTipoAsignacion.SelectedIndex = 1; asignacionVariosControl.Inicio = currentAsignacion.Inicio; asignacionVariosControl.Fin = currentAsignacion.Fin; asignacionVariosControl.Aula = currentAula; asignacionVariosControl.TipoUso = asignacionVarios.TipoUso; asignacionVariosControl.Cliente=asignacionVarios.Cliente; asignacionVariosControl.Observaciones = asignacionVarios.Observaciones; } comboBoxTipoAsignacion.Enabled = false; if (!usuario.Admin || reprogramada) { asignacionClaseControl.ReadOnly = true; } else { asignacionClaseControl.ReadOnly = false; } }
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"); } } }