/// <summary> /// Verifica si el usuario tiene permisos para la estación seleccionada /// </summary> private void ConsultarEstacion() { Entities.Estaciones estacion = Entities.Estaciones.Read(this.Model.Contrato.Estacion_ID); Entities.SelectEstaciones selectestacion = new Entities.SelectEstaciones(); selectestacion.Estacion_ID = estacion.Estacion_ID; selectestacion.Nombre = estacion.Nombre; bool ExisteEstacion = false; foreach (Entities.SelectEstaciones se in this.Model.Estaciones) { if (se.Estacion_ID == selectestacion.Estacion_ID && se.Nombre == selectestacion.Nombre) { ExisteEstacion = true; break; } } if (ExisteEstacion) { this.EstacionesComboBox.SelectedValue = selectestacion.Estacion_ID; } else { AppHelper.ThrowException("El usuario no tiene permisos para la estación del contrato"); } }
private void EstacionesComboBox_SelectedIndexChanged(object sender, EventArgs e) { Entities.SelectEstaciones estacion = (Entities.SelectEstaciones)EstacionesComboBox.SelectedItem; if (estacion.Estacion_ID != null) { Padre.Contrato.Estacion_ID = (int)estacion.Estacion_ID; Padre.Summary["Estacion"] = estacion.Nombre; } }
private void CambiarEstacionButton_Click(object sender, EventArgs e) { AppHelper.Try( delegate { Entities.SelectEstaciones estacion = (Entities.SelectEstaciones)EstacionesComboBox.SelectedItem; Sesion.Estacion_ID = estacion.Estacion_ID; AppHelper.Info(string.Format("Estación actual {0}", estacion.Nombre)); } ); }
/// <summary> /// Valida los permisos del usuario actual /// </summary> private void ValidarPermisos() { // Habilidatmos los controles de empresas y estaciones EmpresasComboBox.Enabled = true; EstacionesComboBox.Enabled = true; // Si tenemos configurada empresa fija if (Sesion.Empresa_ID != null) { // Actualizamos el modelo model.Empresa_ID = Sesion.Empresa_ID.Value; // Actualizamos el control EmpresasComboBox.SelectedValue = model.Empresa_ID; // Consultamos las estaciones model.ConsultarEstaciones(); // Ligamos estaciones a los controles estacionesBindingSource.DataSource = model.Estaciones; // Si tenemos una estación fija if (Sesion.Estacion_ID != null) { // Actualizamos el modelo y los controles model.Estacion_ID = Sesion.Estacion_ID.Value; EstacionesComboBox.SelectedValue = model.Estacion_ID; // La fijamos inhabilitando el control EstacionesComboBox.Enabled = false; } // Fijamos la empresa inhabilitando el control EmpresasComboBox.Enabled = false; AppHelper.Try(delegate { // Si seleccionamos un valor if (EstacionesComboBox.SelectedItem != null) { // Obtenemos la estación Entities.SelectEstaciones estacion = (Entities.SelectEstaciones)EstacionesComboBox.SelectedItem; // Actualizamos el modelo model.Estacion_ID = estacion.Estacion_ID.Value; } }); } // end if } // end validar permisos
} // end EmpresasComboBox_SelectionChangeCommitted private void EstacionesComboBox_SelectionChangeCommitted(object sender, EventArgs e) { AppHelper.Try(delegate { // Si seleccionamos un valor if (EstacionesComboBox.SelectedItem != null) { // Obtenemos la estación Entities.SelectEstaciones estacion = (Entities.SelectEstaciones)EstacionesComboBox.SelectedItem; // Actualizamos el modelo model.Estacion_ID = estacion.Estacion_ID.Value; } }); } // EstacionesComboBox_SelectionChangeCommitted
/// <summary> /// Consulta y muestra el reporte de monitor de rentas /// </summary> private void LoadVista_MonitorRentas() { // Obtenemos la empresa y la estación de los controles de la forma int?empresa_id, estacion_id; Entities.SelectEmpresas empresa = (Entities.SelectEmpresas)EmpresasComboBox.SelectedItem; Entities.SelectEstaciones estacion = (Entities.SelectEstaciones)EstacionesComboBox.SelectedItem; empresa_id = empresa.Empresa_ID; estacion_id = estacion.Estacion_ID; // Consultamos el reporte VistaMonitorRentas = Entities.Vista_MonitorRentas.Get(empresa_id, estacion_id, Sesion.Usuario_ID); // Lo ligamos a los datos vista_MonitorRentasBindingSource.DataSource = VistaMonitorRentas; }
/// <summary> /// Busca los conductores en la base de datos y los despliega en el formulario /// </summary> private void GetConductores() { int estacion_id; Entities.SelectEstaciones estacion = (Entities.SelectEstaciones)EstacionesComboBox.SelectedItem; if (estacion == null) { if (Sesion.Estacion_ID == null) { AppHelper.ThrowException("Debe tener acceso a al menos una estacion"); } estacion_id = Sesion.Estacion_ID.Value; } else { estacion_id = estacion.Estacion_ID.Value; } int?conductor_id = null; string filter = @"(@Conductor_ID IS NULL OR Conductor_ID = @Conductor_ID) AND (@Nombre IS NULL OR Nombre LIKE @Nombre + '%' OR Apellidos LIKE @Nombre + '%') AND EstatusConductor_ID NOT IN (10,12) AND Estacion_ID = @Estacion_ID"; if (!string.IsNullOrEmpty(this.Conductor_IDTextBox.Text)) { if (AppHelper.IsNumeric(this.Conductor_IDTextBox.Text)) { conductor_id = Convert.ToInt32(this.Conductor_IDTextBox.Text); } } string nombre = this.NombreConductorTextBox.Text; conductoresBindingSource.DataSource = Entities.Conductores.Read( filter, null, DB.Param("@Conductor_ID", conductor_id), DB.Param("@Nombre", nombre), DB.Param("@Estacion_ID", estacion_id) ); }
/// <summary> /// Realiza las validaciones de los datos de entrada /// </summary> /// <exception cref="System.Exception"> /// Debe seleccionar un conductor /// o /// Debe seleccionar una empresa /// o /// Debe seleccionar una estacion /// o /// Debe seleccionar un tipo contrato /// </exception> private void DoValidate() { Entities.SelectEmpresas empresa = (Entities.SelectEmpresas)EmpresasComboBox.SelectedItem; Entities.TiposContratos tipocontrato = (Entities.TiposContratos)TiposContratosComboBox.SelectedItem; Entities.SelectEstaciones estacion = (Entities.SelectEstaciones)EstacionesComboBox.SelectedItem; if (this.conductor == null) { throw new Exception("Debe seleccionar un conductor"); } if (empresa == null) { throw new Exception("Debe seleccionar una empresa"); } if (estacion == null) { if (this.EstacionesComboBox.Items.Count > 0) { throw new Exception("Debe seleccionar una estacion"); } else { AppHelper.ThrowException("Debe tener acceso a al menos una estacion"); } } if (tipocontrato == null) { throw new Exception("Debe seleccionar un tipo contrato"); } Padre.Contrato.EstatusContrato_ID = 1; Padre.Contrato.Empresa_ID = (int)empresa.Empresa_ID; Padre.Contrato.Estacion_ID = estacion.Estacion_ID.Value; Padre.Contrato.TipoContrato_ID = tipocontrato.TipoContrato_ID; Padre.Contrato.Conductor_ID = conductor.Conductor_ID; Padre.Summary["Empresa"] = empresa.Nombre; Padre.Summary["Estacion"] = estacion.Nombre; Padre.Summary["Tipo de contrato"] = tipocontrato.Nombre; Padre.Summary["Conductor"] = conductor.Apellidos + " " + conductor.Nombre; }
/// <summary> /// Liga los controles a la base de datos /// </summary> public override void BindData() { // Crea una nueva instancia del modelo model = new Model(); // Consulta las empresas model.ConsultarEmpresas(); // Liga las empresas a los controles empresasBindingSource.DataSource = model.Empresas; // Consulta las estaciones model.ConsultarEstaciones(); // Liga las estaciones a los controles estacionesBindingSource.DataSource = model.Estaciones; // Valida los permisos del usuario actual ValidarPermisos(); // Si seleccionamos una empresa if (EmpresasComboBox.SelectedItem != null) { // Obtenemos el valor Entities.SelectEmpresas empresa = (Entities.SelectEmpresas)EmpresasComboBox.SelectedItem; // Actualizamos el modelo model.Empresa_ID = empresa.Empresa_ID.Value; } // end if // Si seleccionamos una empresa if (EstacionesComboBox.SelectedItem != null) { // Obtenemos el valor Entities.SelectEstaciones estacion = (Entities.SelectEstaciones)EstacionesComboBox.SelectedItem; // Actualizamos el modelo model.Estacion_ID = estacion.Estacion_ID.Value; } // end if base.BindData(); }