/// <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)); }
/// <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); }
/// <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; }