/// <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");
            }
        }
예제 #2
0
 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;
     }
 }
예제 #3
0
 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
예제 #6
0
        /// <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();
        }