public ActionResult Resultados(int Votacion_ID) { try { this.VotacionesProxy = new ADESCOMBUSINESS.Areas.Votaciones.Methods.VotacionesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]); } catch (Exception ex) { return(RedirectToAction("SesionExpired", "Inicio", new { Area = "", Mensaje = ex.Message })); } ADESCOMBUSINESS.Areas.Votaciones.Models.VOT_Votaciones Votacion = new ADESCOMBUSINESS.Areas.Votaciones.Models.VOT_Votaciones(); Votacion = VotacionesProxy.GetByID(Votacion_ID); if (Votacion.VOT_Estatus.Equals("CAN") || Votacion.VOT_Estatus.Equals("ACT")) { @ViewBag.Error = "No hay resultados"; return(View("NoResults")); } else { //Llenar ResResultadoCompuesto ADESCOMBUSINESS.Areas.Votaciones.Models.ResResultadoCompuesto Resultado = new ADESCOMBUSINESS.Areas.Votaciones.Models.ResResultadoCompuesto(); Resultado.Votacion = Votacion; Resultado.Preguntas = new List <ADESCOMBUSINESS.Areas.Votaciones.Models.ResPreguntaCompuesta>(); //Traer preguntas de la votación List <ADESCOMBUSINESS.Areas.Votaciones.Models.VwVOT_Preguntas> ListaPreguntas = new List <ADESCOMBUSINESS.Areas.Votaciones.Models.VwVOT_Preguntas>(); ListaPreguntas = ADESCOMBUSINESS.Areas.Votaciones.Methods.PreguntasBusiness.GetByVotacion_ID((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], Votacion_ID); //bool primera = true; int participaron = 0; foreach (ADESCOMBUSINESS.Areas.Votaciones.Models.VwVOT_Preguntas Pregunta in ListaPreguntas) { List <ADESCOMBUSINESS.Areas.Votaciones.Models.ResRespuestaCompuesta> RespuestasCompuestas = new List <ADESCOMBUSINESS.Areas.Votaciones.Models.ResRespuestaCompuesta>(); RespuestasCompuestas = ADESCOMBUSINESS.Areas.Votaciones.Methods.OpcRespuestasBusiness.GetResultsByPregunta_ID((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], Votacion_ID, Pregunta.Pregunta_ID); ADESCOMBUSINESS.Areas.Votaciones.Models.ResPreguntaCompuesta PreguntaCompuesta = new ADESCOMBUSINESS.Areas.Votaciones.Models.ResPreguntaCompuesta(); PreguntaCompuesta.Pregunta = Pregunta; PreguntaCompuesta.Respuestas = new List <ADESCOMBUSINESS.Areas.Votaciones.Models.ResRespuestaCompuesta>(); foreach (ADESCOMBUSINESS.Areas.Votaciones.Models.ResRespuestaCompuesta RespuestaCompuesta in RespuestasCompuestas) { PreguntaCompuesta.Respuestas.Add(RespuestaCompuesta); //if (primera == true) //participaron++; participaron += RespuestaCompuesta.Votos; } Resultado.Preguntas.Add(PreguntaCompuesta); //primera = false; } if (Votacion.VOT_Padron <= 0) { ViewBag.Participacion = "0 (0.00%)"; } else { decimal porcPart = decimal.Round((decimal)(participaron * 100) / (decimal)Votacion.VOT_Padron, 2); ViewBag.Participacion = participaron.ToString() + " (" + porcPart.ToString() + "%)"; } return(View("Resultados", Resultado)); } }
public ActionResult CancelarConfirmed(int Votacion_ID) { ViewBag.Votacion_ID = Votacion_ID; try { this.VotacionesProxy = new ADESCOMBUSINESS.Areas.Votaciones.Methods.VotacionesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]); } catch (Exception ex) { return(RedirectToAction("SesionExpired", "Inicio", new { Area = "", Mensaje = ex.Message })); } OBJVOT_Votaciones = VotacionesProxy.GetByID(Votacion_ID); if (OBJVOT_Votaciones == null) { return(HttpNotFound()); } try { bool Status = VotacionesProxy.CancelarVotacion(Votacion_ID); if (!Status) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ViewBag.Error = "OK"; } catch (Exception ex) { ViewBag.Error = ex.Message; } return(View("Cancelar")); }
public ActionResult Editar(int Votacion_ID) { try { this.VotacionesProxy = new ADESCOMBUSINESS.Areas.Votaciones.Methods.VotacionesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]); } catch (Exception ex) { return(RedirectToAction("SesionExpired", "Inicio", new { Area = "", Mensaje = ex.Message })); } ADESCOMBUSINESS.Areas.Votaciones.Models.VotacionesCompuesto VotacionCompuesta = new ADESCOMBUSINESS.Areas.Votaciones.Models.VotacionesCompuesto(); ADESCOMBUSINESS.Areas.Votaciones.Models.VOT_Votaciones Votacion = new ADESCOMBUSINESS.Areas.Votaciones.Models.VOT_Votaciones(); Votacion = VotacionesProxy.GetByID(Votacion_ID); List <ADESCOMBUSINESS.Areas.Votaciones.Models.VwVOT_Preguntas> ListaPreguntas = new List <ADESCOMBUSINESS.Areas.Votaciones.Models.VwVOT_Preguntas>(); ListaPreguntas = ADESCOMBUSINESS.Areas.Votaciones.Methods.PreguntasBusiness.GetByVotacion_ID((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], Votacion_ID); VotacionCompuesta.Votacion = Votacion; VotacionCompuesta.Preguntas = ListaPreguntas; if (VotacionCompuesta.Votacion.VOT_Estatus.Equals("ACT")) { return(View("Editar", VotacionCompuesta)); } else { String Status = String.Empty; switch (VotacionCompuesta.Votacion.VOT_Estatus) { /*Nunca se va a dar este caso * case "ACT": * Status = "No Iniciada"; * break;*/ case "INI": Status = "Iniciada"; break; case "FIN": Status = "Finalizada"; break; case "CAN": Status = "Cancelada"; break; } ViewBag.Estatus = Status; return(View("Detalle", VotacionCompuesta)); } }
public ActionResult Editar(FormCollection Form) { bool error = false; int Votacion_ID = 0; bool TipoOperacion = false; try { this.VotacionesProxy = new ADESCOMBUSINESS.Areas.Votaciones.Methods.VotacionesBusiness((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"]); } catch (Exception ex) { return(RedirectToAction("SesionExpired", "Inicio", new { Area = "", Mensaje = ex.Message })); } Votacion_ID = Convert.ToInt32(Form["Votacion.Votacion_ID"]); TipoOperacion = Convert.ToBoolean(Form["tipo_operacion"]); ADESCOMBUSINESS.Areas.Votaciones.Models.VOT_Votaciones Registro = new ADESCOMBUSINESS.Areas.Votaciones.Models.VOT_Votaciones(); Registro = VotacionesProxy.GetByID(Votacion_ID); List <ADESCOMBUSINESS.Areas.Votaciones.Models.VwVOT_Preguntas> ListaPreguntas = new List <ADESCOMBUSINESS.Areas.Votaciones.Models.VwVOT_Preguntas>(); ListaPreguntas = ADESCOMBUSINESS.Areas.Votaciones.Methods.PreguntasBusiness.GetByVotacion_ID((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], Votacion_ID); if (String.IsNullOrEmpty(Form["Votacion.VOT_Titulo"])) { ModelState.AddModelError("Votacion.VOT_Titulo", "Campo requerido"); } if (String.IsNullOrEmpty(Form["Votacion.VOT_Fin"])) { ModelState.AddModelError("Votacion.VOT_Fin", "Campo requerido"); } else { Registro.VOT_Fin = Convert.ToDateTime(Form["Votacion.VOT_Fin"]); } Registro.VOT_Titulo = Form["Votacion.VOT_Titulo"]; Registro.VOT_SolComentarios = Form["Votacion.VOT_SolComentarios"].Contains("true") ? true : false; //GuardarCambios e Iniciar if (TipoOperacion == true) { if (Registro.VOT_Fin.Date < DateTime.Now.Date) { ModelState.AddModelError("Votacion.VOT_Fin", "La fecha de fin debe ser mayor o igual a la fecha de hoy"); } //Validar Preguntas y respuestas if (ListaPreguntas == null || ListaPreguntas.Count <= 0) { error = true; ViewBag.Error = "Se debe incluir al menos una pregunta con respuestas"; } else { bool tienenResp = true; foreach (ADESCOMBUSINESS.Areas.Votaciones.Models.VwVOT_Preguntas preg in ListaPreguntas) { List <ADESCOMBUSINESS.Areas.Votaciones.Models.VwVOT_OpcRespuestas> ListaRepuestas = new List <ADESCOMBUSINESS.Areas.Votaciones.Models.VwVOT_OpcRespuestas>(); ListaRepuestas = ADESCOMBUSINESS.Areas.Votaciones.Methods.OpcRespuestasBusiness.GetByPregunta_ID((ADESCOMBUSINESS.DataAccess.Models.LoginRS)Session["InfoUser"], preg.Pregunta_ID); if (ListaRepuestas == null || ListaRepuestas.Count <= 0) { tienenResp = false; break; } } if (!tienenResp) { error = true; ViewBag.Error = "Todas las preguntas deben tener repuestas"; } } } if (ModelState.IsValid && error == false) { try { if (TipoOperacion == true) { //GuardarCambios e Iniciar bool Status = VotacionesProxy.GuardarVotacion(Registro, true); if (!Status) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } } else { //Sólo Guardar bool Status = VotacionesProxy.GuardarVotacion(Registro, false); if (!Status) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } } ViewBag.Error = "OK"; } catch (Exception ex) { ViewBag.Error = ex.Message; } } ADESCOMBUSINESS.Areas.Votaciones.Models.VotacionesCompuesto VotacionCompuesta = new ADESCOMBUSINESS.Areas.Votaciones.Models.VotacionesCompuesto(); VotacionCompuesta.Votacion = Registro; VotacionCompuesta.Preguntas = ListaPreguntas; return(View(VotacionCompuesta)); }