public ActionResult ListarEventosDeOrganizador(string nombreEvento = "", string nombreOrganizador = "") { if (!this.esOrganizador() && !this.esAdmin()) { return(RedirectToAction("Logout", "Home", new { mensaje = @"Usted no tiene los permisos necesarios para utilizar el recurso. Por favor inicie sesión con las credenciales adecuadas" })); } EventoServicioContratadoViewModel vm = null; if (this.esOrganizador())//si el rol del usuario autenticado es Organizador { vm = new EventoServicioContratadoViewModel(); using (GestionEventosContext db = new GestionEventosContext()) { string org = Session["OrganizadorLogueado"].ToString(); //cargo los eventos asociados al Organizador autenticado vm.Eventos = db.Eventos.Include("Organizador").Include("TipoEvento").Where(p => p.Organizador.NombreOrganizador == org).ToList(); if (nombreEvento != "") {//cuando un evento es seleccionado en la vista se pasa el nombre del evento por parametro para cargar sus ServicioContratado ViewBag.NombreEvento = nombreEvento; vm.ServiciosContratados = db.ServicioContratados.Where(p => p.NombreEvento == nombreEvento).ToList(); } else { ViewBag.NombreEvento = null; } } } if (this.esAdmin())//si el rol del usuario autenticado es Administrador { vm = new EventoServicioContratadoViewModel(); using (GestionEventosContext db = new GestionEventosContext()) { //cargo la lista de Organizadores vm.Organizadores = db.Organizadores.ToList(); if (nombreOrganizador != "") {//al seleccionar un Organizador en la vista se pasa su nombre por parametro para cargar los eventos asociados al Organizador ViewBag.NombreOrganizador = nombreOrganizador; vm.Eventos = db.Eventos.Where(p => p.Organizador.NombreOrganizador == nombreOrganizador).ToList(); } else { ViewBag.NombreOrganizador = null; } if (nombreEvento != "") {//cuando un evento es seleccionado en la vista se pasa el nombre del evento por parametro para cargar sus ServicioContratado ViewBag.NombreEvento = nombreEvento; vm.ServiciosContratados = db.ServicioContratados.Where(p => p.NombreEvento == nombreEvento).ToList(); } else { ViewBag.NombreEvento = null; } } } return(View(vm)); }
public ActionResult CalificarProveedor(string nombreEvento = "") { if (!this.esOrganizador()) { return(RedirectToAction("Logout", "Home", new { mensaje = @"Usted no tiene los permisos necesarios para utilizar el recurso. Por favor inicie sesión con las credenciales adecuadas" })); } else { EventoServicioContratadoViewModel vm = new EventoServicioContratadoViewModel(); using (GestionEventosContext db = new GestionEventosContext()) { string org = Session["OrganizadorLogueado"].ToString(); //cargo los eventos realizados asociados al Organizador autenticado vm.Eventos = db.Eventos.Include("Organizador").Include("TipoEvento").Where(p => p.Fecha < DateTime.Now).Where(p => p.Realizado).Where(p => p.Organizador.NombreOrganizador == org).ToList(); if (nombreEvento != "") {//cuando un evento es seleccionado en la vista se pasa el nombre del evento por parametro para cargar sus ServicioContratado ViewBag.NombreEvento = nombreEvento; vm.ServiciosContratados = db.ServicioContratados.Where(p => p.NombreEvento == nombreEvento).ToList(); } else { ViewBag.NombreEvento = null; } } return(View(vm)); } }
public ActionResult EventosEntreFechas(DateTime?fechaInicial = null, DateTime?fechaFinal = null) { if (!this.esAdmin()) { return(RedirectToAction("Logout", "Home", new { mensaje = @"Usted no tiene los permisos necesarios para utilizar el recurso. Por favor inicie sesión con las credenciales adecuadas" })); } else { //Si la fecha inicial es mayor a la final devuelvo un error if (fechaInicial > fechaFinal) { ModelState.AddModelError("", "La fecha incial debe ser menor a la fecha final."); } EventoServicioContratadoViewModel vm = new EventoServicioContratadoViewModel(); using (GestionEventosContext db = new GestionEventosContext()) { if (ModelState.IsValid) { bool evaluarOtrosCasos = true; if (fechaInicial != null & fechaFinal != null) //si las dos fechas fueron ingresadas { evaluarOtrosCasos = false; //no evaluo los demas casos vm.Eventos = db.Eventos.Include("Organizador").Include("TipoEvento").Where(p => p.Fecha >= fechaInicial).Where(p => p.Fecha <= fechaFinal).ToList(); } if (evaluarOtrosCasos)//compruebo si fue ingresada alguna de las fechas o ninguna { if (fechaInicial != null) { vm.Eventos = db.Eventos.Include("Organizador").Include("TipoEvento").Where(p => p.Fecha >= fechaInicial).ToList(); } if (fechaFinal != null) { vm.Eventos = db.Eventos.Include("Organizador").Include("TipoEvento").Where(p => p.Fecha <= fechaFinal).ToList(); } if (fechaFinal == null && fechaInicial == null) { vm.Eventos = db.Eventos.Include("Organizador").Include("TipoEvento").ToList(); } } } } return(View(vm)); } }