Beispiel #1
0
        /// <summary>
        /// Report data binding.
        /// </summary>
        /// <param name="e"></param>
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            var            showResults = false;
            MobileActivity activity    = null;

            if (!To.ToShortDateString().Equals(DateTime.UtcNow.ToShortDateString()))
            {
                activity = GetResults();

                showResults = activity != null;
            }

            if (showResults)
            {
                DisplayResults(activity);
            }
            else
            {
                infoLabel1.Mode = InfoLabelMode.INFO;

                infoLabel1.Text = CultureManager.GetSystemMessage(NoRouteInfo);
            }

            var mobile = activity != null ? activity.Movil : DAOFactory.CocheDAO.FindById(Mobile).Interno;

            lblTitle.Text = string.Format(CultureManager.GetLabel(RepGeocercasTitle), mobile);

            tblResults.Visible = showResults;

            lnkResumenDeRuta.Enabled = showResults;
        }
Beispiel #2
0
        public MobileActivityVo(MobileActivity t, DateTime desde, DateTime hasta, bool verDetalle)
        {
            IdMovil           = t.Id;
            VelocidadMaxima   = t.VelocidadMaxima;
            VelocidadPromedio = t.VelocidadPromedio;
            Infracciones      = t.Infracciones;
            Movil             = t.Movil;
            Patente           = t.Patente;
            CentroDeCostos    = t.CentroDeCostos;
            TipoVehiculo      = t.TipoVehiculo;
            Recorrido         = t.Recorrido;
            var dao   = new DAOFactory();
            var coche = dao.CocheDAO.FindById(t.Id);

            Costo           = coche != null && coche.CocheOperacion != null ? Recorrido * coche.CocheOperacion.CostoKmHistorico : 0.0;
            HorasActivo     = String.Format("Días:{0} - Horas {1}:{2}:{3}", t.HorasActivo.Days, t.HorasActivo.Hours, t.HorasActivo.Minutes, t.HorasActivo.Seconds);
            HorasDetenido   = String.Format("Días:{0} - Horas {1}:{2}:{3}", t.HorasDetenido.Days, t.HorasDetenido.Hours, t.HorasDetenido.Minutes, t.HorasDetenido.Seconds);
            HorasInfraccion = String.Format("Días:{0} - Horas {1}:{2}:{3}", t.HorasInfraccion.Days, t.HorasInfraccion.Hours, t.HorasInfraccion.Minutes, t.HorasInfraccion.Seconds);

            if (verDetalle)
            {
                var infracciones = dao.InfraccionDAO.GetByVehiculo(IdMovil, Infraccion.Codigos.ExcesoVelocidad, desde, hasta);
                Leves  = infracciones.Count(inf => (inf.Alcanzado - inf.Permitido) <= 9);
                Medias = infracciones.Count(inf => (inf.Alcanzado - inf.Permitido) > 9 &&
                                            (inf.Alcanzado - inf.Permitido) <= 17);
                Graves = infracciones.Count(inf => (inf.Alcanzado - inf.Permitido) > 17);
            }
        }
Beispiel #3
0
 /// <summary>
 /// Displays info aboute the specified route fragment.
 /// </summary>
 /// <param name="activity"></param>
 private void DisplayResults(MobileActivity activity)
 {
     lblDetencion.Text         = activity.HorasDetenido.ToString();
     lblInfraccion.Text        = string.Format(CultureManager.GetLabel(TimeAndEventsInfractions), activity.HorasInfraccion, activity.Infracciones);
     lblKilometros.Text        = string.Format("{0:0.00}km", activity.Recorrido);
     lblMovimiento.Text        = activity.HorasActivo.ToString();
     lblSinReportar.Text       = activity.HorasSinReportar.ToString();
     lblVelocidadMaxima.Text   = string.Format("{0}km/h", activity.VelocidadMaxima);
     lblVelocidadPromedio.Text = string.Format("{0}km/h", activity.VelocidadPromedio);
     lblDuracion.Text          = To.Subtract(From).ToString();
     lblFin.Text    = string.Format("{0} {1}", To.ToShortDateString(), To.TimeOfDay);
     lblInicio.Text = string.Format("{0} {1}", From.ToShortDateString(), From.TimeOfDay);
 }
Beispiel #4
0
        public MobileActivityVo(MobileActivity t)
        {
            IdMovil           = t.Id;
            VelocidadMaxima   = t.VelocidadMaxima;
            VelocidadPromedio = t.VelocidadPromedio;
            Infracciones      = t.Infracciones;
            Movil             = t.Movil;
            Patente           = t.Patente;
            CentroDeCostos    = t.CentroDeCostos;
            TipoVehiculo      = t.TipoVehiculo;
            Recorrido         = t.Recorrido;
            var dao   = new DAOFactory();
            var coche = dao.CocheDAO.FindById(t.Id);

            Costo           = coche != null && coche.CocheOperacion != null ? Recorrido * coche.CocheOperacion.CostoKmHistorico : 0.0;
            HorasActivo     = String.Format("Días:{0} - Horas {1}:{2}:{3}", t.HorasActivo.Days, t.HorasActivo.Hours, t.HorasActivo.Minutes, t.HorasActivo.Seconds);
            HorasDetenido   = String.Format("Días:{0} - Horas {1}:{2}:{3}", t.HorasDetenido.Days, t.HorasDetenido.Hours, t.HorasDetenido.Minutes, t.HorasDetenido.Seconds);
            HorasInfraccion = String.Format("Días:{0} - Horas {1}:{2}:{3}", t.HorasInfraccion.Days, t.HorasInfraccion.Hours, t.HorasInfraccion.Minutes, t.HorasInfraccion.Seconds);
        }
Beispiel #5
0
        /// <summary>
        /// Gets sumarized information about the activity of the specified vehicles within the givenn timespan.
        /// </summary>
        /// <param name="desde"></param>
        /// <param name="hasta"></param>
        /// <param name="empresa"></param>
        /// <param name="linea"></param>
        /// <param name="ids"></param>
        /// <param name="km"></param>
        /// <returns></returns>
        public List <MobileActivity> GetMobileActivities(DateTime desde, DateTime hasta, Int32 empresa, Int32 linea, List <Int32> ids, Int32 km)
        {
            MobileActivity   ma  = null;
            DetachedCriteria vdc = GetVehiclesDetachedCriteria(ids.Count <= SQLParameterLimit ? ids.ToArray() : new int[] {}, new[] { empresa },
                                                               (linea != 0 ? new[] { 0, linea } : new int[] {}));
            DetachedCriteria dc = GetDatamartDetachedCriteria(false, vdc).FilterBeginEndBetween(desde, hasta);

            ProjectionList pl = Projections.ProjectionList();

            pl.Add(Projections.Sum <Datamart>(dm => dm.MovementHours).WithAlias(() => ma.HsActivos));
            pl.Add(Projections.Sum <Datamart>(dm => dm.StoppedHours).WithAlias(() => ma.HsInactivos));
            pl.Add(Projections.Sum <Datamart>(dm => dm.InfractionMinutes).WithAlias(() => ma.HsInfraccion));
            pl.Add(Projections.Sum <Datamart>(dm => dm.NoReportHours).WithAlias(() => ma.HsSinReportar));
            pl.Add(Projections.Sum <Datamart>(dm => dm.Infractions).WithAlias(() => ma.Infracciones));
            IProjection recorridoProjection = Projections.Sum <Datamart>(dm => dm.Kilometers).WithAlias(() => ma.Recorrido);

            pl.Add(recorridoProjection);
            pl.Add(Projections.Max <Datamart>(dm => dm.MaxSpeed).WithAlias(() => ma.VelocidadMaxima));
            pl.Add(Projections.Group <Datamart>(dm => dm.Vehicle.Id).WithAlias(() => ma.Id));

            ICriteria crit = GetDatamartCriteria(0, dc, pl, null, typeof(MobileActivity));
            IList <MobileActivity> results = crit.List <MobileActivity>();

            var cocheDAO = new CocheDAO();

            foreach (MobileActivity r in results)
            {
                Coche coche = cocheDAO.FindById(r.Id);
                r.VelocidadPromedio = r.HsActivos > 0 ? Convert.ToInt32(r.Recorrido / r.HsActivos) : 0;
                r.HsInfraccion     /= 60;
                r.CentroDeCostos    = coche.CentroDeCostos != null ? coche.CentroDeCostos.Descripcion : null;
                r.TipoVehiculo      = coche.TipoCoche != null ? coche.TipoCoche.Descripcion : null;
                r.Movil             = coche.Interno;
                r.Patente           = coche.Patente;
            }

            List <MobileActivity> result = (ids.Count > SQLParameterLimit ? results.Where(x => ids.Contains(x.Id)) : results).OrderBy(r => r.Movil).ToList();

            return(result);
        }
Beispiel #6
0
 private Microsoft.VisualStudio.Modeling.ModelElement GetParentForCloudcoreUser(MobileActivity childElement)
 {
     return childElement.SubProcess;
 }