コード例 #1
0
        /// <summary>
        /// Determina si la unidad sigue en la flota de la sucursal durante el transcurso del mes
        /// </summary>
        /// <param name="source">Fuente de Datos de la Unidad</param>
        /// <returns>Es TRUE si aun sigue en la flota de la sucursal</returns>
        private bool EnFlota(ConsultarDetalladoRDSucursalDS.ConsultarDetalladoRDSucursalRow source)
        {
            bool enFlota = true;

            int limit1 = 1;
            int limit2 = this.GetDaysInMonth();

            if (source == null)
            {
                source = (this.GetCurrentRow() as DataRowView).Row as ConsultarDetalladoRDSucursalDS.ConsultarDetalladoRDSucursalRow;
                if (source == null)
                {
                    throw new Exception(String.Format("La fila de datos actual no corresponde a una fila de tipo {0}", typeof(ConsultarDetalladoRDSucursalDS.ConsultarDetalladoRDSucursalRow)));
                }
            }

            for (int i = limit1; i <= limit2; i++)
            {
                String index = String.Format("EstatusHistorial_{0}", i);
                if (source.IsNull(index) && i == 1)
                {
                    return(enFlota);
                }
                else
                {
                    if (source.IsNull(index) && i > 1)
                    {
                        EEstatusHistorial?estatusAnterior = (EEstatusHistorial)Enum.ToObject(typeof(EEstatusHistorial), (int)source[String.Format("EstatusHistorial_{0}", i - 1)]);
                        return(estatusAnterior != EEstatusHistorial.FueraFlota);
                    }
                }
            }

            return(enFlota);
        }
コード例 #2
0
        /// <summary>
        /// Evento que se ejecuta cuando se obtiene el porcentaje de utilización de un equipo
        /// </summary>
        /// <param name="sender">Objeto que genero el evento</param>
        /// <param name="e">Argumentos asociados al evento</param>
        public void PorcentajeUtilizacion_GetValue(object sender, DevExpress.XtraReports.UI.GetValueEventArgs e)
        {
            ConsultarDetalladoRDSucursalDS.ConsultarDetalladoRDSucursalRow source = (e.Row as DataRowView).Row as ConsultarDetalladoRDSucursalDS.ConsultarDetalladoRDSucursalRow;
            Double rentados     = this.CountFromHistorial(source, EEstatusHistorial.Rentado);
            Double diasObjetivo = this.EnFlota(source) ? this.GetDaysInMonth() - this.CountFromHistorial(source, EEstatusHistorial.FueraFlota) : this.CountFromHistorial(source, EEstatusHistorial.Rentado) + this.CountFromHistorial(source, EEstatusHistorial.Disponible);

            e.Value = diasObjetivo > 0 ? Math.Round((rentados / diasObjetivo) * 100.00) : 0.00;
        }
コード例 #3
0
        /// <summary>
        /// Realiza un conteo de unidades sobre una fila de registro de estatus de historial de una unidad
        /// </summary>
        /// <param name="source">Fila de datos a evaluar</param>
        /// <param name="estatusToCompare">Estatus de Historial a comparar, si se omiten se cuentan todas las unidades</param>
        /// <param name="dayOfMonth">Día del mes a procesar, si se omite se procesa todo el mes</param>
        /// <returns>Conteo de unidades tomando como base su estatus de historial</returns>
        private int CountFromHistorial(ConsultarDetalladoRDSucursalDS.ConsultarDetalladoRDSucursalRow source, EEstatusHistorial?estatusToCompare, int?dayOfMonth)
        {
            int result = 0;

            int limit1 = 0;
            int limit2 = 0;

            if (dayOfMonth.HasValue)
            {
                limit1 = dayOfMonth.Value;
                limit2 = dayOfMonth.Value;
            }
            else
            {
                limit1 = 1;
                limit2 = this.GetDaysInMonth();
            }

            if (source == null)
            {
                source = (this.GetCurrentRow() as DataRowView).Row as ConsultarDetalladoRDSucursalDS.ConsultarDetalladoRDSucursalRow;
                if (source == null)
                {
                    throw new Exception(String.Format("La fila de datos actual no corresponde a una fila de tipo {0}", typeof(ConsultarDetalladoRDSucursalDS.ConsultarDetalladoRDSucursalRow)));
                }
            }

            for (int i = limit1; i <= limit2; i++)
            {
                String index = String.Format("EstatusHistorial_{0}", i);
                if (source.IsNull(index))
                {
                    continue;
                }

                EEstatusHistorial?estatus = (EEstatusHistorial)Enum.ToObject(typeof(EEstatusHistorial), (int)source[index]);
                if (estatusToCompare.HasValue)
                {
                    if (estatus == estatusToCompare)
                    {
                        result++;
                    }
                }
                else
                {
                    if (estatus != EEstatusHistorial.FueraFlota)
                    {
                        result++;
                    }
                }
            }

            return(result);
        }
コード例 #4
0
 /// <summary>
 /// Evento que se ejecuta cuando se obtiene el número de días objetivo de un equipo
 /// </summary>
 /// <param name="sender">Objeto que genero el evento</param>
 /// <param name="e">Argumentos asociados al evento</param>
 public void DiasObjetivo_GetValue(object sender, DevExpress.XtraReports.UI.GetValueEventArgs e)
 {
     ConsultarDetalladoRDSucursalDS.ConsultarDetalladoRDSucursalRow source = (e.Row as DataRowView).Row as ConsultarDetalladoRDSucursalDS.ConsultarDetalladoRDSucursalRow;
     //Dias del mes menos los dias fuera de flota ó los dias de renta mas los dias disponibles
     e.Value = this.EnFlota(source) ? this.GetDaysInMonth() - this.CountFromHistorial(source, EEstatusHistorial.FueraFlota) : this.CountFromHistorial(source, EEstatusHistorial.Rentado) + this.CountFromHistorial(source, EEstatusHistorial.Disponible);
 }
コード例 #5
0
 /// <summary>
 /// Evento que se ejecuta cuando se obtiene el número de días en taller de un equipo
 /// </summary>
 /// <param name="sender">Objeto que genero el evento</param>
 /// <param name="e">Argumentos asociados al evento</param>
 public void DiasTaller_GetValue(object sender, DevExpress.XtraReports.UI.GetValueEventArgs e)
 {
     ConsultarDetalladoRDSucursalDS.ConsultarDetalladoRDSucursalRow source = (e.Row as DataRowView).Row as ConsultarDetalladoRDSucursalDS.ConsultarDetalladoRDSucursalRow;
     e.Value = this.CountFromHistorial(source, EEstatusHistorial.EnTaller);
 }
コード例 #6
0
 /// <summary>
 /// Realiza un conteo de unidades sobre una fila de registro de estatus de historial de una unidad
 /// </summary>
 /// <param name="source">Fila de datos a evaluar</param>
 /// <param name="estatusToCompare">Estatus de Historial a comparar, si se omiten se cuentan todas las unidades</param>
 /// <returns>Conteo de unidades tomando como base su estatus de historial</returns>
 private int CountFromHistorial(ConsultarDetalladoRDSucursalDS.ConsultarDetalladoRDSucursalRow source, EEstatusHistorial?estatusToCompare)
 {
     return(this.CountFromHistorial(source, estatusToCompare, null));
 }