/// <summary> /// Método para realizar el guardado del array del trazado /// </summary> /// <param name="trazadoDTOs">La lista con los trazado</param> /// <returns>Un objeto response</returns> public ResponseModel RealizarGuardadoTrazado(List <TrazadoDTO> trazadoDTOs) { bitacoraBusiness = new BitacoraBusiness(); accesoBusiness = new AccesoBusiness(); oResponseModel = new ResponseModel(); List <TrazadoDTO> trazadosNoGuardados = new List <TrazadoDTO>(); trazadosNoGuardados.AddRange(trazadoDTOs); try { string sNumero = trazadoDTOs .FirstOrDefault() .Telefono; int iIdAcceso = accesoBusiness.UserExist(sNumero); if (iIdAcceso != 0) { foreach (var item in trazadoDTOs) { int iGuardado = bitacoraBusiness.SaveTrazado(iIdAcceso, "Trazado del día: " + Convert.ToDateTime(item.Date), item.Latitud + "," + item.Longitude); if (iGuardado != 0) { trazadosNoGuardados.Remove(item); } } } oResponseModel.bRespuesta = true; oResponseModel.sMensaje = "Todo el trazado fue ingresado correctamente"; } catch (Exception e) { oResponseModel.bRespuesta = false; string sIdNoGuardados = String.Join(",", trazadosNoGuardados.Select(x => x.Id).ToArray()); oResponseModel.sParameter1 = JsonConvert.SerializeObject(sIdNoGuardados); oResponseModel.sMensaje = e.Message; } return(oResponseModel); }
/// <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); }