Пример #1
0
        public ActionResult BannerEmpresa(long id)
        {
            IEmpresasServicio srv     = Servicios.EmpresasServicio();
            Empresa           empresa = srv.GetSingle(e => e.EmpresaID == id && e.Activo);

            FileStream str;
            string     mime;
            string     fileName;

            if (empresa == null || empresa.Banner == null)
            {
                return(File("~/Content/Images/Blanco.png", "image/png"));
            }
            else
            {
                str      = FileManager.ObtenerDocumento(empresa.Banner);
                mime     = empresa.Banner.Mime;
                fileName = empresa.Banner.Nombre;

                var cd = new ContentDisposition
                {
                    FileName = fileName,
                    Inline   = false,
                };

                Response.AppendHeader(name: "Content-Disposition", value: cd.ToString());
                return(new FileStreamResult(str, mime));
            }
        }
Пример #2
0
        public async Task <IHttpActionResult> Empresas(SolicitudModel model)
        {
            if (!ComprobarClaves(model))
            {
                return(Unauthorized());
            }


            var ap = Aplicacion(model.Subdominio);

            if (ap.Caracteristicas.All(c => c.Nombre != "Empresas"))
            {
                return(Unauthorized());
            }

            IParametrosServicio pSrv = Servicios.ParametrosServicio();
            Parametro           pSubdominioBannersAleatorios = pSrv.GetByName("EmpresaBannerAleatorio");
            string subdominioBannersAleatorios = pSubdominioBannersAleatorios?.Valor;

            IEmpresasServicio   srv      = Servicios.EmpresasServicio();
            List <EmpresaModel> empresas = (await srv.GetAsync(e => e.Activo))
                                           .Select(EmpresaModel.FromEntity)
                                           .ToList();

            // Si el subdominio coincide con el parámetro de banners aleatorios, desordenar la
            // lista de empresas para que los banner se muestren en un orden aleatorio.
            if (model.Subdominio == subdominioBannersAleatorios)
            {
                Random rnd = new Random();
                empresas = empresas.OrderBy(i => rnd.Next()).ToList();
            }

            log.Debug("Sirviendo empresas en el siguiente orden: " + string.Join(", ", empresas.Select(e => e.EmpresaID)));
            return(Ok(empresas.AsQueryable()));
        }
Пример #3
0
        public ActionResult LogotipoEmpresa(long id)
        {
            IEmpresasServicio srv     = Servicios.EmpresasServicio();
            Empresa           empresa = srv.GetSingle(e => e.EmpresaID == id);

            if (empresa != null)
            {
                if (empresa.Logotipo == null)
                {
                    return(File("~/Content/Images/Blanco.png", contentType: "image/png"));
                }
                else
                {
                    var cd = new ContentDisposition
                    {
                        FileName = empresa.Logotipo.Nombre,
                        Inline   = false,
                    };
                    Response.AppendHeader(name: "Content-Disposition", value: cd.ToString());
                    FileStream str = FileManager.ObtenerDocumento(empresa.Logotipo);
                    return(new FileStreamResult(str, empresa.Logotipo.Mime));
                }
            }
            else
            {
                return(HttpNotFound());
            }
        }