/// <summary> /// Setea la lista de imagenes de una noticia /// </summary> /// <returns></returns> public static List<Imagen> getImagenes(Noticia noticia, OdbcConnection con) { List<Imagen> listaImagenes = new List<Imagen>(); OdbcDataReader dr = null; String query = "SELECT i.id, i.pathBig, i.pathSmall, i.portada, i.pathMedium FROM imagen i, imagen_x_noticia n WHERE i.id=n.idImagen AND n.idNoticia=" + noticia.IdNoticia; try { OdbcCommand cmd = new OdbcCommand(query, con); cmd.CommandType = CommandType.Text; dr = cmd.ExecuteReader(); while (dr.Read()) { Imagen imagen = new Imagen(); imagen.IdImagen = dr.GetInt32(0); imagen.PathBig = dr.GetString(1); imagen.PathSmall = dr.GetString(2); imagen.Portada = dr.GetBoolean(3); imagen.PathMedium = dr.GetString(4); listaImagenes.Add(imagen); } } catch (Exception e) { throw new SportingException("Ocurrio un problema al intentar obtener las imagenes de las noticias. " + e.Message); } return listaImagenes; }
public bool PostarNoticia(int id_usuario, string titulo, string noticia,out string mensagemErro ) { mensagemErro = ""; try { if (string.IsNullOrEmpty(titulo)) throw new Exception("Titulo não pode ser vazio"); if (string.IsNullOrEmpty(noticia)) throw new Exception("Noticia não pode estar vazia"); //montando o objto noticia Noticia nova = new Noticia(); nova.titulo = titulo; nova.noticia = noticia; nova.data = DateTime.Now; nova.id_usuario = id_usuario; NoticiaDao dao = new NoticiaDao(); if(dao.CadastrarNoticia(nova)) throw new Exception("Noticia não pode ser cadastrada!<br/> Tente Novamente!"); }catch(Exception Ex){ mensagemErro = Ex.Message; return false; } return true; }
public bool CadastrarNoticia(Noticia noticia) { AdoUtils ado = new AdoUtils(); string query = "INSERT INTO tb_noticias (titulo, noticia, data, id_usuario) " + "VALUES (@titulo, @noticia, @data, @id_usuario);"; List<KeyValuePair<string, object>> parametros = new List<KeyValuePair<string, object>>(); parametros.Add(new KeyValuePair<string, object>("@titulo", noticia.titulo)); parametros.Add(new KeyValuePair<string, object>("@noticia", noticia.noticia)); parametros.Add(new KeyValuePair<string, object>("@data", noticia.data)); parametros.Add(new KeyValuePair<string, object>("@id_usuario", noticia.id_usuario)); return ado.ExecuteCommand(query, parametros.ToArray()); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } Noticia = await _context.Noticia.FindAsync(id); if (Noticia != null) { _context.Noticia.Remove(Noticia); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public bool EditarNoticia(Noticia _noticia) { try { var noticiaBD = _noticiaDBContext.Noticia.Where(busqueda => busqueda.NoticiaID == _noticia.NoticiaID).FirstOrDefault(); noticiaBD.Titulo = _noticia.Titulo; noticiaBD.Descripcion = _noticia.Descripcion; noticiaBD.Contenido = _noticia.Contenido; noticiaBD.AutorID = _noticia.AutorID; _noticiaDBContext.SaveChanges(); return(true); } catch (Exception ex) { return(false); } }
private void btnCadastrarNoticia_Click(object sender, EventArgs e) { var noticia = new Noticia { Titulo = textBoxTitulo.Text, Conteudo = textBoxConteudo.Text }; if (_noticiaService.AdicionarNoticia(noticia) == true) { MessageBox.Show("Notícia Cadastrada com Sucesso!"); } else { MessageBox.Show("Notícia Inválida!"); } }
public ActionResult Edit([Bind(Include = "id,titulo,descripcion,lugar,fecha,fotoDefault,estatus,usuarioRegistro,usuarioUpdate,fechaRegistro,fechaUpdate")] Noticia noticia, HttpPostedFileBase file) { if (ModelState.IsValid) { if (file != null) { string NombreArchivo = System.IO.Path.GetFileName(file.FileName); string physicalPath = Server.MapPath("~/Content/images/banners/" + NombreArchivo); file.SaveAs(physicalPath); noticia.fotoDefault = NombreArchivo; } db.Entry(noticia).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(noticia)); }
public async Task Update(Noticia model) { try { var _model = await _db.DbSetNoticias.FirstOrDefaultAsync(e => e.NoticiaId == model.NoticiaId); if (_model != null) { _db.Entry(_model).CurrentValues.SetValues(model); await _db.SaveChangesAsync(); } } catch (Exception e) { throw new Exception(e.Message, e); } }
private CategoriasDestaquesModel GetCategoriaDestaquesModel(int homeId, ref List <int> notInList) { const int take = 2; var model = new CategoriasDestaquesModel { HighlightsEducacao = Noticia.GetBySection(take, Section.Educacao, homeId, ref notInList, true).ToList(), HighlightsBrasil = Noticia.GetBySection(take, Section.Brasil, homeId, ref notInList, true).ToList(), HighlightsMundo = Noticia.GetBySection(take, Section.Mundo, homeId, ref notInList, true).ToList(), HighlightsPolitica = Noticia.GetBySection(take, Section.Politica, homeId, ref notInList, true).ToList(), HighlightsEconomia = Noticia.GetBySection(take, Section.Economia, homeId, ref notInList, true).ToList(), //HighlightsConcursosEmpregos = Noticia.GetBySection(take, Section.ConcursosEmpregos, homeId, ref notInList, true).ToList() HighlightsMaisNoticias = Noticia.GetBySection(take, Section.MaisNoticias, homeId, ref notInList, true).ToList() }; return(model); }
public ActionResult Edit(Noticia model) { try { var noticia = db.Noticias.Find(model.Id); UpdateModel(noticia); db.SaveChanges(); return(RedirectToAction("Details", new { id = model.Id })); } catch (Exception) { ModelState.AddModelError("", "Falló"); } return(View(model)); }
public Boolean EditarNoticia(Noticia _noticia) { try { var noticiaBd = _noticiaDbCOntext.Noticia.Where(b => b.NoticiaID == _noticia.NoticiaID).FirstOrDefault(); noticiaBd.Titulo = _noticia.Titulo; noticiaBd.Descripcion = _noticia.Descripcion; _noticiaDbCOntext.SaveChanges(); return(true); } catch (Exception e) { return(false); } }
public IActionResult Cadastrar(IFormCollection _formulario) { // Criando uma nova noticia via formulário Noticia _novaNoticia = new Noticia(); // Passando os dados do formulário para a nova notícia _novaNoticia.IdNoticia = Int32.Parse(_formulario["IdNoticia"]); _novaNoticia.Titulo = _formulario["Titulo"]; _novaNoticia.TextoNoticia = _formulario["TextoNoticia"]; // Tratamento de foto var _filePicture = _formulario.Files[0]; //pegando as imagens passadas no formulário var _folderPicture = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/Noticia"); //Pegando o diretório atual da aplicação e combinar com a foto informada if (_filePicture != null) { // Verificando se o diretório existe if (!Directory.Exists(_folderPicture)) { Directory.CreateDirectory(_folderPicture); } // Combinando o diretório com a foto inserida var _pathPicture = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/", _folderPicture, _filePicture.FileName); // Copiando o arquivo presente no computador para o nosso diretório da aplicação using (var _stream = new FileStream(_pathPicture, FileMode.Create)) { _filePicture.CopyTo(_stream); } _novaNoticia.Imagem = _filePicture.FileName; } else { _novaNoticia.Imagem = "padrao.png"; } // Passando a notícia cadastrada pelo formulário para o arquivo .csv _noticiaModel.Create(_novaNoticia); ViewBag.Noticia = _noticiaModel.ReadAll(); // Criando uma rota de acesso para as notícias return(LocalRedirect("~/Noticia")); }
private void LoadNoticias() { Database = Database.ReadJson(); List <Noticia> noticias = Database.noticias.Where(not => not.Cod_noticia.Contains(txtCod.Text) || not.Descrição.Contains(txtCod.Text) || not.Manchete.Contains(txtCod.Text)).ToList(); using (SearchForm s = new SearchForm()) { s.CreateTable(noticias, typeof(Noticia)); s.ShowDialog(); cod = s.ID; } if (cod != "") { selectedNoticia = Globals.GetNoticia(cod); } }
public static NoticiaModel ConvertNoticiaToNoticiaModel(Noticia noticia) { int numComentarios = db.Comentario.Where(g => g.IdNoticia == noticia.ID).Count(); NoticiaModel notMod = new NoticiaModel() { Autor = noticia.Usuario.Nombre, Contenido = noticia.Contenido, Fecha = noticia.Fecha, IdAutor = noticia.IdUsuario, IdNoticia = noticia.ID, Titulo = noticia.Titulo, Comentarios = numComentarios }; return notMod; }
//Realizar os tratamentos necessários //Salvar um novo registro protected virtual bool salvar(Noticia ONoticia) { bool flagSucesso = false; if (ONoticia.id == 0) { flagSucesso = this.inserir(ONoticia); } flagSucesso = this.atualizar(ONoticia); //if (OArquivo != null && ONoticia.id > 0) { // this.OArquivoUploadBL.salvarFoto(ONoticia.id, DAL.Entities.EntityTypes.NOTICIA, OArquivo, listaThumb); //} return(flagSucesso); }
public IActionResult Post([FromBody] Noticia request) { try { noticias.Add(new Noticia { Id = noticias.OrderByDescending(x => x.Id).FirstOrDefault().Id + 1, Titulo = request.Titulo }); return(Ok("Notícia criada com sucesso!")); } catch (System.Exception ex) { return(StatusCode(500, ex.Message)); } }
/// <summary> /// Cadastra no bd a partir de um form no front. /// </summary> /// <param name="form">Form do front.</param> /// <returns>Retorna para a mesma página após concluir a ação.</returns> public IActionResult Cadastrar(IFormCollection form) { Noticia noticia = new Noticia(); noticia.IdNoticia = Convert.ToInt32(form["IdNoticia"]); noticia.Titulo = form["Titulo"]; noticia.Texto = form["Texto"]; //Aqui começa upload de imagens noticia.Imagem = form["Imagem"]; var file = form.Files[0]; //Esta variável guarda o nome do arquivo da imagem. var folder = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/Noticias"); //Esta variável combina o caminho do diretório atual com o "wwwroot/img/Noticias", onde ficará a imagem. //Se o usuário enviou alguma imagem.. if (file != null) { //Vai verificar se existe a pasta, se não existir, cria. if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } //Esta variável vai criar e guardar o caminho completo. Note que o Path.Combine ele faz mais do que unir duas variáveis. Por exemplo, se um parâmetro for temp e outro for temp.txt, o path combine será temp.txt. var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/", folder, file.FileName); //Usando FileStream, passa-se o caminho onde ficará a imagem e cria o arquivo. using (var stream = new FileStream(path, FileMode.Create)) { //Copia o arquivo guardado em "file" para o "stream". file.CopyTo(stream); } //Guarda-se o caminho da imagem no banco de dados. noticia.Imagem = file.FileName; } else //<- Se o usuário não mandar um arquivo, salva-se o seguindo no bd: { noticia.Imagem = "padrao.png"; } //Fim noticiaModel.Create(noticia); //Insere o objeto criado no bd. ViewBag.Noticias = noticiaModel.ReadAll(); //Lê tudo do csv e guarda em uma lista. A ViewBag recebe esta lista. A viewbag é criada aqui. return(LocalRedirect("~/Noticia")); //Está pagina, Noticia, é criada na view, pela sintaxe Razor. }
public async Task <IActionResult> Edit2(string id, Noticia noticia) { Response response = new Response(); try { if (!string.IsNullOrEmpty(id)) { response = await apiServicio.EditarAsync(id, noticia, new Uri(WebApp.BaseAddress), "api/Noticias"); if (response.IsSuccess) { await GuardarLogService.SaveLogEntry(new LogEntryTranfer { ApplicationName = Convert.ToString(Aplicacion.WebAppTh), EntityID = string.Format("{0} : {1}", "noticia", id), LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit), LogLevelShortName = Convert.ToString(LogLevelParameter.ADV), Message = "Se ha actualizado una noticia", UserName = "******" }); return(RedirectToAction("Index")); } ViewData["Error"] = response.Message; return(View(noticia)); } return(BadRequest()); } catch (Exception ex) { await GuardarLogService.SaveLogEntry(new LogEntryTranfer { ApplicationName = Convert.ToString(Aplicacion.WebAppTh), Message = "Editando una noticia", ExceptionTrace = ex.Message, LogCategoryParametre = Convert.ToString(LogCategoryParameter.Edit), LogLevelShortName = Convert.ToString(LogLevelParameter.ERR), UserName = "******" }); return(BadRequest()); } }
public async Task <IActionResult> Edit(int id, [Bind("id,titulo,descripcion,contenido,imagen,visible,fecha_alta,archivoImagen,video,contenido2,visibleV,visibleC2")] Noticia noticia) { if (id != noticia.id) { return(NotFound()); } if (ModelState.IsValid) { try { string wwwRootPath = _hostEnvironment.WebRootPath; string path = null; if (noticia.archivoImagen != null) { string fileName = Path.GetFileNameWithoutExtension(noticia.archivoImagen.FileName); string extension = Path.GetExtension(noticia.archivoImagen.FileName); noticia.imagen = fileName = fileName + DateTime.Now.ToString("yymmssfff") + extension; path = Path.Combine(wwwRootPath + "/image/", fileName); using (var fileStream = new FileStream(path, FileMode.Create)) { await noticia.archivoImagen.CopyToAsync(fileStream); } } _context.Update(noticia); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!NoticiaExists(noticia.id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(noticia)); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.activity_main); PrepareActionBar(); var id = Intent.Extras.GetInt(Key_Id); if (savedInstanceState == null) { var noticiaServicio = new NoticiaServicio(); _noticia = noticiaServicio.GetNoticiaById(id); } else { _noticia = new Noticia(); _noticia.Id = savedInstanceState.GetInt(Key_Id); _noticia.Cuerpo = savedInstanceState.GetString(KEY_BODY); _noticia.NombreImagen = savedInstanceState.GetString(KEY_IMAGE_NAME); _noticia.Titulo = savedInstanceState.GetString(KEY_TITLE); } var noticiaTitulo = FindViewById <TextView>(Resource.Id.tituloNoticia); var noticiaCuerpo = FindViewById <TextView>(Resource.Id.textView2); var noticiaImagen = FindViewById <ImageView>(Resource.Id.imagenNoticia); var display = WindowManager.DefaultDisplay; Android.Graphics.Point point = new Android.Graphics.Point(); display.GetSize(point); var imageUrl = string.Concat(ValuesService.ImageBaseUrl, _noticia.NombreImagen); Picasso.With(ApplicationContext) .Load(imageUrl) .Resize(point.X, 0) .Into(noticiaImagen); noticiaTitulo.Text = _noticia.Titulo; noticiaCuerpo.Text = _noticia.Cuerpo; }
public bool Editar(Noticia updateNoticia) { try { var noticia = noticiasDB.Noticia.FirstOrDefault(x => x.NoticiaID == updateNoticia.NoticiaID); noticia.Titulo = updateNoticia.Titulo; noticia.Descripcion = updateNoticia.Descripcion; noticia.Contenido = updateNoticia.Contenido; noticia.Fecha = updateNoticia.Fecha; noticia.AutorID = updateNoticia.AutorID; noticiasDB.SaveChanges(); return(true); } catch (System.Exception) { return(false); } }
public void Salvar(Noticia variavel) { try { DBSession session = new DBSession(); Query query = session.CreateQuery("UPDATE noticia SET ordem = (ordem + 1) WHERE dominio = @dominio; INSERT INTO noticia (data, dominio, titulo, ordem) VALUES (@data, @dominio, @titulo, @ordem) "); query.SetParameter("data", variavel.data) .SetParameter("titulo", variavel.titulo) .SetParameter("dominio", variavel.dominio) .SetParameter("ordem", variavel.ordem); query.ExecuteUpdate(); session.Close(); } catch (Exception erro) { throw erro; } }
public Boolean EditarNoticia(Noticia _noticia) { try { var noticiaBaseDatos = _noticiasDBContext.Noticia.Where(busqueda => busqueda.NoticiaID == _noticia.NoticiaID).FirstOrDefault(); noticiaBaseDatos.Titulo = _noticia.Titulo; noticiaBaseDatos.Descripcion = _noticia.Descripcion; noticiaBaseDatos.Contenido = _noticia.Contenido; noticiaBaseDatos.Fecha = _noticia.Fecha; noticiaBaseDatos.AutorID = _noticia.AutorID; _noticiasDBContext.SaveChanges(); return(true); } catch (Exception error) { return(false); } }
protected void Filtrar(object sender, EventArgs e) { var oNoticia = new Noticia() { Autor = txt_autor.Text, IdCategoria = string.IsNullOrEmpty(ddl_categorias.SelectedValue) ? -1 : int.Parse(ddl_categorias.SelectedValue), }; DataSet ds; using (NoticiaBusiness n = new NoticiaBusiness()) { ds = n.Filtrar(oNoticia); } gvNoticias.DataSource = ds; gvNoticias.DataBind(); }
protected void btnEnviar_Click(object sender, EventArgs e) { NoticiaModel noticiaModel = new NoticiaModel(); Noticia noticia = createNoticia(); //comprueba si la url contiene un parámetro id if (!String.IsNullOrWhiteSpace(Request.QueryString["id"])) { //si Id existe se actualiza la fila existente int id = Convert.ToInt32(Request.QueryString["id"]); lblResultado.Text = noticiaModel.ActualizarNoticia(id, noticia); } else { //si Id no existe se crea una nueva fila lblResultado.Text = noticiaModel.InsertarNoticia(noticia); } }
private void exibirDetalhesNoticia() { if (ListViewNoticia.SelectedItems.Count > 0) { Noticia noticia = new Noticia(); noticia.id = ListViewNoticia.SelectedItems[0].SubItems[0].Text; String rota = "http://localhost:3000/buscar-noticia"; String json = JsonConvert.SerializeObject(noticia); Object objectResponse = ConnectionAPI.post(rota, json, administrador.Token); RespUsuario respUsuario = JsonConvert.DeserializeObject <RespUsuario>(objectResponse.ToString()); this.Dispose(); VisualizarNoticia dNoticia = new VisualizarNoticia(administrador, respUsuario.noticia); dNoticia.ShowDialog(); } }
public string EliminarNoticia(int id) { try { AjedrezDBEntities db = new AjedrezDBEntities(); Noticia noticia = db.Noticias.Find(id); db.Noticias.Attach(noticia); db.Noticias.Remove(noticia); db.SaveChanges(); return(noticia.Titulo + " fue eliminado exitosamente"); } catch (Exception e) { return("Error:" + e); } }
public bool Editar(Noticia NoticiaEditar) { try { var noticia = _NoticiaDB.Noticia.FirstOrDefault(x => x.NoticiaID == NoticiaEditar.NoticiaID); noticia.Titulo = NoticiaEditar.Titulo; noticia.Descripcion = NoticiaEditar.Descripcion; noticia.Contenido = NoticiaEditar.Contenido; noticia.Fecha = NoticiaEditar.Fecha; noticia.AutorID = NoticiaEditar.AutorID; _NoticiaDB.SaveChanges(); return(true); } catch (Exception error) { return(false); } }
private List <Noticia> TransformaReaderEmListaDeObjetoNoticia(SqlDataReader reader) { List <Noticia> noticias = new List <Noticia>(); while (reader.Read()) { Time time = new Time(); Noticia noticia = new Noticia(); noticia.Titulo = reader["titulo"].ToString(); noticia.Corpo = reader["noticia"].ToString(); noticia.DataNoticia = DateTime.Parse(reader["data_noticia"].ToString()).ToString("dd/MM/yyyy HH:mm:ss"); time.EscudoPequeno = reader["escudo"].ToString(); time.Nome = reader["Numero_Gols"].ToString(); noticias.Add(noticia); } reader.Close(); return(noticias); }
public bool Editar(Noticia NoticiasEditar) { try { var Noticias = _ctx.Noticias.FirstOrDefault(x => x.NoticiaID == NoticiasEditar.NoticiaID); Noticias.Titulo = NoticiasEditar.Titulo; Noticias.Descripcion = NoticiasEditar.Descripcion; Noticias.Contenido = NoticiasEditar.Contenido; Noticias.Fecha = NoticiasEditar.Fecha; Noticias.AutorID = NoticiasEditar.AutorID; _ctx.SaveChanges(); return(true); } catch (Exception error) { return(false); } }
async void OnItemSelected(object sender, ItemTappedEventArgs e) { barr.IsVisible = true; var current = Xamarin.Essentials.Connectivity.NetworkAccess; if (current != Xamarin.Essentials.NetworkAccess.Internet) { await DisplayAlert("Aviso", "No tienes acceso a internet", "Entiendo"); barr.IsVisible = false; return; } Noticia noti = e.Item as Noticia; await Navigation.PushModalAsync(new WebViewPage(noti)); listaNoticias.SelectedItem = null; barr.IsVisible = false; }
public Boolean Editar(Noticia _noticia) { try { var noticiaBaseDatos = _noticiaDbContext.Noticia.Where(noticia => noticia.NoticiaID == _noticia.NoticiaID).FirstOrDefault(); noticiaBaseDatos.Titulo = _noticia.Titulo; noticiaBaseDatos.Contenido = _noticia.Contenido; noticiaBaseDatos.Fecha = _noticia.Fecha; noticiaBaseDatos.AutorID = _noticia.AutorID; _noticiaDbContext.SaveChanges(); return(true); } catch (Exception e) { return(false); } }
public void Excluir(Noticia obj) { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Db"].ConnectionString)) { string strSQL = @"DELETE FROM COMENTARIO WHERE ID_NOTICIA = @COD; DELETE FROM NOTICIA WHERE COD = @COD;"; using (SqlCommand cmd = new SqlCommand(strSQL)) { cmd.Connection = conn; cmd.Parameters.Add("@COD", SqlDbType.Int).Value = obj.Cod; conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); } } }
private void btnAlterarNoticia_Click(object sender, EventArgs e) { if (ListViewNoticia.SelectedItems.Count > 0) { Noticia noticia = new Noticia(); noticia.id = ListViewNoticia.SelectedItems[0].SubItems[0].Text; String rota = "http://localhost:3000/buscar-noticia"; String json = JsonConvert.SerializeObject(noticia); Object objectResponse = ConnectionAPI.post(rota, json, administrador.Token); RespUsuario respUsuario = JsonConvert.DeserializeObject <RespUsuario>(objectResponse.ToString()); this.Dispose(); PostarNoticia pNoticia = new PostarNoticia(administrador, respUsuario.noticia); pNoticia.ShowDialog(); } }
public string getInfo() { Noticia not = new Noticia(); try { if (Request.QueryString["id"] != null) { int id = Convert.ToInt32(Request.QueryString["id"]); not = GestorNoticias.getNoticia(id); tituloNoticia = not.Titulo; descripcionNoticia = not.Descripcion; GaleriaNoticia.DataSource = GestorNoticias.getTableImagenes(id).DefaultView; GaleriaNoticia.DataBind(); } } catch (SportingException e) { return "Ocurrio un problema: " + e.Message; } return ""; }
public static List<Noticia> getNoticiasPrincipales() { OdbcConnection con = ConexionBD.ObtenerConexion(); DataSet ds = new DataSet(); List<Noticia> listaNoticias = new List<Noticia>(); try { OdbcCommand cmd = new OdbcCommand(selectNoticia + "WHERE principal = 1", con); cmd.CommandType = CommandType.Text; OdbcDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Noticia noticia = new Noticia(); noticia.IdNoticia = dr.GetInt32(0); noticia.Titulo = dr.GetString(1); noticia.Descripcion = dr.GetString(2); noticia.Principal = dr.GetBoolean(3); noticia.Imagenes = ImagenDAL.getImagenes(noticia, con); listaNoticias.Add(noticia); } } catch (Exception e) { throw new SportingException("Ocurrio un problema al intentar obtener las noticias principales. " + e.Message); } finally { con.Close(); } return listaNoticias; }
public static void insertarNoticia(Noticia noticia) { OdbcConnection conexion = null; OdbcCommand cmd = null; try { if (noticia == null) { throw new SportingException("Error al registrar nueva noticia. Noticia sin información."); } if (noticia.Imagenes == null) { throw new PathImgEmptyException("Error al registrar nueva noticia. La noticia no posee imagenes."); } conexion = ConexionBD.ObtenerConexion(); //Guardo los datos de la noticia String insertarNoticia; insertarNoticia = " insert into noticia (titulo, descripcion, principal)" + " values ('" + noticia.Titulo + "', '" + noticia.Descripcion + "', " + noticia.Principal + ")"; cmd = new OdbcCommand(insertarNoticia, conexion); cmd.ExecuteNonQuery(); //Obtengo el id de la noticia que acabo de insertar String lastIdNoticia = "Select LAST_INSERT_ID()"; cmd = new OdbcCommand(lastIdNoticia, conexion); int idNoticia = Convert.ToInt32(cmd.ExecuteScalar()); //Guardo las imagenes de la noticia String insertarImagen; bool portada = true;//la 1er imagen cargada queda como "portada" foreach (Imagen img in noticia.Imagenes) { //inserto la imagen insertarImagen = "insert into imagen (pathBig, pathSmall, portada, pathMedium) values ('" + img.PathBig + "', '" + img.PathSmall + "', " + portada + ", '" + img.PathMedium + "')"; cmd = new OdbcCommand(insertarImagen, conexion); cmd.ExecuteNonQuery(); portada = false; //Obtengo el id de la imagen que acabo de insertar String lastIdImagen = "Select LAST_INSERT_ID()"; cmd = new OdbcCommand(lastIdImagen, conexion); int idImagen = Convert.ToInt32(cmd.ExecuteScalar()); //inserto la imagen y la noticia (tabla imagen_x_noticia) String insertImgXNoticia = "insert into imagen_x_noticia (idImagen, idNoticia) values (" + idImagen + ", " + idNoticia + ")"; cmd = new OdbcCommand(insertImgXNoticia, conexion); cmd.ExecuteNonQuery(); } conexion.Close(); } catch (Exception e) { throw e; } finally { cmd.Connection.Close(); } }
/// <summary> /// Retorna la lista de todos las noticias /// </summary> /// <returns></returns> public static List<Noticia> getNoticias() { DataSet ds = new DataSet(); List<Noticia> listaNoticias = new List<Noticia>(); OdbcDataReader dr = null; using (OdbcConnection con = new OdbcConnection(Constantes.CONNECTION_STRING)) { using (OdbcCommand cmd = new OdbcCommand(selectNoticia, con)) { try { con.Open(); cmd.CommandType = CommandType.Text; dr = cmd.ExecuteReader(); while (dr.Read()) { Noticia noticia = new Noticia(); noticia.IdNoticia = dr.GetInt32(0); noticia.Titulo = dr.GetString(1); noticia.Descripcion = dr.GetString(2); noticia.Principal = dr.GetBoolean(3); noticia.Imagenes = ImagenDAL.getImagenes(noticia, con); listaNoticias.Add(noticia); } } catch (Exception e) { throw new SportingException("Ocurrio un problema al intentar obtener todas las noticias. " + e.Message); } } } return listaNoticias; }
public static void registrarNoticia(Noticia noticia) { try { NoticiaDAL.insertarNoticia(noticia); } catch (SportingException spEx) { throw spEx; } catch (PathImgEmptyException imgEx) { throw imgEx; } catch (Exception e) { throw new SportingException("Error al registrar una nueva noticia." + e.Message); } }
public static void updateNoticia(Noticia noticia) { try { NoticiaDAL.updateNoticia(noticia); } catch (SportingException spEx) { throw spEx; } catch (PathImgEmptyException imgEx) { throw imgEx; } catch (Exception e) { throw new SportingException("Error al modificar una noticia." + e.Message); } }
public static void updateNoticia(Noticia noticia) { OdbcConnection conexion = null; OdbcCommand cmd = null; try { if (noticia == null) { throw new SportingException("Error al modificar la noticia. Noticia sin información."); } if (noticia.Imagenes == null) { throw new PathImgEmptyException("Error al modificar la noticia. la noticia no posee imagenes."); } conexion = ConexionBD.ObtenerConexion(); //Actualizo los datos de la noticia String updateNoticia = "UPDATE noticia set titulo='" + noticia.Titulo + "', descripcion = '" + noticia.Descripcion + "' WHERE id = " + noticia.IdNoticia; cmd = new OdbcCommand(updateNoticia, conexion); cmd.ExecuteNonQuery(); //Borro todas las imagenes de la noticia String borrarImagenes = " delete i from imagen i where i.id in " + " ( select ixn.idImagen from imagen_x_noticia ixn " + " where idNoticia =" + noticia.IdNoticia + ") "; cmd = new OdbcCommand(borrarImagenes, conexion); cmd.ExecuteNonQuery(); //Registro las imagenes de la noticia todas de nuevo bool portada = true;//la 1er imagen cargada queda como "portada" foreach (Imagen img in noticia.Imagenes) { //inserto la imagen String insertarImagen = "insert into imagen (pathBig, pathSmall, portada, pathMedium) values ('" + img.PathBig + "', '" + img.PathSmall + "', " + portada + ", '" + img.PathMedium + "')"; cmd = new OdbcCommand(insertarImagen, conexion); cmd.ExecuteNonQuery(); portada = false; //Obtengo el id de la imagen que acabo de insertar String lastIdImagen = "Select LAST_INSERT_ID()"; cmd = new OdbcCommand(lastIdImagen, conexion); int idImagen = Convert.ToInt32(cmd.ExecuteScalar()); //inserto la imagen y la noticia (tabla imagen_x_noticia) String insertImgXNoticia = "insert into imagen_x_noticia (idImagen, idNoticia) values (" + idImagen + ", " + noticia.IdNoticia + ")"; cmd = new OdbcCommand(insertImgXNoticia, conexion); cmd.ExecuteNonQuery(); } conexion.Close(); } catch (Exception e) { throw e; } finally { cmd.Connection.Close(); } }
/// <summary> /// Enviamos el mail como que hay una nueva noticia. /// </summary> /// <param name="noticia">La noticia a enviar.</param> internal static void SendEmailNuevaNoticia(Noticia noticia) { String body = "<div align='center'>"; body += "<img src='http://www.riversala.com/Content/images/style/escudo.gif' width='104px' height='139px' />"; body += "<br />"; body += "</div>"; body += "<h1>" + noticia.Titulo + "</h1> "; body += "<br /><br />"; body += "<p>" + noticia.Contenido + "</p>"; body += "<br /><br />"; body += "<p>"; body += "<a href='http://www.riversala.com/Noticia/Comentarios/" + noticia.ID + "'><b>Pulsa aquí para ver la noticia en la web y comentarla.</b>.</a>"; body += "<br /><br /><br />"; body += "<b>VISITANOS!!!</b>"; body += "<br />"; body += "</p>"; //Recuperamos todos los usuarios. DB_38969_riversalaEntities db = new DB_38969_riversalaEntities(); List<Usuario> usuarios = db.Usuario.Where(g => g.Activo == true).ToList(); foreach (Usuario user in usuarios) { //Enviamos el correo. MailAddress to = new MailAddress(user.Email, user.Nombre + user.Apellidos); MailService.Send(to, "Nueva noticia en RiverSala.", body, true); } }
//Obtengo una noticia de base de datos por su id public static Noticia getNoticiaById(int id) { OdbcConnection con = ConexionBD.ObtenerConexion(); OdbcCommand cmd = null; Noticia noticia = null; try { cmd = new OdbcCommand(selectNoticia + "WHERE n.id=" + id.ToString(), con); cmd.CommandType = CommandType.Text; OdbcDataReader dr = cmd.ExecuteReader(); if (dr.HasRows) { noticia = new Noticia(); noticia.IdNoticia = dr.GetInt32(0); noticia.Titulo = dr.GetString(1); noticia.Descripcion = dr.GetString(2); noticia.Imagenes = ImagenDAL.getImagenes(noticia, con); } } catch (Exception e) { throw new SportingException("Ocurrio un error al intentar obtener la noticia "+id+" de la base de datos. "+e.Message); } finally { cmd.Connection.Close(); } return noticia; }
protected void btnGuardar_Click(object sender, EventArgs e) { if (Page.IsValid) { Noticia noticia = new Noticia(); try { noticia.Titulo = txtTitulo.Text; noticia.Descripcion = txtDesc.Text; imagesToSaveInDB = (List<Imagen>)Session[sessionVar_imagesToSaveInDB]; noticia.Imagenes = imagesToSaveInDB; if (txtIdNoticia.Text.CompareTo("") != 0) { //Modifico una noticia existente noticia.IdNoticia = Convert.ToInt32(txtIdNoticia.Text); GestorNoticias.updateNoticia(noticia); setSuccessColorOutput(true); lblOutput.Text = "Noticia actualizada con éxito!"; } else { //Guardo la nueva noticia GestorNoticias.registrarNoticia(noticia); setSuccessColorOutput(true); lblOutput.Text = "Noticia registrada con éxito!"; } /* No limpio los paths de las imagenes en el limpiarCampos() porque el limpiarCampos() * se ejecuta en el load y la variable session no se tiene que limpiar ahi.*/ Session[sessionVar_imagesToSaveInDB] = new List<Imagen>(); cargarNoticias(); limpiarCampos(); grillaNoticias.SelectedIndex = -1; } catch (PathImgEmptyException imgEx) { setSuccessColorOutput(false); lblOutput.Text = imgEx.Message; } catch (SportingException spEx) { setSuccessColorOutput(false); lblOutput.Text = spEx.Message; } catch (Exception ex) { setSuccessColorOutput(false); lblOutput.Text = ex.Message; } } else { lblOutput.Text = "Error al registrar la noticia."; } }