public string PublicarDiscusion(int idForo, int idCuenta, string titulo)
        {
            string ret = "";

            try
            {
                Foro   f      = _context.Foros.First(f => f.Id == idForo);
                Cuenta cuenta = _context.Cuenta.First(c => c.Id == idCuenta);
                if (f != null && cuenta != null)
                {
                    var discusion = new Discusion()
                    {
                        Cuenta      = cuenta,
                        FechaCreado = DateTime.Now,
                        CuentaId    = cuenta.Id,
                        Titulo      = titulo,
                        Comentarios = new List <Comentario>(),
                        Foro        = f,
                        ForoId      = f.Id
                    };
                    _context.Discusiones.Add(discusion);
                    _context.SaveChanges();
                    return(ret);
                }
                return(ret = "No existe la cuenta");
            }
            catch (Exception ex)
            {
                return(ret = ex.Message);
            }
        }
Exemple #2
0
        private void VistaAdminSalirDeForo_OnAdminSalirDeForo(object sender, LogInEventArgs e)
        {
            Taller ws    = talleres[GetTaller(e.taller)];
            Foro   forum = ws.GetForos()[GetForo(ws, e.foro)];

            logInView.ClearListaMensajesForoAdmin();
        }
        public string NuevoForo(string nombre, int seccionId, bool suscripcion)
        {
            string ret = "";

            try
            {
                var SeccionTemplate = _context.SeccionTemplate.Find(seccionId);
                if (SeccionTemplate != null)
                {
                    Foro f = new Foro()
                    {
                        Nombre            = nombre,
                        Discusiones       = new List <Discusion>(),
                        Seccion           = SeccionTemplate,
                        SeccionTemplateId = SeccionTemplate.Id,
                        Suscripcion       = suscripcion
                    };
                    _context.Foros.Add(f);
                    _context.SaveChanges();
                    return(ret);
                }
                return(ret = "No existe la seccion");
            }
            catch (Exception ex)
            {
                return(ret = ex.Message);
            }
        }
Exemple #4
0
        public async Task <IActionResult> Edit(int id, [Bind("ForoId,PropuestaId")] Foro foro)
        {
            if (id != foro.ForoId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(foro);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ForoExists(foro.ForoId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["PropuestaId"] = new SelectList(_context.Propuesta, "PropuestaId", "Titulo", foro.PropuestaId);
            return(View(foro));
        }
        public string ModificarForo(int id, int seccionId, bool suscripcion, string nombre)
        {
            string ret = "";

            try
            {
                Foro            f       = _context.Foros.Find(id);
                SeccionTemplate seccion = _context.SeccionTemplate.Find(seccionId);
                if (f != null && seccion != null)
                {
                    f.Nombre            = nombre;
                    f.Seccion           = seccion;
                    f.SeccionTemplateId = seccion.Id;
                    f.Suscripcion       = suscripcion;
                    _context.Foros.Update(f);
                    _context.SaveChanges();
                    return(ret = "Se ha modificado el foro.");
                }
                return(ret = "El foro que intenta modificar no existe");
            }
            catch (Exception ex)
            {
                return(ret = ex.Message);
            }
        }
        public string AgregarComentario(int idForo, int idDiscusion, int idCuenta, string comentario)
        {
            string ret = "";

            try
            {
                Foro      f      = _context.Foros.Find(idForo);
                Discusion d      = _context.Discusiones.Find(idDiscusion);
                Cuenta    cuenta = _context.Cuenta.Find(idCuenta);
                if (f != null && d != null && cuenta != null)
                {
                    Comentario c = new Comentario()
                    {
                        Cuenta      = cuenta,
                        CuentaId    = cuenta.Id,
                        Texto       = comentario,
                        FechaCreado = DateTime.Now,
                        Comentarios = new List <Comentario>(),
                        Discusion   = d,
                        DiscusionId = d.Id,
                        ForoId      = f.Id,
                        Foro        = f
                    };
                    _context.Comentarios.Add(c);
                    _context.SaveChanges();
                    return(ret);
                }
                return(ret = "No existe el foro o la discusion o la cuenta");
            }
            catch (Exception ex)
            {
                return(ret = ex.Message);
            }
        }
        public string NuevaDiscusion(int idCuenta, int idForo, string titulo)
        {
            string ret = "";

            try
            {
                Cuenta cuenta = _context.Cuenta.First(c => c.Id == idCuenta);
                Foro   f      = _context.Foros.First(f => f.Id == idForo);
                if (cuenta != null && f != null)
                {
                    Discusion d = new Discusion()
                    {
                        Comentarios = new List <Comentario>(),
                        Cuenta      = cuenta,
                        Titulo      = titulo,
                        CuentaId    = cuenta.Id,
                        FechaCreado = DateTime.Now,
                        Foro        = f,
                        ForoId      = f.Id
                    };
                    _context.Discusiones.Add(d);
                    _context.SaveChanges();
                    return(ret);
                }
                return(ret = "No existe la cuenta y/o el foro");
            }
            catch (Exception ex)
            {
                return(ret = ex.Message);
            }
        }
        public string EliminarDiscusion(int idForo, int idDiscusion)
        {
            string ret = "";

            try
            {
                Foro      f = _context.Foros.First(f => f.Id == idForo);
                Discusion d = _context.Discusiones.First(d => d.Id == idDiscusion);
                if (f != null && d != null)
                {
                    foreach (var item in d.Comentarios)
                    {
                        _context.Comentarios.Remove(item);
                    }
                    _context.Discusiones.Remove(d);
                    _context.SaveChanges();
                    return(ret);
                }
                return(ret = "No existe el foro o la discusion que se intenta eliminar");
            }
            catch (Exception ex)
            {
                return(ret = ex.Message);
            }
        }
        public List <ComentarioResponse> ObtenerComentariosDeDiscusion(int idForo, int idDiscusion)
        {
            //List<string> lista = new List<ComentarioResponse>();
            try
            {
                Foro foro = _context.Foros.Find(idForo);
                if (foro != null)
                {
                    List <ComentarioResponse> respuesta = new List <ComentarioResponse>();
                    foreach (var comentario in _context.Comentarios.Where(n => n.DiscusionId == idDiscusion).ToList())
                    {
                        var cuenta = _context.Cuenta.Include(c => c.PersonaCuenta).SingleOrDefault(c => c.Id == comentario.CuentaId);
                        var c      = new ComentarioResponse
                        {
                            Fecha         = comentario.FechaCreado,
                            NombreUsuario = cuenta.PersonaCuenta.Nombre + " " + cuenta.PersonaCuenta.Apellido,
                            Texto         = comentario.Texto
                        };
                        respuesta.Add(c);
                    }


                    return(respuesta);
                }
                return(null);
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
        public override string ToString()
        {
            string minhaString = "PROCESSO: " + IdCliente.ToString() + "|" + IdParteContraria.ToString() +
                                 "|" + AndamentoProcesso.ToString() + "|" + Foro.ToString() + "|" + Area.ToString() + "|" + TipoAcao.ToString();

            return(minhaString);
        }
Exemple #11
0
        public async Task <IActionResult> Create([Bind("ForoId,PropuestaId")] Foro foro)
        {
            if (ModelState.IsValid)
            {
                using (var cl = new HttpClient())
                {
                    cl.BaseAddress = new Uri(baseurl);
                    var content     = JsonConvert.SerializeObject(foro);
                    var buffer      = System.Text.Encoding.UTF8.GetBytes(content);
                    var byteContent = new ByteArrayContent(buffer);
                    byteContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
                    var postTask = cl.PostAsync("api/Foro", byteContent).Result;

                    if (postTask.IsSuccessStatusCode)
                    {
                        NotifyDelete("El registro se ha agregado correctamente");
                        return(RedirectToAction(nameof(Index)));
                    }
                    else
                    {
                        NotifyError("El foro no puede ser creado porque ya existe uno asociado a la propuesta.", notificationType: NotificationType.error);
                        return(RedirectToAction(nameof(Index)));
                    }
                }
            }
            return(View(foro));
        }
Exemple #12
0
        private void LogInView_OnProfesorLeerForo(object sender, LogInEventArgs e)
        {
            Taller ws    = talleres[GetTaller(e.taller)];
            Foro   forum = ws.GetForos()[GetForo(ws, e.foro)];

            logInView.CargarMensajesForoProfesor(forum.GetMensajes());
        }
Exemple #13
0
        public IHttpActionResult PostForo(Foro post)
        {
            post.FechaCreacion = DateTime.Now;

            db.Foro.Add(post);
            db.SaveChanges();
            return(Ok(post));
        }
Exemple #14
0
        public void Alllow_ChangeState_usingEnum()
        {
            var foro = new Foro(".Pattern Enum example");

            //Compiling does not give error and allows us to introduce invalid characters
            foro.ChangeState((ForoState)3);
            foro.StateEnum.Should().Be(3);
        }
 public IEnumerable <Posteo> ObtenerPosteosFiltrados(Foro foro, string PedidoBusqueda)
 {
     return(string.IsNullOrEmpty(PedidoBusqueda)
         ?
            foro.Posteos
         :
            foro.Posteos.Where(posteo => posteo.Titulo.Contains(PedidoBusqueda) || posteo.Contenido.Contains(PedidoBusqueda)));
 }
Exemple #16
0
 public IEnumerable <Post> GetFilteredPosts(Foro forum, string searchQuery)
 {
     return(!string.IsNullOrEmpty(searchQuery)
         ? forum.Posts
         : forum.Posts.Where(post
                             => post.Title.Contains(searchQuery) ||
                             post.Content.Contains(searchQuery)));
 }
Exemple #17
0
 private ForumListingModel BuildForumListing(Foro forum)
 {
     return(new ForumListingModel
     {
         Id = forum.Id,
         Name = forum.Title,
         Description = forum.Description,
         ImageUrl = forum.ImageUrl
     });
 }
Exemple #18
0
        public void Alllow_ChangeState_usingSealed()
        {
            var foro = new Foro(".Pattern Enum example");

            // The Compiling does a give error and  not allows us to introduce invalid characters
            //foro.ChangeState((State)3);
            foro.ChangeState(State.Closed);

            foro.StateSealead.Should().Be(State.Closed);
        }
 private ModeloListadoForo PasarForoAModeloListadoForo(Foro foro)
 {
     return(new ModeloListadoForo
     {
         Id = foro.Id,
         Nombre = foro.Titulo,
         Descripcion = foro.Descripcion,
         UrlImagen = foro.UrlImagen
     });
 }
Exemple #20
0
        private void VistaAdminIngresarMensajeForo_OnAdminIngresarMensajeForo(object sender, LogInEventArgs e)
        {
            Taller ws    = talleres[GetTaller(e.taller)];
            Foro   forum = ws.GetForos()[GetForo(ws, e.foro)];

            EnviarMensaje(forum, e.mensaje, GetUser(e.credenciales));
            Mensaje mensaje = forum.GetMensajes().Last();

            logInView.ActualizarListaMensajesForoAdmin(mensaje, false);
        }
Exemple #21
0
        public IHttpActionResult GetForo(int id)
        {
            Foro foro = db.Foro.Find(id);

            if (foro == null)
            {
                return(NotFound());
            }

            return(Ok(foro));
        }
Exemple #22
0
 public int GetMensaje(Foro forum, Mensaje img)
 {
     foreach (Mensaje me in forum.GetMensajes())
     {
         if (me.codigo.Equals(img.codigo))
         {
             return(forum.GetMensajes().IndexOf(me));
         }
     }
     return(-1);
 }
Exemple #23
0
 public int GetForo(Taller ws, Foro img)
 {
     foreach (Foro fr in ws.GetForos())
     {
         if (fr.GetId() == img.GetId())
         {
             return(ws.GetForos().IndexOf(fr));
         }
     }
     return(-1);
 }
Exemple #24
0
        private void LogInView_OnAdminEliminarMensaje(object sender, LogInEventArgs e)
        {
            Taller  ws    = talleres[GetTaller(e.taller)];
            Foro    forum = ws.GetForos()[GetForo(ws, e.foro)];
            Mensaje m     = forum.GetMensajes()[GetMensaje(forum, e.objetoMensaje)];

            EliminarMensaje(forum, m);
            logInView.ActualizarListaMensajesForoAdmin(m, true);
            logInView.ClearListaMensajesForoAdmin();
            logInView.CargarMensajesForoAdmin(forum.GetMensajes());
        }
Exemple #25
0
        private void LogInView_OnProfesorEliminarForo(object sender, LogInEventArgs e)
        {
            Taller ws    = talleres[GetTaller(e.taller)];
            Foro   forum = ws.GetForos()[GetForo(ws, e.foro)];

            ws.GetForos().Remove(forum);
            logInView.ClearListaForosProfe();
            List <Foro> foros = ws.GetForos();

            logInView.CargarForosTallerProfesor(foros);
        }
Exemple #26
0
        public async Task <IActionResult> Create([Bind("ForoId,PropuestaId")] Foro foro)
        {
            if (ModelState.IsValid)
            {
                _context.Add(foro);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["PropuestaId"] = new SelectList(_context.Propuesta, "PropuestaId", "Titulo", foro.PropuestaId);
            return(View(foro));
        }
Exemple #27
0
        private void LogInView_OnAdminEliminarForo(object sender, LogInEventArgs e)
        {
            Taller ws    = talleres[GetTaller(e.taller)];
            Foro   forum = ws.GetForos()[GetForo(ws, e.foro)];

            ws.GetForos().Remove(forum);
            logInView.ClearListaForosAdmin();
            List <Foro> foros = ws.GetForos();

            logInView.CargarForosTallerAdmin(foros);
            logInView.ActualizarCantidadForosTallerAdmin(ws);
        }
Exemple #28
0
        public IHttpActionResult DeleteForo(int id)
        {
            Foro foro = db.Foro.Find(id);

            if (foro == null)
            {
                return(NotFound());
            }

            db.Foro.Remove(foro);
            db.SaveChanges();

            return(Ok(foro));
        }
Exemple #29
0
        public IHttpActionResult PutForo(Foro foro)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var request = db.Foro.Where(f => f.id_topico == foro.id_topico).FirstOrDefault();

            request.Titulo    = foro.Titulo;
            request.Contenido = foro.Contenido;

            db.SaveChanges();
            return(Ok(request));
        }
Exemple #30
0
        private void VistaAlumnoEliminarMensaje_OnAlumnoEliminarMensaje(object sender, LogInEventArgs e)
        {
            Taller  ws    = talleres[GetTaller(e.taller)];
            Foro    forum = ws.GetForos()[GetForo(ws, e.foro)];
            Mensaje m     = forum.GetMensajes()[GetMensaje(forum, e.objetoMensaje)];

            if (String.Concat(m.autor.rut, m.autor.nombre, m.autor.apellido).Equals(String.Concat(GetUser(e.credenciales).rut, GetUser(e.credenciales).nombre, GetUser(e.credenciales).apellido)))
            {
                EliminarMensaje(forum, m);
                logInView.ActualizarListaMensajesForo(m, true);
            }
            else
            {
                logInView.ErrorEliminarMensaje();
            }
        }