public ActionResult Asociaciones()
        {
            var kobo = new KoboController(db, userManager, _env);

            ViewBag.DataTimeAssoc = kobo.GetDatetimeData(KoboController.FILE_ASOCIACION);

            return(View());
        }
        public ActionResult Encuestados()
        {
            var kobo = new KoboController(db, userManager, _env);

            ViewBag.DataTime = kobo.GetDatetimeData(KoboController.FILE_CARACTERIZACION);

            return(View());
        }
        public async Task <IActionResult> Cargar(string idKobo)
        {
            var r = new RespuestaAccion();

            var formalizacion = await db.Formalization.Where(n => n.IdKobo == idKobo).FirstOrDefaultAsync();

            if (formalizacion == null)
            {
                var kobo = new KoboController(db, userManager, _env);
                r = await kobo.LoadFormalizacion(idKobo, User.Identity.Name);

                return(Json(r));
            }

            r.Url     = "Formalizacion/Edit/" + formalizacion.Id;
            r.Success = true;
            return(Json(r));
        }
        public async Task <ActionResult> Details(int id)
        {
            var user = await userManager.FindByNameAsync(User.Identity.Name);

            var respRelacionado = await GetResponsablesbyIdParent(user.IDDependencia, 1, 3);

            Pollster encuestador = await db.Pollster.Where(n => n.Id == id && respRelacionado.Contains(n.IdResponsable)).FirstOrDefaultAsync();

            var kobo = new KoboController(db, userManager, _env);

            ViewBag.DataTime      = kobo.GetDatetimeData(KoboController.FILE_CARACTERIZACION);
            ViewBag.DataTimeAssoc = kobo.GetDatetimeData(KoboController.FILE_ASOCIACION);

            if (encuestador == null)
            {
                return(NotFound());
            }
            return(View(encuestador));
        }
        public async Task <ActionResult> ListAjax()
        {
            var user = await userManager.FindByNameAsync(User.Identity.Name);

            var respRelacionado = await GetResponsablesbyIdParent(user.IDDependencia, 1, 3);

            KoboController kobo = new KoboController(db, userManager, _env);

            var encuestadores = await db.Pollster.Where(n => respRelacionado.Contains(n.IdResponsable)).
                                Select(n => new EncuestadorViewModel {
                ID                 = n.Id,
                Cedula             = n.DNI,
                Nombre             = n.Name,
                Municipio          = n.Location != null ? n.Location.Name : "",
                Departamento       = (n.Location != null && n.Location.LocationParent != null) ? n.Location.LocationParent.Name : "",
                Coordinacion       = n.Responsable != null ? n.Responsable.Nombre : "",
                Telefono           = n.PhoneNumber,
                Email              = n.Email,
                NumeroEncuestas    = 0,
                NumeroAsociaciones = 0
            }).ToListAsync();

            var totales      = kobo.GetTotalEncuestas();
            var asociaciones = kobo.GetTotalAsociaciones();

            foreach (var enc in encuestadores)
            {
                var idUser = enc.Cedula.ToString();
                if (totales.ContainsKey(idUser))
                {
                    enc.NumeroEncuestas = totales[idUser];
                }
                if (asociaciones.ContainsKey(idUser))
                {
                    enc.NumeroAsociaciones = asociaciones[idUser];
                }
            }
            return(Json(encuestadores));
        }