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)); } }
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())); }
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()); } }