/// <summary>
        /// Calcula la comisión a cobrar por el servicio
        /// </summary>
        /// <param name="comisionServicio">La comisión del serivcio</param>
        private void CalcularComision(Entities.ComisionesServicios comisionServicio)
        {
            //  Inicializamos la comisión 0
            decimal comision = 0;

            //  Determinamos el monto a partir del tipo de comisión
            //  y del precio

            //  Si el tipo es uno
            if (comisionServicio.TipoComision_ID == 1)
            {
                //  Es absoluto
                comision = comisionServicio.Monto;
            }
            else if (comisionServicio.TipoComision_ID == 2) // si el tipo es dos
            {
                //  Es porcentaje
                //  Lo calculamos
                comision = Servicio.Precio * (comisionServicio.Monto / (decimal)100);
            }

            //  Agregamos la comisión al paogo
            Servicio.PagoComisiones += comision;

            //  Reducimos el pago del conductor
            Servicio.PagoConductor = Servicio.Precio - Servicio.PagoComisiones;

            //  Agregamos la comisión a la lista
            Comisiones.Add(new Entities.Servicios_Comisiones(
                               Servicio.Servicio_ID, comisionServicio.ComisionServicio_ID, Servicio.Ticket_ID, comision));
        }
Beispiel #2
0
        /// <summary>
        /// Calcula la comisión del servicio, a partir de un objeto ComisionesServicios
        /// </summary>
        /// <param name="comisionServicio">El objeto <remarks>ComisionesServicio</remarks> a calcularle comisión</param>
        private void CalcularComision(Entities.ComisionesServicios comisionServicio)
        {
            //  Inicializamos la comisión en cero
            decimal comision = 0;

            //  Si la comisión es de tipo 1
            if (comisionServicio.TipoComision_ID == 1)
            {
                //  Es absoluto
                //  La comisión es el monto
                comision = comisionServicio.Monto;
            }
            else if (comisionServicio.TipoComision_ID == 2)             // Si la comisión es de tipo 2
            {
                //  Es porcentaje
                //  Lo calculamos
                comision = Servicio.Precio * (comisionServicio.Monto / (decimal)100);
            }

            //  Incrementamos el pago de comisiones
            Servicio.PagoComisiones += comision;

            //  Disminuimos el pago del conductor
            Servicio.PagoConductor = Servicio.Precio - Servicio.PagoComisiones;

            //  Ingresamos la comisión calculada al listado
            Comisiones.Add(new Entities.Servicios_Comisiones(
                               Servicio.Servicio_ID, comisionServicio.ComisionServicio_ID, Servicio.Ticket_ID, comision));
        }
        /// <summary>
        /// Guarda los cambios en la base de datos
        /// </summary>
        private void DoSave()
        {
            //  Validamos los datos de entrada
            DoValidate();

            //  Configuramos un registro de Comisiones Servicios
            Entities.ComisionesServicios comisionesServicios =
                new Entities.ComisionesServicios(Convert.ToInt32(this.comisionServicio_IDTextBox.Text),
                                                 Convert.ToInt32(this.comisionista_IDComboBox.SelectedValue),
                                                 Convert.ToInt32(this.tipoComision_IDComboBox.SelectedValue),
                                                 Convert.ToDecimal(this.montoTextBox.Text),
                                                 this.nombreTextBox.Text,
                                                 false,
                                                 true
                                                 );

            //  Realizamos la inserción a la base de datos
            comisionesServicios.Create();

            //  Enviamos mensaje
            AppHelper.Info("!Comisión registrada!");

            //  Navegamos a comisiones servicios
            Padre.SwitchForma("ComisionesServicios");
        }
        /// <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);
        }
        /// <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;

            //  Tipo de Servicio de conductor
            if (!AppHelper.IsNullOrEmpty(Servicio.TipoServicioConductor_ID))
            {
                Entities.TiposServiciosConductores tipoServicioConductor = Entities.TiposServiciosConductores.Read((int)Servicio.TipoServicioConductor_ID);

                if (!AppHelper.IsNullOrEmpty(tipoServicioConductor.ComisionServicio_ID))
                {
                    Entities.ComisionesServicios comisionServicio = Entities.ComisionesServicios.Read((int)tipoServicioConductor.ComisionServicio_ID);

                    //  Calcular comision
                    CalcularComision(comisionServicio);
                }
            }
        }
        /// <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);
        }
Beispiel #7
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;
        }