public List <SeccionDTO> GenerarEncuestaPrueba() { List <SeccionDTO> listaSeccion = new List <SeccionDTO>(); for (int i = 0; i < 4; i++) { SeccionDTO nuevoS = new SeccionDTO(); nuevoS.Nombre = "Seccion" + i.ToString(); nuevoS.IdEncuesta = 1; nuevoS.Orden = i; List <PreguntaDTO> listaPregunta = new List <PreguntaDTO>(); for (int j = 0; j < 4; j++) { PreguntaDTO nuevaP = new PreguntaDTO(); nuevaP.IdPregunta = (10 + i) * 10 + j; switch (j) { case 0: nuevaP.Descripcion = "¿Como calificaria el servicio ofrecido durante los 3 ultimos meses?"; break; case 1: nuevaP.Descripcion = "¿Como calificarias el desempeño de los trabajadores?"; break; case 2: nuevaP.Descripcion = "¿Como calificarias la calidad de respuesta de tu asesor?"; break; case 3: nuevaP.Descripcion = "¿Como calificarias el nivel de atención de los profesionales asociados?"; break; } nuevaP.IdSeccion = i; nuevaP.OrdenPregunta = j; listaPregunta.Add(nuevaP); } List <SeccionDTO> listaSecciones = new List <SeccionDTO>(); for (int k = 0; k < 4; k++) { SeccionDTO auxSec = new SeccionDTO(); auxSec.IdSeccionPadre = i; auxSec.IdSeccion = k; auxSec.Nombre = "SeccionAux" + k.ToString(); auxSec.Orden = k; listaSecciones.Add(auxSec); } nuevoS.Preguntas = listaPregunta; nuevoS.SubSecciones = listaSecciones; listaSeccion.Add(nuevoS); } return(listaSeccion); }
public SeccionDTO Create(SeccionDTO dto) { // Mapeamos el dto a la entidad, la añadimos al contexto, guardamos y devolvemos el dto mapeado var model = _mapper.Map <Seccion>(dto); _context.Secciones.Add(model); _context.SaveChanges(); return(_mapper.Map <SeccionDTO>(model)); }
/// <summary> /// Obtiene una sección /// </summary> /// <param name="id_seleccion">Id de la selección</param> /// <returns></returns> public SeccionDTO getSeleccion(int id_seleccion) { SeccionDTO seccion = new SeccionDTO(); using (var hospitalDB = new HospitalDB()) { seccion = hospitalDB.seccion.Find(id_seleccion); } return(seccion); }
public ActionResult AddSeccion(SeccionDTO dto) { if (!this.currentUser()) { return(RedirectToAction("Ingresar")); } try { SeccionBL objBL = new SeccionBL(); if (dto.IdSeccion == 0) { if (objBL.add(dto)) { createResponseMessage(CONSTANTES.SUCCESS); return(RedirectToAction("Encuesta", new { id = dto.IdEncuesta })); } else { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE); } } else if (dto.IdSeccion != 0) { if (objBL.update(dto)) { createResponseMessage(CONSTANTES.SUCCESS); return(RedirectToAction("Encuesta", new { id = dto.IdEncuesta })); } else { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE); } } else { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_INSERT_MESSAGE); } } catch { if (dto.IdSeccion != 0) { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE); } else { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_INSERT_MESSAGE); } } TempData["Seccion"] = dto; return(RedirectToAction("Encuesta")); }
public bool add(SeccionDTO seccionDTO) { using (var context = getContext()) { try { Seccion seccion = new Seccion(); context.Seccion.Add(seccion); context.SaveChanges(); return(true); } catch (Exception e) { throw e; //return false; } } }
public bool update(SeccionDTO seccionDTO) { using (var context = getContext()) { try { var seccion = context.Seccion.Where(x => x.IdSeccion == seccionDTO.IdSeccion).SingleOrDefault(); seccion.Nombre = seccionDTO.Nombre; seccion.Orden = seccionDTO.Orden; seccion.EsSocio = seccionDTO.EsSocio; seccion.Estado = seccionDTO.Estado; context.SaveChanges(); seccionDTO.IdEncuesta = seccion.IdEncuesta; return(true); } catch (Exception e) { //throw e; return(false); } } }
public ActionResult ExportExcelDataReporte() { var data = (EncuestaDTO)Session["reporte"]; System.Data.DataTable dt = new System.Data.DataTable(); dt.Clear(); //int npre = data.listaReportePreguntas.Count; //int nper = data.listaReportePersonas.Count; dt.Columns.Add("Preguntas"); foreach (var persona in data.listaReportePersonas) { dt.Columns.Add(persona.Nombre); } dt.Columns.Add("Promedio por pregunta"); List <SeccionDTO> indices = new List <SeccionDTO>(); int cont = 7; int tempIdSeccion = 0; //Tabla Preguntas y Evaluados Detalle //for (int pre = 0; pre < npre; pre++) foreach (var pregunta in data.listaReportePreguntas) { if (tempIdSeccion == 0) { SeccionDTO nuevaSeccion = new SeccionDTO(); nuevaSeccion.Valor = cont; //nuevaSeccion.Nombre = data.listaReportePreguntas[pre].NombreSeccion; nuevaSeccion.Nombre = pregunta.NombreSeccion; indices.Add(nuevaSeccion); cont = 0; } else { if (tempIdSeccion != 0 && tempIdSeccion != pregunta.IdSeccion && pregunta.IdTipoRespuesta == 3)//data.listaReportePreguntas[pre].IdSeccion) { SeccionDTO nuevaSeccion = new SeccionDTO(); nuevaSeccion.Valor = indices[indices.Count - 1].Valor + cont + 1; //nuevaSeccion.Nombre = data.listaReportePreguntas[pre].NombreSeccion; nuevaSeccion.Nombre = pregunta.NombreSeccion; indices.Add(nuevaSeccion); cont = 0; } } tempIdSeccion = pregunta.IdSeccion; //tempIdSeccion = data.listaReportePreguntas[pre].IdSeccion; System.Data.DataRow row = dt.NewRow(); //row[0] = data.listaReportePreguntas[pre].Texto; if (pregunta.IdTipoRespuesta == 3) { row["Preguntas"] = pregunta.Texto; } //for (int j = 0; j < nper; j++) foreach (var evaluado in data.listaReportePersonas) { var promedio = data.listaReporteDetalle.Where(x => x.IdPregunta == pregunta.IdPregunta && x.IdEvaluado == evaluado.IdPersona && x.IdTipoRespuesta == 3).Select(x => x.PromedioPreguntaXEvaluado).SingleOrDefault(); row[evaluado.Nombre] = promedio.ToString(CultureInfo.InvariantCulture); } if (pregunta.IdTipoRespuesta == 3) { //Agregar Promedio General x pregunta row["Promedio por pregunta"] = pregunta.Promedio.ToString(CultureInfo.InvariantCulture); dt.Rows.Add(row); } cont++; } //Seccion para los Promedios por Persona SeccionDTO aux = new SeccionDTO(); aux.Valor = indices[indices.Count - 1].Valor + cont + 1; aux.Nombre = "Promedio por persona"; indices.Add(aux); //Row de Promedios generales por persona System.Data.DataRow rowPromPer = dt.NewRow(); rowPromPer["Preguntas"] = "Promedios Generales"; //for(int i=0; i<nper; i++) foreach (var evaluado in data.listaReportePersonas) { rowPromPer[evaluado.Nombre] = evaluado.Promedio.ToString(CultureInfo.InvariantCulture); } dt.Rows.Add(rowPromPer); GridView gv = new GridView(); gv.DataSource = dt; gv.AllowPaging = false; gv.DataBind(); if (dt.Rows.Count > 0) { AddSuperHeader(gv, "INFORME REPORTES 2014"); //Cabecera principal AddWhiteHeader(gv, 1, ""); AddWhiteHeader(gv, 2, "PROMEDIO GENERAL : " + data.PromedioGeneral.ToString(CultureInfo.InvariantCulture)); AddWhiteHeader(gv, 3, "CANTIDAD EVALUADORES : " + data.CantEvaluadores.ToString()); AddWhiteHeader(gv, 4, "CANTIDAD ENCUESTAS RESUELTAS : " + data.CantEncuestasResueltas.ToString()); AddWhiteHeader(gv, 5, ""); foreach (var item in indices) { AddHeader(gv, item.Valor, item.Nombre); } //Change the Header Row back to white color gv.HeaderRow.Style.Add("background-color", "#FFFFFF"); //Applying stlye to gridview header cells for (int i = 0; i < gv.HeaderRow.Cells.Count; i++) { gv.HeaderRow.Cells[i].Style.Add("background-color", "#b8bbc2"); } //This loop is used to apply stlye to cells based on particular row foreach (GridViewRow gvrow in gv.Rows) { gvrow.BackColor = System.Drawing.Color.White; gvrow.Style.Add("vertical-align", "middle"); } //for para no mostrar el row de comentarios Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment; filename=Reporte de Encuestas.xls"); Response.ContentType = "application/ms-excel"; Response.Charset = ""; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); gv.RenderControl(htw); Response.Output.Write(sw.ToString()); Response.Flush(); Response.End(); htw.Close(); sw.Close(); } return(View()); //RedirectToAction("Procesos"); }
public ActionResult <SeccionDTO> PostSeccion(SeccionDTO seccion) { return(Ok(_repository.Create(seccion))); }
public List<SeccionDTO> GenerarEncuestaPrueba() { List<SeccionDTO> listaSeccion = new List<SeccionDTO>(); for (int i = 0; i < 4; i++) { SeccionDTO nuevoS = new SeccionDTO(); nuevoS.Nombre = "Seccion" + i.ToString(); nuevoS.IdEncuesta = 1; nuevoS.Orden = i; List<PreguntaDTO> listaPregunta = new List<PreguntaDTO>(); for (int j = 0; j < 4; j++) { PreguntaDTO nuevaP = new PreguntaDTO(); nuevaP.IdPregunta = (10 + i) * 10 + j; switch (j) { case 0: nuevaP.Descripcion = "¿Como calificaria el servicio ofrecido durante los 3 ultimos meses?"; break; case 1: nuevaP.Descripcion = "¿Como calificarias el desempeño de los trabajadores?"; break; case 2: nuevaP.Descripcion = "¿Como calificarias la calidad de respuesta de tu asesor?"; break; case 3: nuevaP.Descripcion = "¿Como calificarias el nivel de atención de los profesionales asociados?"; break; } nuevaP.IdSeccion = i; nuevaP.OrdenPregunta = j; listaPregunta.Add(nuevaP); } List<SeccionDTO> listaSecciones = new List<SeccionDTO>(); for (int k = 0; k < 4; k++) { SeccionDTO auxSec = new SeccionDTO(); auxSec.IdSeccionPadre = i; auxSec.IdSeccion = k; auxSec.Nombre = "SeccionAux" + k.ToString(); auxSec.Orden = k; listaSecciones.Add(auxSec); } nuevoS.Preguntas = listaPregunta; nuevoS.SubSecciones = listaSecciones; listaSeccion.Add(nuevoS); } return listaSeccion; }
public ActionResult ExportExcelDataReporte() { var data = (EncuestaDTO)Session["reporte"]; System.Data.DataTable dt = new System.Data.DataTable(); dt.Clear(); //int npre = data.listaReportePreguntas.Count; //int nper = data.listaReportePersonas.Count; dt.Columns.Add("Preguntas"); foreach (var persona in data.listaReportePersonas) dt.Columns.Add(persona.Nombre); dt.Columns.Add("Promedio por pregunta"); List<SeccionDTO> indices = new List<SeccionDTO>(); int cont = 7; int tempIdSeccion = 0; //Tabla Preguntas y Evaluados Detalle //for (int pre = 0; pre < npre; pre++) foreach (var pregunta in data.listaReportePreguntas) { if (tempIdSeccion == 0) { SeccionDTO nuevaSeccion = new SeccionDTO(); nuevaSeccion.Valor = cont; //nuevaSeccion.Nombre = data.listaReportePreguntas[pre].NombreSeccion; nuevaSeccion.Nombre = pregunta.NombreSeccion; indices.Add(nuevaSeccion); cont = 0; } else { if (tempIdSeccion != 0 && tempIdSeccion != pregunta.IdSeccion && pregunta.IdTipoRespuesta == 3)//data.listaReportePreguntas[pre].IdSeccion) { SeccionDTO nuevaSeccion = new SeccionDTO(); nuevaSeccion.Valor = indices[indices.Count - 1].Valor + cont + 1; //nuevaSeccion.Nombre = data.listaReportePreguntas[pre].NombreSeccion; nuevaSeccion.Nombre = pregunta.NombreSeccion; indices.Add(nuevaSeccion); cont = 0; } } tempIdSeccion = pregunta.IdSeccion; //tempIdSeccion = data.listaReportePreguntas[pre].IdSeccion; System.Data.DataRow row = dt.NewRow(); //row[0] = data.listaReportePreguntas[pre].Texto; if(pregunta.IdTipoRespuesta == 3) row["Preguntas"] = pregunta.Texto; //for (int j = 0; j < nper; j++) foreach (var evaluado in data.listaReportePersonas) { var promedio = data.listaReporteDetalle.Where(x => x.IdPregunta == pregunta.IdPregunta && x.IdEvaluado == evaluado.IdPersona && x.IdTipoRespuesta == 3).Select(x => x.PromedioPreguntaXEvaluado).SingleOrDefault(); row[evaluado.Nombre] = promedio.ToString(CultureInfo.InvariantCulture); } if (pregunta.IdTipoRespuesta == 3) { //Agregar Promedio General x pregunta row["Promedio por pregunta"] = pregunta.Promedio.ToString(CultureInfo.InvariantCulture); dt.Rows.Add(row); } cont++; } //Seccion para los Promedios por Persona SeccionDTO aux = new SeccionDTO(); aux.Valor = indices[indices.Count - 1].Valor + cont + 1; aux.Nombre = "Promedio por persona"; indices.Add(aux); //Row de Promedios generales por persona System.Data.DataRow rowPromPer = dt.NewRow(); rowPromPer["Preguntas"] = "Promedios Generales"; //for(int i=0; i<nper; i++) foreach (var evaluado in data.listaReportePersonas) { rowPromPer[evaluado.Nombre] = evaluado.Promedio.ToString(CultureInfo.InvariantCulture); } dt.Rows.Add(rowPromPer); GridView gv = new GridView(); gv.DataSource = dt; gv.AllowPaging = false; gv.DataBind(); if (dt.Rows.Count > 0) { AddSuperHeader(gv, "INFORME REPORTES 2014"); //Cabecera principal AddWhiteHeader(gv, 1, ""); AddWhiteHeader(gv, 2, "PROMEDIO GENERAL : " + data.PromedioGeneral.ToString(CultureInfo.InvariantCulture)); AddWhiteHeader(gv, 3, "CANTIDAD EVALUADORES : " + data.CantEvaluadores.ToString()); AddWhiteHeader(gv, 4, "CANTIDAD ENCUESTAS RESUELTAS : " + data.CantEncuestasResueltas.ToString()); AddWhiteHeader(gv, 5, ""); foreach (var item in indices) { AddHeader(gv, item.Valor, item.Nombre); } //Change the Header Row back to white color gv.HeaderRow.Style.Add("background-color", "#FFFFFF"); //Applying stlye to gridview header cells for (int i = 0; i < gv.HeaderRow.Cells.Count; i++) { gv.HeaderRow.Cells[i].Style.Add("background-color", "#b8bbc2"); } //This loop is used to apply stlye to cells based on particular row foreach (GridViewRow gvrow in gv.Rows) { gvrow.BackColor = System.Drawing.Color.White; gvrow.Style.Add("vertical-align", "middle"); } //for para no mostrar el row de comentarios Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment; filename=Reporte de Encuestas.xls"); Response.ContentType = "application/ms-excel"; Response.Charset = ""; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); gv.RenderControl(htw); Response.Output.Write(sw.ToString()); Response.Flush(); Response.End(); htw.Close(); sw.Close(); } return View(); //RedirectToAction("Procesos"); }
public ActionResult AddSeccion(SeccionDTO dto) { if (!this.currentUser()) { return RedirectToAction("Ingresar"); } try { SeccionBL objBL = new SeccionBL(); if (dto.IdSeccion == 0) { if (objBL.add(dto)) { createResponseMessage(CONSTANTES.SUCCESS); return RedirectToAction("Encuesta", new { id = dto.IdEncuesta }); } else createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE); } else if (dto.IdSeccion != 0) { if (objBL.update(dto)) { createResponseMessage(CONSTANTES.SUCCESS); return RedirectToAction("Encuesta", new { id = dto.IdEncuesta }); } else createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE); } else createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_INSERT_MESSAGE); } catch { if (dto.IdSeccion != 0) createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE); else createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_INSERT_MESSAGE); } TempData["Seccion"] = dto; return RedirectToAction("Encuesta"); }