示例#1
0
        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);
        }
示例#2
0
        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));
        }
示例#3
0
        /// <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);
        }
示例#4
0
 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"));
 }
示例#5
0
 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;
         }
     }
 }
示例#6
0
 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);
         }
     }
 }
示例#7
0
        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");
        }
示例#8
0
 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");
 }