예제 #1
0
        /// <summary>
        /// Si se oprimió "Enter" en la caja de texto "Unidad"
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void UnidadTextBox_KeyUp(object sender, KeyEventArgs e)
        {
            try
            {
                //  Si se tecleo enter
                if (e.KeyData == Keys.Enter)
                {
                    //  Si hay daots en la caja de texto
                    if (!string.IsNullOrEmpty(UnidadTextBox.Text))
                    {
                        //  Si NO son numéricos
                        if (!AppHelper.IsNumeric(UnidadTextBox.Text))
                        {
                            //  Lanzamos error
                            throw new Exception("La unidad debe contener solo datos numéricos");
                        }

                        //  Actualizamos el modelo
                        //  Numero economico
                        Model.NumeroEconomico = Convert.ToInt32(UnidadTextBox.Text);
                        //  Fecha de pago
                        Model.FechaPago = FechaPagoDateTimePicker.Value;

                        //  Obtenemos el número de unidad
                        int numerounidades = Model.NumeroUnidades();

                        //  Si es cero
                        if (numerounidades == 0)
                        {
                            //  No hay unidades con ese número economico
                            //  Lanzamos excepción
                            throw new Exception(string.Format("Unidad {0} no esta asignada", Model.NumeroEconomico));
                        }

                        //  Si es uno, obtenemos los datos de la unidad
                        if (numerounidades == 1)
                        {
                            Model.ObtenerDatosDeUnidad();
                        }

                        //  Si es mayor que uno
                        if (numerounidades > 1)
                        {
                            //  Seleccionar una unidad
                            SeleccionarUnidadesForm.GetUnidades(Model.NumeroEconomico);
                            if (SeleccionarUnidadesForm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                            {
                                //  Obtenemos los datos
                                //  Actualizamos el modelo
                                Model.DatosConductor  = SeleccionarUnidadesForm.DatosConductor;
                                Model.NombreConductor = Model.DatosConductor.Conductor;
                            }
                        }

                        //  Obtenemos los servicios pendientes
                        Model.ObtenerServiciosPendientes();

                        //  Calculamos los totales
                        Model.CalcularTotales();

                        //  Actualizamos la información en los controles
                        serviciosPendientesConductorBindingSource.DataSource = Model.ServiciosPendientes;
                        this.NombreConductorTextBox.Text = Model.NombreConductor;
                        this.TotalServiciosTextBox.Text  = string.Format("{0:C}", this.Model.TotalServicios);

                        //  Si no tiene servicios pendientes de pago
                        if (Model.ServiciosPendientes.Count == 0)
                        {
                            //  Informamos al usuario
                            AppHelper.Info(string.Format("El conductor no tiene servicios pendientes para fecha {0:d}.", Model.FechaPago));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                AppHelper.Error(ex.Message);
            }
        }
예제 #2
0
        } // end void

        /// <summary>
        /// Consulta la información en la base de datos y la despliga en la forma
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BuscarButton_Click(object sender, EventArgs e)
        {
            AppHelper.DoMethod(
                delegate
            {
                //  Get unidad
                int unidades = this.Model.NumeroUnidades();

                switch (unidades)
                {
                case 0:

                    //  No hay unidades,
                    //  Consultamos directo
                    this.Model.Unidad_ID = null;

                    break;

                case 1:

                    //  Hay una unidad,
                    //  la consultamos primero antes de consultar
                    //  las incidencias
                    this.Model.ConsultarUnidad();

                    break;

                default:
                    //  Hay más de una unidad
                    //  primero obtenemos que unidad es
                    //  luego consultamos incidencias

                    SeleccionarUnidadConductor seleccionarUnidadForm = new SeleccionarUnidadConductor();
                    seleccionarUnidadForm.GetUnidades(this.Model.NumeroEconomico.Value);

                    if (seleccionarUnidadForm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        this.Model.Unidad_ID = seleccionarUnidadForm.DatosConductor.Unidad_ID;
                    }
                    else
                    {
                        this.Model.Unidad_ID = null;
                    }

                    break;
                }

                //  Consultamos la información
                this.Model.Consultar();

                //  Dependiendo de la pestaña actual, actualizamos la gridview
                switch (this.Model.TipoAtencionClientes)
                {
                case AltaAtencionClientes_Model.TiposAtencionClientes.Incidencias:

                    this.IncidenciasBindingSource.DataSource = this.Model.Incidencias;

                    break;

                case AltaAtencionClientes_Model.TiposAtencionClientes.Cortesias:

                    this.CortesiasbindingSource.DataSource = this.Model.Cortesias;

                    break;

                case AltaAtencionClientes_Model.TiposAtencionClientes.ObjetosExtraviados:

                    this.ObjetosExtraviadosBindingSource.DataSource = this.Model.ObjetosExtraviados;

                    break;

                case AltaAtencionClientes_Model.TiposAtencionClientes.Reembolsos:

                    this.ReembolsosBindingSource.DataSource = this.Model.Reembolsos;

                    break;
                }  // end switch
            },     // end delegate
                this
                );
        } // end void