/// <summary> /// Método que guarda la encuesta /// </summary> /// <param name="encuestaDTO">EL objeto de la encuesta</param> /// <returns>El id del que se inserto.</returns> public int save(EncuestaDTO encuestaDTO) { int i = 0; try { string sProceduce = "sva_SaveEncuesta"; using (DbCommand dbCommand = database.GetStoredProcCommand(sProceduce)) { database.AddOutParameter(dbCommand, "iIdEncuesta", DbType.Int16, encuestaDTO.iIdEncuesta); database.AddInParameter(dbCommand, "piIdAcceso", DbType.Int16, encuestaDTO.iIdAcceso); database.AddInParameter(dbCommand, "psTipoFolio", DbType.String, encuestaDTO.sTipoFolio); database.AddInParameter(dbCommand, "psFolio", DbType.String, encuestaDTO.sFolio == null ? "" : encuestaDTO.sFolio); database.AddInParameter(dbCommand, "psCP", DbType.String, encuestaDTO.sCP); database.AddInParameter(dbCommand, "pdtFechaCreacion", DbType.DateTime, encuestaDTO.dtFechaCreacion); database.ExecuteNonQuery(dbCommand); i = Convert.ToInt32(dbCommand.Parameters["iIdEncuesta"].Value); if (i == 0) { throw new ArgumentException("Ocurrio un error inesperado al guardar su encuesta."); } } } catch (Exception e) { throw e; } return(i); }
public ActionResult AddEncuesta(EncuestaDTO dto) { if (!this.currentUser()) { return(RedirectToAction("Ingresar")); } try { EncuestaBL objBL = new EncuestaBL(); if (dto.IdEncuesta == 0) { if (objBL.add(dto)) { createResponseMessage(CONSTANTES.SUCCESS); return(RedirectToAction("Index")); } else { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE); return(RedirectToAction("Index")); } } else if (dto.IdEncuesta != 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.IdEncuesta != 0) { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE); } else { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_INSERT_MESSAGE); } } TempData["Encuesta"] = dto; return(RedirectToAction("Encuesta")); }
/// <summary> /// Mpetodo que valida el cuestionario /// </summary> /// <param name="cuestionarioModel">El modelo del cuestionario</param> /// <param name="sToken">El token para gobierno</param> /// <param name="sURL">La URL del servicio de gobierno</param> /// <returns>Una resuesta con los parametros del modelo</returns> public ResponseModel ValidarCuestionario(CuestionarioModel cuestionarioModel, string sToken, string sURL) { ResponseModel responseModel = new ResponseModel(); List <string> lstTextDialogos = new List <string>(); encuestaData = new EncuestaData(); BitacoraBusiness = new BitacoraBusiness(); try { EncuestaDTO = TipoFolio(cuestionarioModel, sToken, sURL); EncuestaDTO.dtFechaCreacion = DateTime.Now; EncuestaDTO.iIdEncuesta = encuestaData.save(EncuestaDTO); //Guardamos el registro de la encuesta BitacoraBusiness.save(EncuestaDTO.iIdAcceso, EncuestaDTO.iIdEncuesta, 0, clsEnums.sDescripcionEnum(clsEnums.enumEstatusBitacora.ENCUESTA), "Su tipo de folio es: " + EncuestaDTO.sTipoFolio, cuestionarioModel.sLatitud + "," + cuestionarioModel.sLongitud); //Se guarda el registro en la bitacora responseModel.sFolio = EncuestaDTO.sFolio; if (EncuestaDTO.sFolio != null) { lstTextDialogos.Add(ConfigurationManager.AppSettings["sTituloFolio"].Replace("\\n", "\n")); lstTextDialogos.Add(ConfigurationManager.AppSettings["sSubTituloUno"].Replace("\\n", "\n")); lstTextDialogos.Add(EncuestaDTO.sFolio + ConfigurationManager.AppSettings["sSubTituloDos"].Replace("\\n", "\n")); lstTextDialogos.Add(ConfigurationManager.AppSettings["sSubTituloTres"].Replace("\\n", "\n")); lstTextDialogos.Add(ConfigurationManager.AppSettings["sSubTituloCuatro"].Replace("\\n", "\n")); lstTextDialogos.Add(ConfigurationManager.AppSettings["sSubTituloCinco"].Replace("\\n", "\n")); responseModel.bTipoFolio = true; } else { lstTextDialogos.Add(ConfigurationManager.AppSettings["sTituloFolioSinFolio"].Replace("\\n", "\n")); lstTextDialogos.Add(ConfigurationManager.AppSettings["sSubTituloUnoSinFolio"].Replace("\\n", "\n")); lstTextDialogos.Add(ConfigurationManager.AppSettings["sSubTituloDosSinFolio"].Replace("\\n", "\n")); lstTextDialogos.Add(ConfigurationManager.AppSettings["sSubTituloTresSinFolio"].Replace("\\n", "\n")); lstTextDialogos.Add(ConfigurationManager.AppSettings["sSubTituloCuatroSinFolio"].Replace("\\n", "\n")); lstTextDialogos.Add(ConfigurationManager.AppSettings["sSubTituloCincoSinFolio"].Replace("\\n", "\n")); responseModel.bTipoFolio = false; } responseModel.sParameter1 = JsonConvert.SerializeObject(lstTextDialogos); } catch (Exception e) { throw e; } return(responseModel); }
/// <summary> /// Replica varias encuestas para un periodo /// </summary> /// <param name="encuestaDTO"></param> /// <returns></returns> public bool add(EncuestaDTO encuestaDTO) { using (var context = getContext()) { try { context.SP_ReplicaEncuesta(encuestaDTO.IdPeriodo); return(true); } catch (Exception e) { //throw e; return(false); } } }
public ActionResult Encuesta(int?id = null) { var objSent = (EncuestaDTO)TempData["Encuesta"]; if (objSent != null) { TempData["Encuesta"] = null; return(View(objSent)); } if (id != null) { EncuestaBL objBL = new EncuestaBL(); EncuestaDTO obj = objBL.getEncuesta((int)id); return(View(obj)); } return(View()); }
public ActionResult ReportesDetalle(int?id = null) { if (!this.currentUser()) { return(RedirectToAction("Ingresar")); } if (!this.isAdministrator()) { return(RedirectToAction("Index")); } EncuestaBL encuestaBL = new EncuestaBL(); var model = new EncuestaDTO(); if (id != null) { model = encuestaBL.getEncuestaReporteDetalle((int)id); Session["reporte"] = model; } return(View(model)); }
public bool update(EncuestaDTO encuestaDTO) { using (var context = getContext()) { try { var encuesta = context.Encuesta.Where(x => x.IdEncuesta == encuestaDTO.IdEncuesta).SingleOrDefault(); encuesta.Nombre = encuestaDTO.NombreEncuesta; encuesta.Instrucciones = encuestaDTO.Instrucciones; encuesta.Leyenda = encuestaDTO.Leyenda; encuesta.Estado = encuestaDTO.EstadoEncuesta; //encuesta.IdPeriodo = encuestaDTO.IdPeriodo; encuesta.IdGrupoEvaluado = encuestaDTO.IdGrupoEvaluado; encuesta.EstadoProceso = "En proceso";//encuestaDTO.EstadoEncuesta; encuesta.FechaInicio = encuestaDTO.FechaInicio; encuesta.FechaCierre = encuestaDTO.FechaCierre; var oldGrupos = encuesta.GrupoTrabajo1.Select(x => x.IdGrupoTrabajo).ToList(); var newGrupos = encuestaDTO.GrupoEvaluador != null?encuestaDTO.GrupoEvaluador.Select(x => x).ToList() : new List <int>(); var gruposToRemove = oldGrupos.Except(newGrupos).ToList(); var gruposToAdd = newGrupos.Except(oldGrupos).ToList(); foreach (var group in gruposToRemove) { var grupo = context.GrupoTrabajo.Where(x => x.IdGrupoTrabajo == group).SingleOrDefault(); encuesta.GrupoTrabajo1.Remove(grupo); } foreach (var group in gruposToAdd) { var grupo = context.GrupoTrabajo.Where(x => x.IdGrupoTrabajo == group).SingleOrDefault(); encuesta.GrupoTrabajo1.Add(grupo); } context.SaveChanges(); return(true); } catch (Exception e) { //throw e; return(false); } } }
public ActionResult AddEncuesta(EncuestaDTO dto) { if (!this.currentUser()) { return RedirectToAction("Ingresar"); } try { EncuestaBL objBL = new EncuestaBL(); if (dto.IdEncuesta == 0) { if (objBL.add(dto)) { createResponseMessage(CONSTANTES.SUCCESS); return RedirectToAction("Index"); } else { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE); return RedirectToAction("Index"); } } else if (dto.IdEncuesta != 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.IdEncuesta != 0) createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE); else createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_INSERT_MESSAGE); } TempData["Encuesta"] = dto; return RedirectToAction("Encuesta"); }
/// <summary> /// Método que hace una consulta al servicio de gobierno y retorna el tipo de Folio /// </summary> /// <param name="oCuestionario">La peticion que llega</param> /// <param name="sToken">El token para gobierno</param> /// <param name="sURL">La URL del servicio de gobierno</param> /// <returns>Un objeto tipo encuesta</returns> public EncuestaDTO TipoFolio(CuestionarioModel oCuestionario, string sToken, string sURL) { var sParametros = new NameValueCollection(); WebClient oConsumo = new WebClient(); clsTblcodigopostal oCodigoPostal = new clsTblcodigopostal(); clsTblcatlada oLada = new clsTblcatlada(); EncuestaDTO encuestaDTO = new EncuestaDTO(); AccesoBusiness = new AccesoBusiness(); try { if (oCuestionario.sError == null) { oCuestionario.sError = ""; } sParametros.Add("unidad_notificante", "MEDITOC"); foreach (var item in oCuestionario.lstPreguntas) { if (item.sNombre != null) { if (item.sParam == "cp") { encuestaDTO.sCP = item.sNombre; oCodigoPostal.ValidarCP(item.sNombre); } if (item.sParam == "telefono") { if (!Convert.ToBoolean(ConfigurationManager.AppSettings["bActivarGeolocalizacion"])) { oLada.ValidarLada(item.sNombre); } int iIdAcceso = AccesoBusiness.UserExist(item.sNombre); if (iIdAcceso == 0) { AccesoDTO accesoDTO = new AccesoDTO { sTelefono = item.sNombre, dtFechaCreacion = DateTime.Now }; AccesoBusiness.saveAcceso(accesoDTO); } encuestaDTO.iIdAcceso = iIdAcceso; } sParametros.Add(item.sParam, item.sNombre); } else { sParametros.Add(item.sParam, item.bPrecionado.ToString()); } } oConsumo.Headers.Set("token", sToken); var Json = oConsumo.UploadValues(sURL, "POST", sParametros); dynamic m = JsonConvert.DeserializeObject(Encoding.ASCII.GetString(Json)); encuestaDTO.sFolio = m.data.FolioApp; encuestaDTO.sTipoFolio = m.data.FolioApp == null ? "Tipo 1" : "Tipo 2";//Comprobamos que tipo de folio es } catch (Exception e) { throw e; } return(encuestaDTO); }
public ActionResult ReportesDetalle(int? id = null) { if (!this.currentUser()) { return RedirectToAction("Ingresar"); } if (!this.isAdministrator()) { return RedirectToAction("Index"); } EncuestaBL encuestaBL = new EncuestaBL(); var model = new EncuestaDTO(); if (id != null) { model = encuestaBL.getEncuestaReporteDetalle((int)id); Session["reporte"] = model; } return View(model); }