Ejemplo n.º 1
0
        public async Task <IHttpActionResult> Detalle(SolicitudComunicacionesModel model)
        {
            if (!ComprobarClaves(model))
            {
                return(Unauthorized());
            }

            // Validación del modelo: ComunicacionID tiene valor, UID se ha especificado, Subdominio se ha especificado.
            if (!model.ComunicacionID.HasValue || string.IsNullOrWhiteSpace(model.UID) || string.IsNullOrWhiteSpace(model.Subdominio))
            {
                log.Warn($"Modelo no válido: ComunicacionID={model.ComunicacionID}, UID={model.UID}, subdominio={model.Subdominio}.");
                return(BadRequest());
            }

            ComunicacionDetalleModel resul;

            try
            {
                Aplicacion app = Aplicacion(model.Subdominio);
                IComunicacionesServicio srv = Servicios.ComunicacionesServicio();
                Comunicacion            c   = srv.ConsultarComunicacion(model.ComunicacionID.Value, model.UID, GetClientIp());
                await srv.ApplyChangesAsync();

                resul = ComunicacionDetalleModel.FromEntity(c);
                return(Ok(resul));
            }
            catch (Exception e)
            {
                log.Error($"Error al consultar comunicación {model.ComunicacionID} el terminal {model.UID}.", e);
                return(Ok <ComunicacionDetalleModel>(null));
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Devuelve una comunicación de la aplicación actual dado su ID.
        /// </summary>
        /// <param name="comunicacionID">ID de la comunicación solicitada.</param>
        public async Task <ActionResult> ComunicacionDetalle(long comunicacionID)
        {
            IComunicacionesServicio srv = Servicios.ComunicacionesServicio();
            Comunicacion            c   = srv.ConsultarComunicacion(comunicacionID, $"{Request.UserHostName}-{Request.Browser.Browser}", Request.UserHostAddress);
            await srv.ApplyChangesAsync();

            ComunicacionDetalleModel resul = ComunicacionDetalleModel.FromEntity(c);

            return(Json(resul, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> LeerUnoDetalle(long comunicacionID)
        {
            IComunicacionesServicio srv = Servicios.ComunicacionesServicio();
            Comunicacion            com = await srv.GetSingleAsync(c => c.ComunicacionID == comunicacionID);

            if (com != null)
            {
                return(Json(ComunicacionDetalleModel.FromEntity(com), JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(HttpNotFound());
            }
        }
Ejemplo n.º 4
0
        public ActionResult Index(long?id = null)
        {
            if (id.HasValue)
            {
                var          comSrv = Servicios.ComunicacionesServicio();
                Comunicacion com    = comSrv.GetSingle(c => c.ComunicacionID == id.Value);
                ViewBag.Comunicacion = ComunicacionDetalleModel.FromEntity(com);
            }

            var srv       = Servicios.CategoriasServicio();
            var registros = srv.ListaCategorias()
                            .Select(CategoriaModel.FromEntity)
                            .ToList();

            registros.Insert(0,
                             new CategoriaModel
            {
                CategoriaID = 0,
                Nombre      = Txt.Comunicaciones.TodasLasComunicaciones,
                Orden       = -1,
                Activo      = true,
                Icono       = "fa-asterisk"
            });

            registros.Insert(1,
                             new CategoriaModel
            {
                CategoriaID = -1,
                Nombre      = Txt.Comunicaciones.Destacados,
                Orden       = 0,
                Activo      = true,
                Icono       = "fa-star"
            });

            ViewBag.Categorias = registros;
            return(View());
        }