//muestra datos en el index solo lo que me instereza mostrar
        public List<Contenido> Contenido_BuscarIndex(string IdLista)
        {
            List<Contenido> lista = new List<Contenido>();

            DataTable dtResultado = ad.Contenido_BuscarIndex(IdLista);

            for (int i = 0; i <= dtResultado.Rows.Count - 1; i++)
            {
                Contenido contenido     = new Contenido();

                contenido.Menu          = dtResultado.Rows[i]["CodMenu"].ToString();
                contenido.Titulo        = dtResultado.Rows[i]["Titulo"].ToString();
                contenido.SubTitulo     = dtResultado.Rows[i]["SubTitulo"].ToString();
                contenido.Descripcion   = dtResultado.Rows[i]["Descripcion"].ToString();

                //contenido.Imagen = Encoding.UTF8.GetBytes (dtResultado.Rows[i]["Imagen"].ToString());
                //contenido.Imagen        = dtResultado.Rows[i]["Imagen"];
                contenido.Imagen = dtResultado.Rows[i]["Imagen"] == DBNull.Value ? null : (byte[])dtResultado.Rows[i]["Imagen"];

                contenido.IdContenido   = Convert.ToInt32 (dtResultado.Rows[i]["IdContenido"]);

                contenido.EnPantallaPrincipal = Convert.ToBoolean(dtResultado.Rows[i]["EnPantallaPrincipal"]);

                lista.Add(contenido);

            }

            return lista;
        }
 public bool Contenido_Actualizar(Contenido contenido)
 {
     if (ad.Contenido_Actualizar(contenido) == true)
     {
         return true;
     }
     else
     {
         return false;
     }
 }
        //Actualiza Los datos Buscados
        public bool Contenido_Actualizar(Contenido contenido)
        {
            ADConexion cnn = new ADConexion();
            SqlCommand cmd = new SqlCommand();

            try
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "Contenido_Actualizar";
                cmd.Connection = cnn.cn;

                cmd.Parameters.Add(new SqlParameter("@Titulo", SqlDbType.VarChar, 500)).Value = contenido.Titulo;
                cmd.Parameters.Add(new SqlParameter("@SubTitulo", SqlDbType.VarChar, 500)).Value = (contenido.SubTitulo == null ? "" : contenido.SubTitulo);

                //cmd.Parameters.Add(new SqlParameter("@Descripcion", SqlDbType.VarChar, -1)).Value = contenido.Descripcion;
                cmd.Parameters.Add(new SqlParameter("@Descripcion", SqlDbType.VarChar, -1)).Value = (contenido.Descripcion == null ? "" : contenido.Descripcion);
                cmd.Parameters.Add(new SqlParameter("@Imagen", SqlDbType.Image)).Value = (contenido.Imagen == null ? new byte[] { } : contenido.Imagen);

                cmd.Parameters.Add(new SqlParameter("@CodMenu", SqlDbType.VarChar, 50)).Value = contenido.Menu;
                cmd.Parameters.Add(new SqlParameter("@CodPestana", SqlDbType.VarChar, 50)).Value = (contenido.Pestana == null ? "" : contenido.Pestana);
                cmd.Parameters.Add(new SqlParameter("@EnPantallaPrincipal", SqlDbType.Bit)).Value = contenido.EnPantallaPrincipal;
                cmd.Parameters.Add(new SqlParameter("@Activo", SqlDbType.Bit)).Value = contenido.Activo;
                cmd.Parameters.Add(new SqlParameter("@ArchivoNombreOriginal", SqlDbType.VarChar, 100)).Value = (contenido.ArchivoNombreOriginal == null ? "" : contenido.ArchivoNombreOriginal);
                cmd.Parameters.Add(new SqlParameter("@ArchivoMimeType", SqlDbType.VarChar, 100)).Value = (contenido.ArchivoMimeType == null ? "" : contenido.ArchivoMimeType);
                cmd.Parameters.Add(new SqlParameter("@ModificadoPor", SqlDbType.VarChar, 50)).Value = contenido.ModificadoPor;

                cmd.Parameters.Add(new SqlParameter("@IdContenido", SqlDbType.VarChar, 50)).Value = contenido.IdContenido;
                cmd.Parameters.Add(new SqlParameter("@ImagenCambiada", SqlDbType.VarChar, 2)).Value = (contenido.Imagen==null ? "NO":"SI");

                cnn.Conectar();
                cmd.ExecuteNonQuery();
                cmd.Parameters.Clear();
                cnn.Desconectar();
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }
        public ActionResult verimagen()
        {
            List<Contenido> lista = new List<Contenido>();

            DataTable dtResulatdo = ln.Contenido_Mostrar_imagen();

            for (int i = 0; i <= dtResulatdo.Rows.Count - 1; i++)
            {
                Contenido contenido = new Contenido();
                contenido.IdContenido = Convert.ToInt32(dtResulatdo.Rows[i]["IdContenido"]);
                contenido.Titulo = dtResulatdo.Rows[i]["Titulo"].ToString();

                contenido.Imagen = (byte[])dtResulatdo.Rows[i]["Imagen"];

                lista.Add(contenido);
            }

            List<ContenidoVista> contentModel = lista.Select(item => new ContenidoVista()
            {
                IdContenido = item.IdContenido,
                Titulo = item.Titulo,
                Imagen = item.Imagen,

            }).ToList();
            return View(contentModel);

            //return View();
        }
        public ActionResult ResultadoBusquedaContenidoUTP(int Menu = 0)
        {
            List<Contenido> lista = new List<Contenido>();
            DataTable dtResultado = ln.Contenido_ObtenerPorCodMenu(Menu);

            for (int i = 0; i <= dtResultado.Rows.Count - 1; i++)
            {
                Contenido contenido = new Contenido();
                contenido.IdContenido = Convert.ToInt32(dtResultado.Rows[i]["IdContenido"]);
                contenido.Menu = dtResultado.Rows[i]["CodMenu"].ToString();
                contenido.Titulo = dtResultado.Rows[i]["Titulo"].ToString();
                contenido.SubTitulo = dtResultado.Rows[i]["SubTitulo"].ToString();
                contenido.Descripcion = dtResultado.Rows[i]["Descripcion"].ToString();
                //contenido.Imagen = (byte[])dtResultado.Rows[i]["Imagen"];
                contenido.Imagen = dtResultado.Rows[0]["Imagen"] == DBNull.Value ? null : (byte[])dtResultado.Rows[0]["Imagen"];
                contenido.TituloMenu = dtResultado.Rows[i]["Menu"].ToString();
                lista.Add(contenido);
            }

            return PartialView("_ListaUTPContenido", lista);
        }
        public ActionResult Portal_insertar([Bind(Include = "")] ContenidoVista contenidoHTML)
        {
            Contenido contenido = new Contenido();

            if (contenidoHTML.ImagenHtml != null)
            {

                byte[] uploadedFile = new byte[contenidoHTML.ImagenHtml.InputStream.Length];
                contenidoHTML.ImagenHtml.InputStream.Read(uploadedFile, 0, Convert.ToInt32(contenidoHTML.ImagenHtml.InputStream.Length));
                contenidoHTML.ArchivoNombreOriginal = contenidoHTML.ImagenHtml.FileName;
                contenidoHTML.ArchivoMimeType = contenidoHTML.ImagenHtml.ContentType;
                contenidoHTML.Imagen = uploadedFile;

            }

            contenido.Titulo = contenidoHTML.Titulo;
            contenido.SubTitulo = contenidoHTML.SubTitulo;
            contenido.Descripcion = contenidoHTML.Descripcion;
            contenido.Imagen = contenidoHTML.Imagen;

            contenido.ArchivoMimeType = contenidoHTML.ArchivoMimeType;
            contenido.ArchivoNombreOriginal = contenidoHTML.ArchivoNombreOriginal;
            contenido.EnPantallaPrincipal = contenidoHTML.EnPantallaPrincipal;
            contenido.Activo = contenidoHTML.Activo;
            contenido.Menu = contenidoHTML.Menu;
            contenido.Pestana = contenidoHTML.Pestana;

            TicketUTP ticketUtp = (TicketUTP)Session["TicketUtp"];

            contenido.CreadoPor = ticketUtp.Usuario;

            //contenido.CreadoPor = contenidoHTML.CreadoPor;

            if (ln.Contenido_insertar(contenido) == true)
            {
                ViewBag.Message = "Registro Insertado Correctamente";
                return RedirectToAction("Portal");
            }
            else
            {
                LNGeneral lngeneral = new LNGeneral();
                DataTable dtresultado = ln.ContenidoMenu_Mostrar();

                List<SelectListItem> li = new List<SelectListItem>();

                for (int i = 0; i <= dtresultado.Rows.Count - 1; i++)
                {
                    string nombre = dtresultado.Rows[i]["Titulo"].ToString();
                    string valor = dtresultado.Rows[i]["IdMenu"].ToString();

                    SelectListItem item = new SelectListItem() { Text = nombre, Value = valor };

                    li.Add(item);

                }
                ViewData["ContenidoMenu"] = li;

                DataTable dtPresentacion = lngeneral.Modo_Presentacion(Constantes.IDLISTA_MODO_PRESENTACION);
                List<SelectListItem> lis = new List<SelectListItem>();
                for (int i = 0; i <= dtPresentacion.Rows.Count - 1; i++)
                {
                    string nombre = dtPresentacion.Rows[i]["Valor"].ToString();
                    string valor = dtPresentacion.Rows[i]["IdListaValor"].ToString();
                    SelectListItem item = new SelectListItem() { Text = nombre, Value = valor };

                    lis.Add(item);
                }
                ViewData["ContenidoPestana"] = lis;

                ViewBag.Message = "Error al Guardar la informacion";
                return View(contenidoHTML);

                //ViewBag.Message = "Error al Guardar la informacion";
                //return View(contenido);
            }
        }
        public FileResult Imagen2(int id, string Menu)
        {
            const string alternativePicturePath = @"/Content/Images/question_mark.jpg";

            List<Contenido> lista = new List<Contenido>();

            int codMenu = Convert.ToInt32(Menu);

            if (Menu == null)
            {

                DataTable dtResultado = ln.Contenido_ObtenerPorCodMenu(0);

                for (int i = 0; i <= dtResultado.Rows.Count - 1; i++)
                {
                    Contenido contenido = new Contenido();
                    contenido.IdContenido = Convert.ToInt32(dtResultado.Rows[i]["IdContenido"]);
                    contenido.Menu = dtResultado.Rows[i]["CodMenu"].ToString();
                    contenido.Titulo = dtResultado.Rows[i]["Titulo"].ToString();
                    contenido.SubTitulo = dtResultado.Rows[i]["SubTitulo"].ToString();
                    contenido.Descripcion = dtResultado.Rows[i]["Descripcion"].ToString();

                    contenido.Imagen = (byte[])dtResultado.Rows[i]["Imagen"];

                    contenido.TituloMenu = dtResultado.Rows[i]["Menu"].ToString();

                    lista.Add(contenido);
                }

            }
            else
            {

                DataTable dtResultado = ln.Contenido_ObtenerPorCodMenu(codMenu);

                for (int i = 0; i <= dtResultado.Rows.Count - 1; i++)
                {
                    Contenido contenido = new Contenido();
                    contenido.IdContenido = Convert.ToInt32(dtResultado.Rows[i]["IdContenido"]);
                    contenido.Menu = dtResultado.Rows[i]["CodMenu"].ToString();
                    contenido.Titulo = dtResultado.Rows[i]["Titulo"].ToString();
                    contenido.SubTitulo = dtResultado.Rows[i]["SubTitulo"].ToString();
                    contenido.Descripcion = dtResultado.Rows[i]["Descripcion"].ToString();

                    contenido.Imagen = (byte[])dtResultado.Rows[i]["Imagen"];

                    contenido.TituloMenu = dtResultado.Rows[i]["Menu"].ToString();

                    lista.Add(contenido);
                }
            }

            Contenido producto = lista.Where(k => k.IdContenido == id).FirstOrDefault();

            MemoryStream stream;

            if (producto != null && producto.Imagen != null)
            {
                stream = new MemoryStream(producto.Imagen);
            }
            else
            {
                stream = new MemoryStream();

                var path = Server.MapPath(alternativePicturePath);
                var image = new System.Drawing.Bitmap(path);

                image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
                stream.Seek(0, SeekOrigin.Begin);
            }

            return new FileStreamResult(stream, "image/jpeg");
        }
        public FileResult Imagen(int id)
        {
            List<Contenido> lista = new List<Contenido>();

            DataTable dtResultado = ln.Contenido_Mostrar_imagen();

            for (int i = 0; i <= dtResultado.Rows.Count - 1; i++)
            {
                Contenido contenido = new Contenido();
                contenido.IdContenido = Convert.ToInt32(dtResultado.Rows[i]["IdContenido"]);
                contenido.Titulo = dtResultado.Rows[i]["Titulo"].ToString();

                //06ENE Aldo Chocos: Validación de imagen null.
                if (dtResultado.Rows[i]["Imagen"] != null && dtResultado.Rows[i]["Imagen"] != DBNull.Value)
                    contenido.Imagen = (byte[])dtResultado.Rows[i]["Imagen"];

                //contenido.Imagen = Encoding.UTF8.GetBytes(dtResulatdo.Rows[i]["Imagen"].ToString());

                lista.Add(contenido);
            }

            Contenido producto = lista.Where(k => k.IdContenido == id).FirstOrDefault();

            MemoryStream stream;
            if (producto.Titulo == "ABC")
            {
                int a = 0;
            }

            if (producto != null && producto.Imagen != null && producto.Imagen.Length > 1)
            {
                stream = new MemoryStream(producto.Imagen);
            }
            else
            {
                stream = new MemoryStream();

                //var path = Server.MapPath(alternativePicturePath);
                var path = System.Web.HttpContext.Current.Server.MapPath(@"~/img/sinimagen.jpg");
                var image = new System.Drawing.Bitmap(path);

                image.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
                stream.Seek(0, SeekOrigin.Begin);
            }

            return new FileStreamResult(stream, "image/jpeg");
        }
        public List<Contenido> Contenido_BuscarNoticiasEventosOtros(string IdLista)
        {
            List<Contenido> lista = new List<Contenido>();

            DataTable dtResultado = ad.Contenido_BuscarNoticiasEventosOtros(IdLista);

            for (int i = 0; i <= dtResultado.Rows.Count - 1; i++)
            {
                Contenido contenido = new Contenido();

                contenido.Menu = dtResultado.Rows[i]["CodMenu"].ToString();
                contenido.Titulo = dtResultado.Rows[i]["Titulo"].ToString();
                contenido.SubTitulo = dtResultado.Rows[i]["SubTitulo"].ToString();
                contenido.Descripcion = dtResultado.Rows[i]["Descripcion"].ToString();
                //contenido.Imagen = (byte[])dtResultado.Rows[i]["Imagen"];

                contenido.Imagen = dtResultado.Rows[i]["Imagen"] == DBNull.Value ? null : (byte[])dtResultado.Rows[i]["Imagen"];

                //if (dtResultado.Rows[i]["Imagen"] == DBNull.Value)
                //    contenido.Imagen = null;
                //else
                //    contenido.Imagen = (byte[])dtResultado.Rows[i]["Imagen"];

                //contenido.Imagen = Encoding.UTF8.GetBytes(dtResultado.Rows[i]["Imagen"].ToString());

                contenido.IdContenido = Convert.ToInt32(dtResultado.Rows[i]["IdContenido"]);
                contenido.Pestana = dtResultado.Rows[i]["CodPestana"].ToString();

                lista.Add(contenido);

            }

            return lista;
        }
 public bool Contenido_insertar(Contenido  contenido)
 {
     if (ad.Contenido_Insertar  (contenido) == true)
     {
         return true;
     }
     else
     {
         return false;
     }
 }