/// <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); }
/// <summary> /// Descripción: Método para realizar la autentificación del usuario solicitado. /// </summary> /// <param name="pobjLoginModel">Instancia del modelo de objeto.</param> public LoginModel m_Login(LoginModel pobjLoginModel) { LoginModel objclsLoginModel = new LoginModel(); AccesoBusiness oAccesoB = new AccesoBusiness(); BitacoraBusiness bitacoraBusiness = new BitacoraBusiness(); clsTblcatlada oLada = new clsTblcatlada(); objclsLoginModel = pobjLoginModel; objclsLoginModel.bResult = false; try { oclsLoginBE = new clsLoginBE(); var sNumero = objclsLoginModel.sUsuarioLogin.Split('_'); accesoDTO = new AccesoDTO { sTelefono = objclsLoginModel.sUsuarioLogin }; if (sNumero.Length > 1) { accesoDTO.sTelefono = sNumero[1]; } oclsLoginBE.sLongitud = objclsLoginModel.sLongitud; oclsLoginBE.sLatitud = objclsLoginModel.sLatitud; int iIdAcceso = oAccesoB.UserExist(accesoDTO.sTelefono); if (iIdAcceso == 0) { accesoDTO.iIdAcceso = oAccesoB.saveAcceso(accesoDTO); } else { accesoDTO.iIdAcceso = iIdAcceso; } if (!oclsLoginBE.ObtenerGeometriaValida(db) && Convert.ToBoolean(ConfigurationManager.AppSettings["bActivarGeolocalizacion"])) { throw new ArgumentException(ConfigurationManager.AppSettings["sMensajeGeometria"]); } if (!Convert.ToBoolean(ConfigurationManager.AppSettings["bActivarGeolocalizacion"])) { oLada.ValidarLada(accesoDTO.sTelefono.Substring(0, 3)); } bitacoraBusiness.save(accesoDTO.iIdAcceso, 0, 0, clsEnums.sDescripcionEnum(clsEnums.enumEstatusBitacora.LOGIN), "Inicio login: "******", " + oclsLoginBE.sLongitud); objclsLoginModel.bResult = true; objclsLoginModel.bAceptoTerminoCondicion = true; objclsLoginModel.sTelefonoDRs = string.IsNullOrEmpty(ConfigurationManager.AppSettings["sTelefono"]) ? "" : ConfigurationManager.AppSettings["sTelefono"].ToString(); objclsLoginModel.iIdUsuario = accesoDTO.iIdAcceso; objclsLoginModel.rutasIceServer = getIceLinkServer(); objclsLoginModel.sMensajeRespuesta = "Login completado exitosamente."; } catch (Exception ex) { objclsLoginModel.sMensajeRespuesta = ex.Message; bitacoraBusiness.save(accesoDTO.iIdAcceso, 0, 0, clsEnums.sDescripcionEnum(clsEnums.enumEstatusBitacora.ERROR), ex.Message, oclsLoginBE.sLatitud + ", " + oclsLoginBE.sLongitud); } return(objclsLoginModel); }