Пример #1
0
        public ActionResult Index()
        {
            InicializarEdit();


            var model = new UbicacionAgente();

            model.AgenteUbicaciones = new List <AgenteUbicacion>();
            model.Agentes           = GetAgenteListDetail(((List <Agente>)ViewBag.Agentes).Select(p => p.IdAgente.ToString()).ToArray <string>());//new List<UbicacionAgenteDetalle>();

            model.Filter1   = true;
            model.Filter24  = true;
            model.Filter48  = true;
            model.FilterMAS = true;

            DataBase.ParametroHelper.Load();

            ViewBag.AgenteUbicacion1 = DataBase.ParametroHelper.AgenteUbicacion1;
            ViewBag.AgenteUbicacion2 = DataBase.ParametroHelper.AgenteUbicacion2;
            ViewBag.AgenteUbicacion3 = DataBase.ParametroHelper.AgenteUbicacion3;

            return(View(model));
        }
Пример #2
0
        public ActionResult Index(UbicacionAgente model, string[] agentes)
        {
            InicializarEdit();

            model.Agentes = GetAgenteListDetail(agentes);

            DataBase.ParametroHelper.Load();

            ViewBag.AgenteUbicacion1 = DataBase.ParametroHelper.AgenteUbicacion1;
            ViewBag.AgenteUbicacion2 = DataBase.ParametroHelper.AgenteUbicacion2;
            ViewBag.AgenteUbicacion3 = DataBase.ParametroHelper.AgenteUbicacion3;

            try
            {
                var idAgente = model.Agentes.Select(p => p.IdAgente).ToArray <int>();

                model.AgenteUbicaciones = (from e in DataBase.AgenteUbicaciones.GetQueryable(p => idAgente.Contains(p.IdAgente))
                                           group e by e.IdAgente into g
                                           select g.OrderByDescending(e => e.Fecha).FirstOrDefault() into r
                                           select r).ToList();

                DateTime ahora = GetCurrentDateTime();

                foreach (var item in model.AgenteUbicaciones)
                {
                    var agente = ((List <Agente>)ViewBag.Agentes).Where(p => p.IdAgente == item.IdAgente).FirstOrDefault();

                    if (agente != null)
                    {
                        item.MarkerIndex = agente.MarkerIndex;
                        item.Agente      = agente;
                    }

                    long ticks   = ahora.Ticks - item.Fecha.Ticks;
                    long minutos = ticks / (60 * 1000 * 10000);

                    if (minutos < 60)
                    {
                        item.HorasUltimaConexion = 0;
                        item.UltimaConexion      = string.Format(Resources.MessageFor.HaceMinutos, minutos);
                    }
                    else
                    {
                        long horas = minutos / 60;
                        item.HorasUltimaConexion = horas;

                        if (horas > 24)
                        {
                            item.UltimaConexion = string.Format(Resources.MessageFor.HaceDias, horas / 24);
                        }
                        else
                        {
                            item.UltimaConexion = string.Format(Resources.MessageFor.HaceHoras, horas);
                        }
                    }
                }

                for (int i = model.AgenteUbicaciones.Count - 1; i >= 0; i--)
                {
                    var item = model.AgenteUbicaciones[i];

                    if ((item.HorasUltimaConexion <= DataBase.ParametroHelper.AgenteUbicacion1 && !model.Filter1) ||
                        (item.HorasUltimaConexion > DataBase.ParametroHelper.AgenteUbicacion1 && item.HorasUltimaConexion <= DataBase.ParametroHelper.AgenteUbicacion2 && !model.Filter24) ||
                        (item.HorasUltimaConexion > DataBase.ParametroHelper.AgenteUbicacion2 && item.HorasUltimaConexion <= DataBase.ParametroHelper.AgenteUbicacion3 && !model.Filter48) ||
                        (item.HorasUltimaConexion > DataBase.ParametroHelper.AgenteUbicacion3 && !model.FilterMAS))
                    {
                        model.AgenteUbicaciones.Remove(item);
                    }
                }

                return(View(model));
            }
            catch
            {
                this.AddDefaultErrorMessage();
            }

            model.AgenteUbicaciones = new List <AgenteUbicacion>();
            return(View(model));
        }