/// <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 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> /// Selecciona el tipo de servicio de conductor (boleto especial) /// a generar /// </summary> private void SelectTipoServicioConductor() { if (!AppHelper.IsNullOrEmpty(TiposServiciosConductoresComboBox.SelectedItem)) { Entities.TiposServiciosConductores tipo = (Entities.TiposServiciosConductores)TiposServiciosConductoresComboBox.SelectedItem; Servicio.TipoServicioConductor_ID = tipo.TipoServicioConductor_ID; if (tipo.Precio == null) { Servicio.Precio = 0; this.PrecioTextBox.Text = "0.00"; } else { Servicio.Precio = tipo.Precio.Value; this.PrecioTextBox.Text = Servicio.Precio.ToString("N2"); } } }
/// <summary> /// Obtiene la cuenta a la cual se cargará el servicio a partir del tipo de servicio /// </summary> private void GetCuenta() { Entities.TiposServiciosConductores tipoServicio = Entities.TiposServiciosConductores.Read((int)Servicio.TipoServicioConductor_ID); Servicio.Cuenta_ID = tipoServicio.Cuenta_ID; }