Пример #1
0
        /// <summary>
        /// Asigna las comisiones correspondientes al servicio a partir de la configuración por zona
        /// </summary>
        private void GetComisiones()
        {
            //  Instanciamos el listado
            Comisiones = new List <Entities.Servicios_Comisiones>();

            //  Configuramos el pago a 0
            Servicio.PagoComisiones = 0;

            //  Configuramos el pago al conductor como el precio total del boleto
            Servicio.PagoConductor = Servicio.Precio;

            //  Obtenemos la zona
            Entities.Zonas zona = Entities.Zonas.Read((int)Servicio.Zona_ID);

            //  Si es comisionada
            if (!AppHelper.IsNullOrEmpty(zona.ComisionServicio_ID))
            {
                //  Obtenemos la comisión
                Entities.ComisionesServicios comisionServicio = Entities.ComisionesServicios.Read((int)zona.ComisionServicio_ID);

                //  Calcular comision
                CalcularComision(comisionServicio);
            }

            //  Calculamos Comision pronatura
            Entities.ComisionesServicios comisionPronatura =
                Entities.ComisionesServicios.Read(COMISIONPRONATURA_ID);
            CalcularComision(comisionPronatura);
        }
Пример #2
0
 /// <summary>
 /// Selecciona la zona, obtiene el precio, actualiza el servicio y
 /// los controles de la interfaz de usuario
 /// </summary>
 private void SelectZona()
 {
     if (!AppHelper.IsNullOrEmpty(ZonasComboBox.SelectedItem))
     {
         Entities.Zonas zona = (Entities.Zonas)ZonasComboBox.SelectedItem;
         Servicio.Zona_ID = zona.Zona_ID;
         GetPrecio();
         PrecioTextBox.Text = AppHelper.N2(Servicio.Precio);
     }
 }
Пример #3
0
        /// <summary>
        /// Guarda los datos en la base de datos
        /// </summary>
        private void DoSave()
        {
            //  Obtenemos el objeto Zonas actual
            Entities.Zonas zonas = (Entities.Zonas)ZonasBindingSource.Current;

            //  Mandamos llamar "Create" para la inserción
            zonas.Create();

            //  Limpiamos la forma
            DoClear();

            //  Mostramos el mensaje de éxito
            AppHelper.Info("¡La zona ha sido ingresada!");
        }
Пример #4
0
 /// <summary>
 /// Al presionar "Enter" en la caja de texto "Zona ID",
 /// se busca la zona por su ID (folio)
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Zona_IDTextBox_KeyUp(object sender, KeyEventArgs e)
 {
     if (e.KeyData == Keys.Enter)
     {
         AppHelper.Try(
             delegate
         {
             Servicio.Zona_ID    = Convert.ToInt32(this.Zona_IDTextBox.Text);
             Entities.Zonas zona = Entities.Zonas.Read(Servicio.Zona_ID.Value);
             GetPrecio();
             NombreZonaTextBox.Text = zona.Nombre;
             PrecioTextBox.Text     = AppHelper.N2(Servicio.Precio);
         }
             );
     }
 }
        /// <summary>
        /// Asigna la productividad al servicio
        /// </summary>
        private void GetProductividad()
        {
            //  Si el servicio es Tipo servicio conductor
            if (!AppHelper.IsNullOrEmpty(Servicio.TipoServicioConductor_ID))
            {
                //  Obtenemos el tipo de servicio
                Entities.TiposServiciosConductores tipoServicioConductor = Entities.TiposServiciosConductores.Read((int)Servicio.TipoServicioConductor_ID);

                //  Verificar si es valido como carrera
                //  Si es, productividad = 1
                if (tipoServicioConductor.EsValidoCarrera)
                {
                    Servicio.Productividad = 1;
                }
            }
            else // Si no
            {
                //  Tipo de Zona
                Entities.Zonas      zona     = Entities.Zonas.Read((int)Servicio.Zona_ID);
                Entities.TiposZonas tipoZona = Entities.TiposZonas.Read(zona.TipoZona_ID);

                //  Verificamos si la zona es acreditable
                if (tipoZona.EsAcreditable)
                {
                    //  Obtener la base de acreditación
                    decimal baseAcreditación = Convert.ToDecimal(Entities.VariablesNegocio.Read("BaseAcreditacion").Valor);

                    //  Dividir el precio entre la misma
                    decimal productividad = Servicio.Precio / baseAcreditación;

                    //  Si es menor que 1, entonces 1
                    if (productividad < 0)
                    {
                        productividad = 1;
                    }

                    //  Caso contrario, el cociente es la productividad
                    Servicio.Productividad = productividad;
                }
                else // Si no, vale solo por uno
                {
                    Servicio.Productividad = 1;
                } // end else
            }     // end else
        }         // end void GetProductividad
        /// <summary>
        /// Asigna las comisiones correspondientes al servicio a partir de la configuración por zona
        /// </summary>
        private void GetComisiones()
        {
            //  Un servicio puede contener cualquier cantidad
            //  de comisiones
            //  El total a pagar al conductor es el precio del boleto
            //  menos las comisiones

            //  Instanciamos las comisiones
            Comisiones = new List <Entities.Servicios_Comisiones>();

            //  Inicializamos a cero el pago de comisiones
            Servicio.PagoComisiones = 0;

            //  Inicializamos el pago del conductor como el precio
            //  del servicio
            Servicio.PagoConductor = Servicio.Precio;

            //  Obtenemos la zona del servicio
            Entities.Zonas zona = Entities.Zonas.Read((int)Servicio.Zona_ID);

            //  Si la zona es comisionada
            if (!AppHelper.IsNullOrEmpty(zona.ComisionServicio_ID))
            {
                //  Instanciamos una comisión, a partir de la zona
                Entities.ComisionesServicios comisionServicio = Entities.ComisionesServicios.Read((int)zona.ComisionServicio_ID);

                //  Calculamos la comision
                CalcularComision(comisionServicio);
            }

            //  Comision pronatura
            //  esta comisión es permamente
            //  La instanciamos y calculamos
            Entities.ComisionesServicios comisionPronatura =
                Entities.ComisionesServicios.Read(COMISIONPRONATURA_ID);

            CalcularComision(comisionPronatura);
        }
        /// <summary>
        /// Si oprimimos enter en la caja de texto del
        /// folio de la zona:
        /// Obtenemos la zona a partir del folio
        /// Obtenemos el precio
        /// Actualizamos la información de los controles
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Zona_IDTextBox_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyData == Keys.Enter)
            {
                AppHelper.Try(
                    delegate
                {
                    //  Obtenemos el folio (ID) de zona
                    Servicio.Zona_ID = Convert.ToInt32(this.Zona_IDTextBox.Text);

                    //  Obtenemos la zona
                    Entities.Zonas zona = Entities.Zonas.Read(Servicio.Zona_ID.Value);

                    //  Obtenemos el precio
                    GetPrecio();

                    //  Actualizamos los controles
                    NombreZonaTextBox.Text = zona.Nombre;
                    PrecioTextBox.Text     = AppHelper.N2(Servicio.Precio);
                }
                    ); // end AppHelper.Try
            } // end if Enter
        } // end KeyUp
        /// <summary>
        /// Guarda los cambios en la base de datos
        /// </summary>
        private void DoSave()
        {
            //  Obtenemos la zona actual
            //  y la asignamos a la variable zonas
            Entities.Zonas zonas = (Entities.Zonas)ZonasBindingSource.Current;

            //  Llamamos "Update" para actualizar los datos en la base de datos
            zonas.Update();

            //  Regresamos a la pantalla de listado de Zonas
            DoBackToList();

            //  Enviamos mensaje de éxito
            AppHelper.Info("¡Zona actualizada!");

            //  Registramos la acción de actualización en la base de datos
            AppHelper.LogDB(
                "Actualización de zonas",
                string.Format("Zona ID {0}, Nombre", zonas.Zona_ID, zonas.Nombre),
                this.Name,
                null
                );
        }
Пример #9
0
        /// <summary>
        /// Asigna las comisiones correspondientes al servicio a partir de la configuración por zona
        /// </summary>
        private void GetComisiones()
        {
            //  Instanciamos el listado
            Comisiones = new List <Entities.Servicios_Comisiones>();

            //  Configuramos el pago a 0
            Servicio.PagoComisiones = 0;

            //  Configuramos el pago al conductor como el precio total del boleto
            Servicio.PagoConductor = Servicio.Precio;

            //  Obtenemos la zona
            Entities.Zonas zona = Entities.Zonas.Read((int)Servicio.Zona_ID);

            //  Si es comisionada
            if (!AppHelper.IsNullOrEmpty(zona.ComisionServicio_ID))
            {
                //  Obtenemos la comisión
                Entities.ComisionesServicios comisionServicio = Entities.ComisionesServicios.Read((int)zona.ComisionServicio_ID);
                //  Calcular comision
                CalcularComision(comisionServicio);
                switch (zona.Zona_ID)
                {
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                case 11:
                case 12:
                case 13:
                case 14:
                    break;

                default:
                    //  Calculamos Comision pronatura
                    Entities.ComisionesServicios comisionPronatura = Entities.ComisionesServicios.Read(COMISIONPRONATURA_ID);
                    //  Calcular comision
                    CalcularComision(comisionPronatura);
                    //  Comision de regresos
                    Entities.ComisionesServicios comisionRegresos = Entities.ComisionesServicios.Read(COMISIONREGRESOS_ID);
                    //  Calcular comision
                    CalcularComision(comisionRegresos);
                    break;
                }
            }
            else
            {
                //  Comision de regresos
                Entities.ComisionesServicios comisionRegresos = Entities.ComisionesServicios.Read(COMISIONREGRESOS_ID);
                //  Calcular comision
                CalcularComision(comisionRegresos);

                //  Calculamos Comision pronatura
                Entities.ComisionesServicios comisionPronatura = Entities.ComisionesServicios.Read(COMISIONPRONATURA_ID);
                //  Calcular comision
                CalcularComision(comisionPronatura);
            }
            //  Asignar el porcentaje a la unidad
            Entities.VariablesNegocio varneg = Entities.VariablesNegocio.Read("PorcentajeBoletosRegresos");
            decimal porcentajeregresos       = Convert.ToDecimal(varneg.Valor);

            Servicio.ComisionRegreso   = Servicio.Precio * (porcentajeregresos / 100);
            Servicio.PorcentajeRegreso = porcentajeregresos;
        }