예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }