// GET: Solicitud/Delete public ActionResult Delete(int id) { if (Session["usuario"] == null) { return(RedirectToAction("Login", "Sesion")); } SolicitudCEN solicitudCEN = new SolicitudCEN(); SolicitudEN solicitudEN = solicitudCEN.ReadOID(id); Solicitud solicitud = new AssemblerSolicitud().ConvertENToModelUI(solicitudEN); //Cliente if (Session["modoAdmin"].ToString() == "false") { return(View("./VistaUsuario/DeleteCliente", solicitud)); } //Admin if (Session["esAdmin"].ToString() == "true") { if (Session["modoAdmin"].ToString() == "false") { Session["modoAdmin"] = "true"; } } return(View(solicitud)); }
public ActionResult Delete(int id, Solicitud solicitud) { if (Session["usuario"] == null) { return(RedirectToAction("Login", "Sesion")); } SolicitudCEN solicitudCEN = new SolicitudCEN(); SolicitudEN solicitudEN = solicitudCEN.ReadOID(id); try { UsuarioCEN usuarioCEN = new UsuarioCEN(); UsuarioEN usuarioEN = usuarioCEN.ReadOID(solicitudEN.UsuarioSolicitante.Id); ProyectoCEN proyectoCEN = new ProyectoCEN(); ProyectoEN proyectoEN = proyectoCEN.ReadOID(solicitudEN.ProyectoSolicitado.Id); TempData["bien"] = "Se ha borrado correctamente la solicitud del usuario " + usuarioEN.Nick + " en el proyecto " + proyectoEN.Nombre; solicitudCEN.Destroy(id); //Cliente if (Session["modoAdmin"].ToString() == "false") { return(RedirectToAction("AdministrarSolicitudes", new { proyectoId = solicitudEN.ProyectoSolicitado.Id })); } //Admin if (Session["esAdmin"].ToString() == "true") { if (Session["modoAdmin"].ToString() == "false") { Session["modoAdmin"] = "true"; } } return(RedirectToAction("Index")); } catch { TempData["mal"] = "Ocurrió un problema al intentar borrar la solicitud"; //Cliente if (Session["modoAdmin"].ToString() == "false") { return(RedirectToAction("AdministrarSolicitudes", new { proyectoId = solicitudEN.ProyectoSolicitado.Id })); } //Admin if (Session["esAdmin"].ToString() == "true") { if (Session["modoAdmin"].ToString() == "false") { Session["modoAdmin"] = "true"; } } return(RedirectToAction("Index")); } }
// GET: Solicitud public ActionResult Index(int?pag) { if (Session["usuario"] == null) { return(RedirectToAction("Login", "Sesion")); } if (Session["esAdmin"].ToString() == "false") { return(View("../NoAdministrador")); } if (Session["modoAdmin"].ToString() == "false") { Session["modoAdmin"] = "true"; } SolicitudCEN solicitudCEN = new SolicitudCEN(); UsuarioCEN usuarioCEN = new UsuarioCEN(); IList <UsuarioEN> listaUsuarios = usuarioCEN.ReadAll(0, -1).ToList(); ArrayList listaNicks = new ArrayList(); foreach (var e in listaUsuarios) { listaNicks.Add(e.Nick); } ViewData["ListaNicks"] = listaNicks; ArrayList listaEstados = new ArrayList(); listaEstados.Add("Todos"); listaEstados.Add("Pendiente"); listaEstados.Add("Aceptada"); listaEstados.Add("Rechazada"); ViewData["estados"] = listaEstados; //Paginacion int tamPag = 10; int numPags = (solicitudCEN.ReadAll(0, -1).Count - 1) / tamPag; if (pag == null || pag < 0) { pag = 0; } else if (pag >= numPags) { pag = numPags; } ViewData["pag"] = pag; ViewData["numeroPaginas"] = numPags; int inicio = (int)pag * tamPag; IList <SolicitudEN> listaSolicitudes = solicitudCEN.ReadAll(inicio, tamPag).ToList(); IEnumerable <Solicitud> solicitudes = new AssemblerSolicitud().ConvertListENToModel(listaSolicitudes).ToList(); return(View(solicitudes)); }
// POST: Usuario/CambioEstadoCliente2/ public ActionResult CambioEstadoCliente2(int proyectoId, String cambioEstado) { if (Session["usuario"] == null) { return(RedirectToAction("Login", "Sesion")); } ViewData["proyectoId"] = proyectoId; try { UsuarioCEN usuarioCEN = new UsuarioCEN(); UsuarioEN usuarioEN = usuarioCEN.ReadNick(Session["usuario"].ToString()); ProyectoCEN proyectoCEN = new ProyectoCEN(); ProyectoEN proyectoEN = proyectoCEN.ReadOID(proyectoId); if (proyectoEN == null) { return(RedirectToAction("./VistaUsuario/AdministrarSolicitudes", proyectoId)); } SolicitudCEN solicitudCEN = new SolicitudCEN(); SolicitudEN solicitudEN = new SolicitudEN(); IList <SolicitudEN> listaSolicitudes = solicitudCEN.DameSolicitudesPendientesPorProyectoDeUsuario(proyectoId, usuarioEN.Id); if (listaSolicitudes.Count > 1) { TempData["mal"] = "Ocurrió un problema al intentar modificar la solicitud"; return(RedirectToAction("./VistaUsuario/AdministrarSolicitudes", proyectoId)); } foreach (SolicitudEN e in listaSolicitudes) { solicitudEN = e; } if (cambioEstado == "Aceptar") { solicitudCEN.Aceptar(solicitudEN.Id); } else { solicitudCEN.Rechazar(solicitudEN.Id); } TempData["bien"] = "Se ha modificado correctamente el estado de la solicitud" + solicitudEN.Id; return(RedirectToAction("./VistaUsuario/AdministrarSolicitudes", proyectoId)); } catch { TempData["mal"] = "Ocurrió un problema al intentar modificar la solicitud"; return(RedirectToAction("./VistaUsuario/AdministrarSolicitudes", new { proyectoId = proyectoId })); } }
// GET: Solicitud/DetailsCliente/5 public ActionResult DetailsCliente(int id) { if (Session["usuario"] == null) { return(RedirectToAction("Login", "Sesion")); } SolicitudCEN solicitudCEN = new SolicitudCEN(); SolicitudEN solicitudEN = solicitudCEN.ReadOID(id); Solicitud solicitud = new AssemblerSolicitud().ConvertENToModelUI(solicitudEN); return(View("./VistaUsuario/DetailsCliente", solicitud)); }
//************************************* //||||||||||| VISTA CLIENTE |||||||| //************************************* // GET: Solicitud/EnviarSolicitud/ public ActionResult EnviarSolicitud(int proyectoId) { if (Session["usuario"] == null) { return(RedirectToAction("Login", "Sesion")); } UsuarioCEN usuarioCEN = new UsuarioCEN(); UsuarioEN usuarioEN = usuarioCEN.ReadNick(Session["usuario"].ToString()); ProyectoCEN proyectoCEN = new ProyectoCEN(); ProyectoEN proyectoEN = proyectoCEN.ReadOID(proyectoId); //Comprobamos si ese usuario ya pertenece a ese proyecto bool pertenece = false; IList <ProyectoEN> proyectosALosQuePertenece = proyectoCEN.DameProyectosUsuarioPertenece(usuarioEN.Id); foreach (ProyectoEN e in proyectosALosQuePertenece) { if (e.Id == proyectoId) { pertenece = true; } } //Usuario pertenece al proyecto if (pertenece) { ViewData["titulo"] = "Ya perteneces al proyecto " + proyectoEN.Nombre; ViewData["esParticpante"] = "true"; } //No pertenece al proyecto ViewData["titulo"] = "Desea participar en el proyecto " + proyectoEN.Nombre + " ?"; //Comprobamos que no tenga una peticion pendiente en ese proyecto SolicitudCEN solicitudCEN = new SolicitudCEN(); IList <SolicitudEN> solicitudesEN = solicitudCEN.DameSolicitudesPendientesPorProyectoDeUsuario(proyectoEN.Id, usuarioEN.Id); if (solicitudesEN.Count >= 1) { ViewData["titulo"] = "Su solicitud esta pendiente, recibira una notificacion con la respuesta"; ViewData["esParticpante"] = "true"; } return(View("./VistaUsuario/EnviarSolicitud", proyectoEN)); }
// GET: Solicitud/Details public ActionResult Details(int id) { if (Session["usuario"] == null) { return(RedirectToAction("Login", "Sesion")); } if (Session["esAdmin"].ToString() == "false") { return(View("../NoAdministrador")); } if (Session["modoAdmin"].ToString() == "false") { Session["modoAdmin"] = "true"; } SolicitudCEN solicitudCEN = new SolicitudCEN(); SolicitudEN solicitudEN = solicitudCEN.ReadOID(id); Solicitud solicitud = new AssemblerSolicitud().ConvertENToModelUI(solicitudEN); return(View(solicitud)); }
// POST: Usuario/Edit/5 public ActionResult CambioEstado(int id, String cambioEstado) { if (Session["usuario"] == null) { return(RedirectToAction("Login", "Sesion")); } if (Session["esAdmin"].ToString() == "false") { return(View("../NoAdministrador")); } if (Session["modoAdmin"].ToString() == "false") { Session["modoAdmin"] = "true"; } try { SolicitudCEN solicitudCEN = new SolicitudCEN(); if (cambioEstado == "Aceptar") { solicitudCEN.Aceptar(id); } else { solicitudCEN.Rechazar(id); } TempData["bien"] = "Se a modificado correctamente el estado de la solicitud " + id; //return RedirectToAction("Index"); return(RedirectToAction("Details", new { id })); } catch { TempData["mal"] = "Ocurrio un problema al intentar modificar la solicitud " + id; return(RedirectToAction("Index")); } }
// POST: Usuario/CambioEstadoCliente/ public ActionResult CambioEstadoCliente(int id, String cambioEstado) { if (Session["usuario"] == null) { return(RedirectToAction("Login", "Sesion")); } /*if (Session["esAdmin"].ToString() == "false") * return View("../NoAdministrador"); * if (Session["modoAdmin"].ToString() == "false") * Session["modoAdmin"] = "true";*/ SolicitudCEN solicitudCEN = new SolicitudCEN(); SolicitudEN solicitudEN = solicitudCEN.ReadOID(id); try { if (cambioEstado == "Aceptar") { solicitudCEN.Aceptar(id); } else { solicitudCEN.Rechazar(id); } TempData["bien"] = "Se ha modificado correctamente el estado de la solicitud " + id; return(RedirectToAction("AdministrarSolicitudes", new { proyectoId = solicitudEN.ProyectoSolicitado.Id })); } catch { TempData["mal"] = "Ocurrió un problema al intentar modificar la solicitud " + id; return(RedirectToAction("AdministrarSolicitudes", new { proyectoId = solicitudEN.ProyectoSolicitado.Id })); } }
public void Destroy(int p_Proyecto_OID) { /*PROTECTED REGION ID(MultitecUAGenNHibernate.CP.MultitecUA_Proyecto_destroy) ENABLED START*/ IProyectoCAD proyectoCAD = null; ProyectoCEN proyectoCEN = null; try { SessionInitializeTransaction(); proyectoCAD = new ProyectoCAD(session); proyectoCEN = new ProyectoCEN(proyectoCAD); ProyectoEN proyectoEN = proyectoCAD.ReadOID(p_Proyecto_OID); UsuarioCEN usuarioCEN = new UsuarioCEN(); List <int> moderadores = new List <int>(); foreach (UsuarioEN moderador in usuarioCEN.DameModeradoresProyecto(p_Proyecto_OID)) { moderadores.Add(moderador.Id); } proyectoCAD.EliminaModeradores(p_Proyecto_OID, moderadores); List <int> participantes = new List <int>(); foreach (UsuarioEN participante in usuarioCEN.DameParticipantesProyecto(p_Proyecto_OID)) { participantes.Add(participante.Id); } proyectoCAD.EliminaParticipantes(p_Proyecto_OID, participantes); NotificacionCEN notificacionCEN = new NotificacionCEN(); int OID_notificacion = notificacionCEN.New_("Proyecto eliminado", "El proyecto " + proyectoEN.Nombre + " ha sido eliminado"); NotificacionUsuarioCEN notificacionUsuarioCEN = new NotificacionUsuarioCEN(); foreach (UsuarioEN usuario in usuarioCEN.DameParticipantesProyecto(p_Proyecto_OID)) { notificacionUsuarioCEN.New_(usuario.Id, OID_notificacion); } SolicitudCEN solicitudCEN = new SolicitudCEN(); foreach (SolicitudEN solicitud in solicitudCEN.DameSolicitudesPorProyectoYEstado(p_Proyecto_OID, Enumerated.MultitecUA.EstadoSolicitudEnum.Pendiente)) { notificacionUsuarioCEN.New_(solicitud.UsuarioSolicitante.Id, OID_notificacion); } EventoCEN eventoCEN = new EventoCEN(); foreach (EventoEN eventoEN in eventoCEN.DameEventosPorProyecto(p_Proyecto_OID)) { eventoCEN.EliminaProyectosAsociados(eventoEN.Id, new List <int> { p_Proyecto_OID }); } proyectoCAD.Destroy(p_Proyecto_OID); SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } /*PROTECTED REGION END*/ }
public static void InitializeData() { /*PROTECTED REGION ID(initializeDataMethod) ENABLED START*/ try { // Insert the initilizations of entities using the CEN classes /*USUARIOS*/ UsuarioCEN usuarioCEN = new UsuarioCEN(); int OIDUsuario = usuarioCEN.New_("Judith", "12345", null, "*****@*****.**", "BenhMM"); usuarioCEN.Modify(OIDUsuario, "Victor", "54321", "*****@*****.**", "Nedyar94", null); Console.WriteLine("Login key: " + usuarioCEN.Login(OIDUsuario, "dsfsdfgdsf")); //int OIDUsuarioABorrar = usuarioCEN.New_ ("Judith", "12345", null, "*****@*****.**", "BenhasdfasdfMM"); // en lugar de destroy tiene cambiar rol usuarioCEN.Destroy (OIDUsuarioABorrar); usuarioCEN.CambiarRol(OIDUsuario, MultitecUAGenNHibernate.Enumerated.MultitecUA.RolUsuarioEnum.Administrador); Console.WriteLine("Administradores: " + usuarioCEN.DameUsuariosPorRol(MultitecUAGenNHibernate.Enumerated.MultitecUA.RolUsuarioEnum.Administrador).Count); Console.WriteLine("Usuarios por nick: " + usuarioCEN.ReadNick("Nedyar94")); /*CATEGORIAS DE USUARIOS*/ CategoriaUsuarioCEN categoriaUsuarioCEN = new CategoriaUsuarioCEN(); List <int> OIDsCategorias = new List <int>(); int OIDCategoria = categoriaUsuarioCEN.New_("Programado"); categoriaUsuarioCEN.Modify(OIDCategoria, "Programador"); OIDsCategorias.Add(OIDCategoria); OIDCategoria = categoriaUsuarioCEN.New_("Dise�ador"); OIDsCategorias.Add(OIDCategoria); OIDCategoria = categoriaUsuarioCEN.New_("Puto Amo"); OIDsCategorias.Add(OIDCategoria); categoriaUsuarioCEN.Modify(OIDCategoria, "Putisimo Amo"); //categoriaUsuarioCEN.Destroy (OIDCategoria); Console.WriteLine("Categoria Usuario con OID " + OIDCategoria + ": " + categoriaUsuarioCEN.ReadOID(OIDCategoria).Id); usuarioCEN.AgregaCategorias(OIDUsuario, OIDsCategorias); OIDsCategorias.RemoveAt(2); usuarioCEN.EliminaCategorias(OIDUsuario, OIDsCategorias); Console.WriteLine("Usuarios por categoria: " + usuarioCEN.DameUsuariosPorCategoria(OIDCategoria).Count); Console.WriteLine("Usuarios totales: " + usuarioCEN.ReadAll(0, -1).Count); Console.WriteLine("Usuario con OID " + OIDUsuario + ": " + usuarioCEN.ReadOID(OIDUsuario).Id); Console.WriteLine("Categorias Usuarios totales: " + categoriaUsuarioCEN.ReadAll(0, -1).Count); Console.WriteLine("Categoria Usuario con OID " + OIDCategoria + ": " + categoriaUsuarioCEN.ReadOID(OIDCategoria).Id); CategoriaUsuarioCP categoriaUsuarioCP = new CategoriaUsuarioCP(); categoriaUsuarioCP.Destroy(OIDCategoria); Console.WriteLine("Usuario con OID " + OIDUsuario + ": " + usuarioCEN.ReadOID(OIDUsuario).Id); Console.WriteLine("Categorias Usuarios totales: " + categoriaUsuarioCEN.ReadAll(0, -1).Count); /*PROYECTO*/ ProyectoCEN proyectoCEN = new ProyectoCEN(); int OIDProyecto = proyectoCEN.New_("APPANIC", "App que te ayuda en la vida", OIDUsuario, null); ProyectoCP proyectoCP = new ProyectoCP(); int OIDProyectoABorrar = proyectoCEN.New_("APPANICasdasd", "App que te ayuda en la vida", OIDUsuario, null); int aux = usuarioCEN.New_("Sergio", "12345", null, "*****@*****.**", "Yupipi93"); usuarioCEN.CambiarRol(aux, MultitecUAGenNHibernate.Enumerated.MultitecUA.RolUsuarioEnum.MiembroHonor); List <int> aaux = new List <int>(); aaux.Add(aux); proyectoCP.AgregaParticipantes(OIDProyecto, aaux); proyectoCP.AgregaModeradores(OIDProyecto, aaux); proyectoCP.EliminaModeradores(OIDProyecto, aaux); aaux [0] = usuarioCEN.New_("Judith", "12345", null, "*****@*****.**", "BenhMM"); proyectoCP.AgregaParticipantes(OIDProyecto, aaux); proyectoCP.EliminaParticipantes(OIDProyecto, aaux); proyectoCP.Modify(OIDProyecto, "APPPanic", "App que te ayuda en la vida", null); proyectoCEN.CambiarEstado(OIDProyecto, MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoProyectoEnum.EnDesarrollo); Console.WriteLine("Proyectos por estado: " + proyectoCEN.DameProyectosPorEstado(MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoProyectoEnum.EnDesarrollo).Count); Console.WriteLine("Proyectos usuario pertenece: " + proyectoCEN.DameProyectosUsuarioPertenece(OIDUsuario).Count); Console.WriteLine("Participantes proyecto: " + usuarioCEN.DameParticipantesProyecto(OIDProyecto).Count); Console.WriteLine("Moderadores proyecto: " + usuarioCEN.DameModeradoresProyecto(OIDProyecto).Count); Console.WriteLine("Usuarios: " + usuarioCEN.DameUsuariosPorRol(MultitecUAGenNHibernate.Enumerated.MultitecUA.RolUsuarioEnum.Miembro).Count); Console.WriteLine("Miembros de honor: " + usuarioCEN.DameUsuariosPorRol(MultitecUAGenNHibernate.Enumerated.MultitecUA.RolUsuarioEnum.MiembroHonor).Count); Console.WriteLine("Proyecto con OID " + OIDProyecto + ": " + proyectoCEN.ReadOID(OIDProyecto).Id); /*CATEGORIA PROYECTO*/ CategoriaProyectoCEN categoriaProyectoCEN = new CategoriaProyectoCEN(); List <int> listaCategoriasProyecto = new List <int>(); int OIDCategoriaProyecto = categoriaProyectoCEN.New_("Salu"); categoriaProyectoCEN.Modify(OIDCategoriaProyecto, "Salud"); listaCategoriasProyecto.Add(OIDCategoriaProyecto); OIDCategoriaProyecto = categoriaProyectoCEN.New_("Tecnologico"); listaCategoriasProyecto.Add(OIDCategoriaProyecto); OIDCategoriaProyecto = categoriaProyectoCEN.New_("Puto Amo2"); listaCategoriasProyecto.Add(OIDCategoriaProyecto); proyectoCEN.AgregaCategoriasProyecto(OIDProyecto, listaCategoriasProyecto); listaCategoriasProyecto.RemoveAt(2); proyectoCEN.EliminaCategoriasProyecto(OIDProyecto, listaCategoriasProyecto); Console.WriteLine("Proyectos por categoria: " + proyectoCEN.DameProyectosPorCategoria(OIDCategoriaProyecto).Count); proyectoCEN.AgregaCategoriasUsuario(OIDProyecto, OIDsCategorias); OIDsCategorias.RemoveAt(0); proyectoCEN.EliminaCategoriasUsuario(OIDProyecto, OIDsCategorias); Console.WriteLine("Categorias Proyecto totales: " + categoriaProyectoCEN.ReadAll(0, -1).Count); Console.WriteLine("Categoria Proyecto con OID " + OIDCategoriaProyecto + ": " + categoriaProyectoCEN.ReadOID(OIDCategoriaProyecto).Id); CategoriaProyectoCP categoriaProyectoCP = new CategoriaProyectoCP(); categoriaProyectoCP.Destroy(OIDCategoriaProyecto); /*EVENTOS*/ EventoCEN eventoCEN = new EventoCEN(); int OIDEvento = eventoCEN.New_("Evento1", "El Mas guay", DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, null); eventoCEN.PublicaEvento(OIDEvento); int OIDEventoABorrar = eventoCEN.New_("EventoABorrar", "El Mas guay", DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, null); eventoCEN.PublicaEvento(OIDEventoABorrar); EventoCP eventoCP = new EventoCP(); eventoCEN.AgregaCategorias(OIDEvento, listaCategoriasProyecto); listaCategoriasProyecto.RemoveAt(0); eventoCEN.EliminaCategorias(OIDEvento, listaCategoriasProyecto); List <int> listaEventos = new List <int>(); listaEventos.Add(OIDEvento); listaEventos.Add(OIDEventoABorrar); proyectoCP.AgregaEventos(OIDProyecto, listaEventos); Console.WriteLine("Eventos por proyecto: " + eventoCEN.DameEventosPorProyecto(OIDProyecto).Count); Console.WriteLine("Proyectos por evento: " + proyectoCEN.DameProyectosPorEvento(OIDEvento).Count); eventoCP.Modify(OIDEvento, "Evento", "El Mas guay", DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, null); //eventoCP.Destroy (OIDEventoABorrar); listaEventos.Remove(OIDEventoABorrar); proyectoCP.EliminaEventos(OIDProyecto, listaEventos); Console.WriteLine("Eventos filtrados: " + eventoCEN.DameEventosFiltrados(-1, DateTime.Parse("01/01/2030"), null).Count); Console.WriteLine("Eventos totales: " + eventoCEN.ReadAll(0, -1).Count); Console.WriteLine("Evento con OID " + OIDEvento + ": " + eventoCEN.ReadOID(OIDEvento).Id); /*SOLICITUD*/ SolicitudCEN solicitudCEN = new SolicitudCEN(); int OIDSolicitud = solicitudCEN.New_(OIDUsuario, OIDProyecto); solicitudCEN.Aceptar(OIDSolicitud); solicitudCEN.Rechazar(OIDSolicitud); int OIDSolicitud2 = solicitudCEN.New_(OIDUsuario, OIDProyecto); solicitudCEN.Aceptar(OIDSolicitud2); solicitudCEN.New_(OIDUsuario, OIDProyecto); //Filtros de SOLICITUD Console.WriteLine("DameSolicitudesPorProyectoYEstado: " + solicitudCEN.DameSolicitudesPorProyectoYEstado(OIDProyecto, MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoSolicitudEnum.Aceptada).Count); Console.WriteLine("DameSolicitudesPorUsuarioYEstado: " + solicitudCEN.DameSolicitudesPorUsuarioYEstado(OIDUsuario, MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoSolicitudEnum.Aceptada).Count); Console.WriteLine("DameSolicidudesPorUsuarioYProyecto: " + solicitudCEN.DameSolicidudesPorUsuarioYProyecto(OIDProyecto, OIDUsuario).Count); Console.WriteLine("DameSolicitudesPendientesPorProyectoDe: " + solicitudCEN.DameSolicitudesPendientesPorProyectoDeUsuario(OIDProyecto, OIDUsuario).Count); solicitudCEN.EnviarSolicitud(OIDSolicitud2); solicitudCEN.Destroy(OIDSolicitud); Console.WriteLine("Solicitud con OID " + OIDSolicitud2 + ": " + solicitudCEN.ReadOID(OIDSolicitud2).Id); Console.WriteLine("Solicitudes totales: " + solicitudCEN.ReadAll(0, -1).Count); Console.WriteLine("Proyecto con OID " + OIDProyecto + ": " + proyectoCEN.ReadOID(OIDProyecto).Id); proyectoCP.Destroy(OIDProyecto); Console.WriteLine("Proyectos totales: " + proyectoCEN.ReadAll(0, -1).Count); /*MENSAJES*/ MensajeCEN mensajeCEN = new MensajeCEN(); int OIDMensaje = mensajeCEN.New_("Esto es un mensaje", "Mi primerito mensaje", OIDUsuario, OIDUsuario, null); Console.WriteLine("Mensajes por receptor: " + mensajeCEN.DameMensajesPorReceptor(OIDUsuario).Count); Console.WriteLine("Mensajes por autor: " + mensajeCEN.DameMensajesPorAutor(OIDUsuario).Count); mensajeCEN.CambiarEstado(OIDMensaje, MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoLecturaEnum.Leido); Console.WriteLine("Mensajes por autor filtrados (Archivados) : " + mensajeCEN.DameMensajesPorAutorFiltrados(OIDUsuario, DateTime.Parse("01/01/2030"), DateTime.Parse("01/01/1800"), MultitecUAGenNHibernate.Enumerated.MultitecUA.BandejaMensajeEnum.Archivado).Count); Console.WriteLine("Mensajes por receptor filtrados (Archivados) : " + mensajeCEN.DameMensajesPorReceptorFiltrados(OIDUsuario, DateTime.Parse("01/01/2030"), DateTime.Parse("01/01/1800"), MultitecUAGenNHibernate.Enumerated.MultitecUA.BandejaMensajeEnum.Archivado).Count); mensajeCEN.CambiarBandejaAutor(OIDMensaje, MultitecUAGenNHibernate.Enumerated.MultitecUA.BandejaMensajeEnum.Archivado); mensajeCEN.CambiarBandejaReceptor(OIDMensaje, MultitecUAGenNHibernate.Enumerated.MultitecUA.BandejaMensajeEnum.Archivado); Console.WriteLine("Mensajes por autor filtrados (Archivados) : " + mensajeCEN.DameMensajesPorAutorFiltrados(OIDUsuario, DateTime.Parse("01/01/2030"), DateTime.Parse("01/01/1800"), MultitecUAGenNHibernate.Enumerated.MultitecUA.BandejaMensajeEnum.Archivado).Count); Console.WriteLine("Mensajes por receptor filtrados (Archivados) : " + mensajeCEN.DameMensajesPorReceptorFiltrados(OIDUsuario, DateTime.Parse("01/01/2030"), DateTime.Parse("01/01/1800"), MultitecUAGenNHibernate.Enumerated.MultitecUA.BandejaMensajeEnum.Archivado).Count); mensajeCEN.EnviarMensaje(OIDMensaje); Console.WriteLine("Mensajes totales: " + mensajeCEN.ReadAll(0, -1).Count); Console.WriteLine("Mensajes con OID " + OIDMensaje + ": " + mensajeCEN.ReadOID(OIDMensaje).Id); mensajeCEN.Destroy(OIDMensaje); /*SERVICIOS*/ ServicioCEN servicioCEN = new ServicioCEN(); int OIDServicio = servicioCEN.New_("Hosting", "Servicio de alojamiento web", MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoServicioEnum.Disponible, null); servicioCEN.Modify(OIDServicio, "Hosting Ilimitado", "Servicio de alojamiento web sin limites", MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoServicioEnum.Disponible, null); OIDServicio = servicioCEN.New_("Prueba", "Probando el insertar mas servicios para ver si funciona la fecha", MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoServicioEnum.NoDisponible, null); OIDServicio = servicioCEN.New_("Borrar", "Pues... Aqui voy a probar que funcione el destroy", MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoServicioEnum.Disponible, null); servicioCEN.Destroy(OIDServicio); OIDServicio = servicioCEN.New_("Borrar2", "Este realmente se va a quedar", MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoServicioEnum.Disponible, null); IList <ServicioEN> listaServicios = servicioCEN.ReadAll(0, -1); Console.WriteLine("**** LISTANDO LOS SERVICIOS"); foreach (ServicioEN elemento in listaServicios) { Console.WriteLine(elemento.Nombre + " " + elemento.Estado); } servicioCEN.CambiarDisponibilidad(OIDServicio, MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoServicioEnum.NoDisponible); listaServicios = servicioCEN.ReadAll(0, -1); Console.WriteLine("**** LISTANDO LOS SERVICIOS"); foreach (ServicioEN elemento in listaServicios) { Console.WriteLine(elemento.Nombre + " " + elemento.Estado); } IList <ServicioEN> listaServiciosNoDispo = servicioCEN.DameServiciosPorEstado(MultitecUAGenNHibernate.Enumerated.MultitecUA.EstadoServicioEnum.NoDisponible); Console.WriteLine("********* SERVICIOS NO DISPONIBLES"); foreach (ServicioEN elemento in listaServiciosNoDispo) { Console.WriteLine(elemento.Nombre + " " + elemento.Estado); } /*RECUERDO*/ RecuerdoCEN recuerdoCEN = new RecuerdoCEN(); int OIDRecuerdo = recuerdoCEN.New_("Recuerdo1", "esto es un recuerdo", OIDEvento, null); recuerdoCEN.Modify(OIDRecuerdo, "Recuerdo", "Esto es un recuerdo modificado", null); OIDRecuerdo = recuerdoCEN.New_("Recuerdo2", "Este es un segundo recuerdo", OIDEvento, null); OIDRecuerdo = recuerdoCEN.New_("Recuerdo3", "Haciendo mas recuerdos", OIDEvento, null); OIDRecuerdo = recuerdoCEN.New_("Recuerdo4", "Otro recuerdo", OIDEvento, null); IList <RecuerdoEN> listaRecuerdosFiltro = recuerdoCEN.DameRecuerdosPorProyecto(OIDEvento); Console.WriteLine("**** FILTRO DE RECUERDOS ******"); foreach (RecuerdoEN elemento in listaRecuerdosFiltro) { Console.WriteLine(elemento.Titulo + ": " + elemento.Cuerpo); } eventoCP.Destroy(OIDEvento); /*NOTICIA*/ NoticiaCEN noticiaCEN = new NoticiaCEN(); int OIDNoticia = noticiaCEN.New_("Noticia 1", "cuerpo", null); noticiaCEN.Modify(OIDNoticia, "Noticia 1 Modificada", "Noticion informativo", null); OIDNoticia = noticiaCEN.New_("Noticia 2", "cuerpo", null); OIDNoticia = noticiaCEN.New_("Noticia 3", "cuerpo", null); OIDNoticia = noticiaCEN.New_("Noticia 4", "cuerpo", null); OIDNoticia = noticiaCEN.New_("Noticia 5", "cuerpo", null); OIDNoticia = noticiaCEN.New_("Noticia 6", "cuerpo", null); OIDNoticia = noticiaCEN.New_("Noticia 7", "cuerpo", null); foreach (NoticiaEN noticia in noticiaCEN.DameNUltimasNoticias(4)) { Console.WriteLine(noticia.Titulo + ": " + noticia.Cuerpo); } Console.WriteLine(noticiaCEN.ReadAll(0, -1).Count); noticiaCEN.ReadOID(OIDNoticia); noticiaCEN.Destroy(OIDNoticia); /*NOTIFICACION USUARIO*/ NotificacionUsuarioCEN notificacionUsuarioCEN = new NotificacionUsuarioCEN(); Console.WriteLine("Notificaciones por usuario: " + notificacionUsuarioCEN.DameNotificacionesPorUsuario(OIDUsuario).Count); Console.WriteLine("Notificaciones no leidas por usuario: " + notificacionUsuarioCEN.DameNotificacionesNoLeidasPorUsuario(OIDUsuario).Count); notificacionUsuarioCEN.LeerNotificacion(notificacionUsuarioCEN.DameNotificacionesPorUsuario(OIDUsuario) [0].Id); Console.WriteLine("Notificaciones no leidas por usuario: " + notificacionUsuarioCEN.DameNotificacionesNoLeidasPorUsuario(OIDUsuario).Count); Console.WriteLine("Todo ha ido bien"); /*PROTECTED REGION END*/ } catch (Exception ex) { System.Console.WriteLine(ex.InnerException); throw ex; } }
// POST: Solicitud/EnviarSolicitudPost/ public ActionResult EnviarSolicitudPost(int proyectoId) { if (Session["usuario"] == null) { return(RedirectToAction("Login", "Sesion")); } UsuarioCEN usuarioCEN = new UsuarioCEN(); UsuarioEN usuarioEN = usuarioCEN.ReadNick(Session["usuario"].ToString()); ProyectoCEN proyectoCEN = new ProyectoCEN(); ProyectoEN proyectoEN = proyectoCEN.ReadOID(proyectoId); SolicitudCEN solicitudCEN = new SolicitudCEN(); try { SessionInitialize(); UsuarioCAD usuarioCAD = new UsuarioCAD(session); MensajeCAD solicitudCAD = new MensajeCAD(session); bool denegar = false; //No crear solicitud si ya existe una solicitud aceptada o pendiente foreach (SolicitudEN e in solicitudCEN.DameSolicidudesPorUsuarioYProyecto(proyectoEN.Id, usuarioEN.Id)) { if (e.Estado.ToString() == "Pendiente" || e.Estado.ToString() == "Aceptada") { denegar = true; } } if (denegar) { ViewData["mal"] = "El proyecto " + proyectoEN.Nombre + " ya tiene una solicitud Pendiente o Aceptada del usuario " + usuarioEN.Nick; ViewData["esParticpante"] = "true"; SessionClose(); //return RedirectToAction("../Proyecto/Detalles", proyectoEN); return(View("./VistaUsuario/EnviarSolicitud", proyectoEN)); } if (!denegar) { ViewData["titulo"] = "Se envió correctamente una solicitud al proyecto " + proyectoEN.Nombre; ViewData["esParticpante"] = "true"; } //Creamos solicitud int solicitudId = solicitudCEN.New_(usuarioEN.Id, proyectoEN.Id); solicitudCEN.EnviarSolicitud(solicitudId); SessionClose(); //return RedirectToAction("../Proyecto/Detalles", proyectoEN); return(View("./VistaUsuario/EnviarSolicitud", proyectoEN)); } catch { ViewData["mal"] = "Ocurrio un problema al intentar crear la solicitud "; SessionClose(); //return RedirectToAction("../Proyecto/Detalles", proyectoEN); return(View("./VistaUsuario/EnviarSolicitud", proyectoEN)); } }
public ActionResult FiltroUsuarioProyectoEstado(int?pag, FormCollection filtro) { if (filtro == null) { //Falta el mensajito de pagina no encontraada return(RedirectToAction("Index")); } SessionInitialize(); UsuarioCAD usuarioCAD = new UsuarioCAD(session); MensajeCAD solicitudCAD = new MensajeCAD(session); UsuarioCEN usuarioCEN = new UsuarioCEN(); ProyectoCEN proyectoCEN = new ProyectoCEN(); SolicitudCEN solicitudCEN = new SolicitudCEN(); ArrayList listaEstados = new ArrayList(); listaEstados.Add("Todos"); listaEstados.Add("Pendiente"); listaEstados.Add("Aceptada"); listaEstados.Add("Rechazada"); ViewData["estados"] = listaEstados; IList <SolicitudEN> listaSolicitudes = new List <SolicitudEN>(); IList <SolicitudEN> aux = new List <SolicitudEN>(); listaSolicitudes = solicitudCEN.ReadAll(0, -1); aux = solicitudCEN.ReadAll(0, -1); if (filtro["proyecto"] != "") { //Optenemos el Id del proyecto por el que queremos filtrar ProyectoEN proyectoEN = proyectoCEN.ReadNombre(filtro["proyecto"]); if (proyectoEN == null) { TempData["mal"] = "No existe ningún proyecto de nombre " + filtro["proyecto"]; return(RedirectToAction("Index")); } //Eliminamos las solicitudes que no tengan ese proyecto foreach (SolicitudEN s in listaSolicitudes) { if (s.ProyectoSolicitado.Id != proyectoEN.Id) { aux.Remove(s); } } ViewData["filtro"] = filtro["proyecto"] + " (Proyecto) "; } if (filtro["usuario"] != "") { //Optenemos el Id del usuario por el que queremos filtrar UsuarioEN usuarioEN = usuarioCEN.ReadNick(filtro["usuario"]); //Eliminamos las solicitudes que no tengan ese usuario if (usuarioEN == null) { TempData["mal"] = "No existe ningún usuario con el Nick " + filtro["usuario"]; return(RedirectToAction("Index")); } foreach (SolicitudEN s in listaSolicitudes) { if (s.UsuarioSolicitante.Id != usuarioEN.Id) { aux.Remove(s); } } ViewData["filtro"] = ViewData["filtro"] + filtro["usuario"] + " (Usuario) "; } if (filtro["estado"] != "" && filtro["estado"] != "Todos") { //Eliminamos las solicitudes que no tengan ese estado foreach (SolicitudEN s in listaSolicitudes) { if (s.Estado.ToString() != filtro["estado"]) { aux.Remove(s); } } ViewData["filtro"] = ViewData["filtro"] + filtro["estado"] + " (Estado) "; } if (listaSolicitudes.Count <= 0) { TempData["mal"] = "No hay resultados con esos filtros"; } listaSolicitudes = aux; //Paginacion int tamPag = 10; int numPags = (listaSolicitudes.Count - 1) / tamPag; if (pag == null || pag < 0) { pag = 0; } else if (pag >= numPags) { pag = numPags; } int inicio = (int)pag * tamPag; numPags = (listaSolicitudes.Count - 1) / tamPag; if (pag == null || pag < 0) { pag = 0; } else if (pag >= numPags) { pag = numPags; } ViewData["pag"] = pag; ViewData["numeroPaginas"] = numPags; IEnumerable <Solicitud> solicitudes = new AssemblerSolicitud().ConvertListENToModel(listaSolicitudes).ToList(); SessionClose(); return(View(solicitudes)); }
public static void InitializeData() { /*PROTECTED REGION ID(initializeDataMethod) ENABLED START*/ try { // Insert the initilizations of entities using the CEN classes //prueba cambio // p.e. CustomerCEN customer = new CustomerCEN(); // customer.New_ (p_user:"******", p_password:"******"); //lub_lecCEN club = new Club_lecCEN(); // w DateTime(2020, 11, 21), //creamos USUARIOS y ADMINS UsuarioCEN usuCEN = new UsuarioCEN(); int idUSU1 = usuCEN.New_("password", "*****@*****.**", "fotoperf", "usu1", 0); int idUSU2 = usuCEN.New_("password", "*****@*****.**", "fotoperf", "usu2", 0); int idUSU3 = usuCEN.New_("password", "*****@*****.**", "fotoperf", "usu3", 0); AdminCEN adCEN = new AdminCEN(); int idAD1 = adCEN.New_("password", "*****@*****.**", "fotoperf", "Admin1", 0); //creamos AUTORES AutorCEN auCEN = new AutorCEN(); int idAUT = auCEN.New_("Edgar Allan Poe", 0, new DateTime(2020, 01, 22), "foto.png"); int idAUT2 = auCEN.New_("Laura Gallego", 0, new DateTime(2020, 01, 22), "foto2.png"); //creamos LIBROS LibroCEN libCEN = new LibroCEN(); int idLIB = libCEN.PublicarLibro("El cuervo", "Terror", new DateTime(2020, 01, 22), "ingles", "Portada.jpg", 4.4, "enlacecompra.com", 200, 50, idUSU1, 0, idAUT); int idLIB2 = libCEN.PublicarLibro("El cuervo 2", "Terror 2", new DateTime(2020, 01, 22), "ingles 2", "Portada2.jpg", 4.4, "enlacecompra2.com", 200, 60, idUSU3, 0, idAUT); int idLIB3 = libCEN.PublicarLibro("El cuervo 3", "Terror 3", new DateTime(2020, 01, 22), "ingles 3", "Portada3.jpg", 4.4, "enlacecompra3.com", 200, 300, idUSU1, 1, idAUT); int idLIB4 = libCEN.PublicarLibro("El cuervo 4", "Terror 4", new DateTime(2020, 01, 22), "ingles 4", "Portada4.jpg", 4.4, "enlacecompra4.com", 200, 30, idUSU1, 1, idAUT); int idLIB5 = libCEN.PublicarLibro("El cuervo 5", "Terror 5", new DateTime(2020, 01, 22), "ingles 5", "Portada5.jpg", 4.4, "enlacecompra5.com", 500, 30, idUSU1, 1, idAUT); int idLIB6 = libCEN.PublicarLibro("Memorias de idhun", "Drama", new DateTime(2020, 01, 22), "español", "Portada6.jpg", 4.4, "enlacecompra6.com", 500, 30, idUSU2, 1, idAUT2); //creamos PUNTUACION PuntuacionCEN punCEN = new PuntuacionCEN(); int idPUN = punCEN.New_(4, idUSU1, idLIB); //creamos CLUB con un libro Club_lecCEN clubCEN = new Club_lecCEN(); int idCLUB = clubCEN.New_(new DateTime(2020, 12, 22), 150, true, idLIB); //creamos COMENTARIO con un libro y usuario ComentarioCEN comCEN = new ComentarioCEN(); int idCOM = comCEN.PublicarComentario("titulo", new DateTime(2020, 01, 22), "contenido texto etc este es amigo", idLIB, idUSU2, 125); int idCOM2 = comCEN.PublicarComentario("titulo", new DateTime(2020, 01, 22), "contenido texto etc este no es amigo", idLIB, idUSU2, 120); //creamos SOLICITUD AMISTAD y la inciamos ACEPTADA SolicitudCEN soliCEN = new SolicitudCEN(); int idSOLI = soliCEN.CrearSolicitud(TiposolicitudEnum.aceptado, idUSU1, idUSU2); //cen customizado y ver que esta pendiente //creamos LISTA ListaCEN lisCEN = new ListaCEN(); int idLIS = lisCEN.New_(TipolistaEnum.favorito, idUSU1); /* ==== NUEVA COMPRA ====*/ CompraCP compraCP = new CompraCP(); compraCP.New_(idUSU1, idLIB, "paypal", "87237136763-CV123", new DateTime(2020, 01, 22), "terminal", "amazon"); // Mostramos por pantalla con un console log que se han actualizado las compras del libro LibroEN libEN = libCEN.ReadOID(idLIB); // Primero sacamos el libro actual UsuarioEN usuEN = usuCEN.ReadOID(libEN.Creador.UsuarioID); // Sacamos el usuario asociado a la id del libro Console.WriteLine("Las compras del libro con nombre \"" + libEN.Nombre + "\" son: " + libEN.Compras); Console.WriteLine("El usuario: " + usuEN.Nombre + " ha recibido " + libEN.Precio + "EUROS. Su total ahora es de: " + usuEN.Dineroventa); /* ==== NUEVA COMPRA ====*/ compraCP.New_(idUSU2, idLIB, "mastercard", "2828282828-C33", new DateTime(2020, 01, 22), "terminal2", "amazon"); // Mostramos por pantalla con un console log que se han actualizado las compras del libro libEN = libCEN.ReadOID(idLIB); // Primero sacamos el libro actual usuEN = usuCEN.ReadOID(libEN.Creador.UsuarioID); // Sacamos el usuario asociado a la id del libro Console.WriteLine("Las compras del libro con nombre \"" + libEN.Nombre + "\" son: " + libEN.Compras); Console.WriteLine("El usuario: " + usuEN.Nombre + " ha recibido " + libEN.Precio + "EUROS. Su total ahora es de: " + usuEN.Dineroventa); /* ==== NUEVA COMPRA ====*/ compraCP.New_(idUSU2, idLIB2, "mastercard", "2828282828-C33", new DateTime(2020, 01, 22), "terminal2", "amazon"); // Mostramos por pantalla con un console log que se han actualizado las compras del libro libEN = libCEN.ReadOID(idLIB2); // Primero sacamos el libro actual usuEN = usuCEN.ReadOID(libEN.Creador.UsuarioID); // Sacamos el usuario asociado a la id del libro Console.WriteLine("Las compras del libro con nombre \"" + libEN.Nombre + "\" son: " + libEN.Compras); Console.WriteLine("El usuario: " + usuEN.Nombre + " ha recibido " + libEN.Precio + "EUROS. Su total ahora es de: " + usuEN.Dineroventa); // ACEPTAR SOLICITUD /* * try * { * solCEN.aceptar(idSol1); * } * catch (Exception e) * { * System.Console.WriteLine(e.Message); * } * * solCEN.aceptar(idSol1); * * SolicitudEN solEN = new SolicitudCAD().ReadOIDDefault(idSol1); * Console.WriteLine("La solicitud ha sido aceptada"); */ // ZONA FILTROS Console.WriteLine("==== FILTROS ===="); Console.WriteLine(":::::Lista de usuarios registrados:::::"); IList <UsuarioEN> listaUsus = usuCEN.ReadFilter(); foreach (UsuarioEN usu in listaUsus) { Console.WriteLine("Nombre:" + usu.Nombre + " Email:" + usu.Mail); } Console.WriteLine(":::::::::::::::::::::::::::::::::::::::"); Console.WriteLine(); Console.WriteLine(":::::Filtrado de comentarios:::::"); Console.WriteLine("Lista comentarios filtrados por paginas (100)"); IList <ComentarioEN> listaCom = comCEN.ReadFilter(100); foreach (ComentarioEN com in listaCom) { Console.WriteLine("Autor: " + com.Titulo); Console.WriteLine("Comentario: " + com.Contenido); Console.WriteLine(); } Console.WriteLine(":::::::::::::::::::::::::::::::::::::::"); Console.WriteLine(); Console.WriteLine(":::::Lista libros por precio:::::"); Console.WriteLine(" Un filtro por los mas caros a partir de un precio (establecido por nosotros, 500)"); IList <LibroEN> listaLibros = libCEN.ReadFilter(500); foreach (LibroEN libro in listaLibros) { Console.WriteLine("Libro: " + libro.Nombre + " Precio: " + libro.Precio); } Console.WriteLine(":::::::::::::::::::::::::::::::::::::::"); Console.WriteLine(); Console.WriteLine(":::::Bestsellers de un vendedor:::::"); Console.WriteLine(" Un filtro de libros por el dinero total que han dado a un usuario concreto (usu1)"); usuEN = usuCEN.ReadOID(idUSU1); listaLibros = libCEN.FiltroBestSeller(usuEN.Mail); foreach (LibroEN libro in listaLibros) { double precio = libro.Precio * (double)libro.Compras; Console.WriteLine("Libro: " + libro.Nombre + " con " + libro.Compras + " unidades a un precio de " + libro.Precio + " // Total ingresos: " + precio); } Console.WriteLine(":::::::::::::::::::::::::::::::::::::::"); /*PROTECTED REGION END*/ } catch (Exception ex) { System.Console.WriteLine(ex.InnerException); throw ex; } }
// GET: Solicitud/AdministrarSolicitudes public ActionResult AdministrarSolicitudes(int proyectoId, int?pag) { if (Session["usuario"] == null) { return(RedirectToAction("Login", "Sesion")); } SessionInitialize(); UsuarioCAD usuarioCAD = new UsuarioCAD(session); MensajeCAD solicitudCAD = new MensajeCAD(session); SolicitudCEN solicitudCEN = new SolicitudCEN(); UsuarioCEN usuarioCEN = new UsuarioCEN(); UsuarioEN usuarioEN = usuarioCEN.ReadNick(Session["usuario"].ToString()); ProyectoCEN proyectoCEN = new ProyectoCEN(); ProyectoEN proyectoEN = proyectoCEN.ReadOID(proyectoId); if (proyectoEN == null) { TempData["mal"] = "No existe ningún proyecto con la id " + proyectoId; return(RedirectToAction("../Proyecto/ProyectosPresentados")); } ViewData["nombreProyecto"] = proyectoEN.Nombre; ViewData["proyectoId"] = proyectoId; IList <SolicitudEN> listaSolicitudes = new List <SolicitudEN>(); IList <SolicitudEN> aux = new List <SolicitudEN>(); listaSolicitudes = solicitudCEN.ReadAll(0, -1); aux = solicitudCEN.ReadAll(0, -1); //Eliminamos las solicitudes que no tengan ese proyecto foreach (SolicitudEN s in listaSolicitudes) { if (s.ProyectoSolicitado.Id != proyectoEN.Id) { aux.Remove(s); } } ViewData["filtro"] = proyectoEN.Nombre + " (Proyecto) "; listaSolicitudes = aux; //Paginacion int tamPag = 10; int numPags = (listaSolicitudes.Count - 1) / tamPag; if (pag == null || pag < 0) { pag = 0; } else if (pag >= numPags) { pag = numPags; } int inicio = (int)pag * tamPag; numPags = (listaSolicitudes.Count - 1) / tamPag; if (pag == null || pag < 0) { pag = 0; } else if (pag >= numPags) { pag = numPags; } ViewData["pag"] = pag; ViewData["numeroPaginas"] = numPags; IEnumerable <Solicitud> solicitudes = new AssemblerSolicitud().ConvertListENToModel(listaSolicitudes).ToList(); SessionClose(); return(View("./VistaUsuario/AdministrarSolicitudes", solicitudes)); }
public MultitecUAGenNHibernate.EN.MultitecUA.SolicitudEN New_(int p_usuarioSolicitante, int p_proyectoSolicitado) { /*PROTECTED REGION ID(MultitecUAGenNHibernate.CP.MultitecUA_Solicitud_new_) ENABLED START*/ ISolicitudCAD solicitudCAD = null; SolicitudCEN solicitudCEN = null; MultitecUAGenNHibernate.EN.MultitecUA.SolicitudEN result = null; try { SessionInitializeTransaction(); solicitudCAD = new SolicitudCAD(session); solicitudCEN = new SolicitudCEN(solicitudCAD); int oid; //Initialized SolicitudEN SolicitudEN solicitudEN; solicitudEN = new SolicitudEN(); if (p_usuarioSolicitante != -1) { solicitudEN.UsuarioSolicitante = new MultitecUAGenNHibernate.EN.MultitecUA.UsuarioEN(); solicitudEN.UsuarioSolicitante.Id = p_usuarioSolicitante; } if (p_proyectoSolicitado != -1) { solicitudEN.ProyectoSolicitado = new MultitecUAGenNHibernate.EN.MultitecUA.ProyectoEN(); solicitudEN.ProyectoSolicitado.Id = p_proyectoSolicitado; } solicitudEN.Fecha = DateTime.Now; solicitudEN.Estado = Enumerated.MultitecUA.EstadoSolicitudEnum.Pendiente; //Call to SolicitudCAD oid = solicitudCAD.New_(solicitudEN); result = solicitudCAD.ReadOIDDefault(oid); SessionCommit(); } catch (Exception ex) { SessionRollBack(); throw ex; } finally { SessionClose(); } return(result); /*PROTECTED REGION END*/ }
public ActionResult Create(Solicitud solicitud) { if (Session["usuario"] == null) { return(RedirectToAction("Login", "Sesion")); } if (Session["esAdmin"].ToString() == "false") { return(View("../NoAdministrador")); } if (Session["modoAdmin"].ToString() == "false") { Session["modoAdmin"] = "true"; } try { UsuarioCEN usuarioCEN = new UsuarioCEN(); UsuarioEN usuarioEN = usuarioCEN.ReadNick(solicitud.Nick_Solicitante); ProyectoCEN proyectoCEN = new ProyectoCEN(); ProyectoEN proyectoEN = proyectoCEN.ReadNombre(solicitud.Nombre_Proyecto); SolicitudCEN solicitudCEN = new SolicitudCEN(); bool denegar = false; //No crear usuarios nuevos si ya existe una solicitud aceptada foreach (SolicitudEN e in solicitudCEN.DameSolicidudesPorUsuarioYProyecto(proyectoEN.Id, usuarioEN.Id)) { if (e.Estado.ToString() == "Pendiente" || e.Estado.ToString() == "Aceptada") { denegar = true; TempData["mal"] = "El proyecto " + proyectoEN.Nombre + " ya tiene una solicitud Pendiente o Aceptada del usuario " + usuarioEN.Nick; } } //Denegar si alguno de los proyectos en los que participa ese usuario es el proyecto que esta solicitando participar foreach (UsuarioEN e in usuarioCEN.DameParticipantesProyecto(proyectoEN.Id)) { if (e.Id == usuarioEN.Id) { denegar = true; TempData["mal"] = "El usuario " + usuarioEN.Nick + " ya participa en el proyecto " + proyectoEN.Nombre; } } if (denegar) { return(RedirectToAction("Index")); } if (!denegar) { TempData["bien"] = "Se ha creado correctamente una solicitud del usuario " + usuarioEN.Nick + " al proyecto " + proyectoEN.Nombre; } int solicitudId = solicitudCEN.New_(usuarioEN.Id, proyectoEN.Id); solicitudCEN.EnviarSolicitud(solicitudId); return(RedirectToAction("Index")); } catch { TempData["mal"] = "Ocurrió un problema al intentar crear la solicitud "; return(RedirectToAction("Index")); } }