Exemple #1
0
        public ResponseNosis callNosis(string dni, bool persist = true)
        {
            ResponseNosis responseNosis = null;

            try {
                string URL           = ConfigurationManager.AppSettings["URL"];
                string urlParameters = "?usuario=" + ConfigurationManager.AppSettings["usuario"] + "&token=" + ConfigurationManager.AppSettings["token"] + "&documento=" + dni + "&VR=" + ConfigurationManager.AppSettings["VR"];

                HttpClient client = new HttpClient();
                client.BaseAddress = new Uri(URL);

                client.DefaultRequestHeaders.Accept.Add(
                    new MediaTypeWithQualityHeaderValue("application/json"));

                // List data response.
                _logger.LogInformation("Request to: {0}{1}", URL, urlParameters);
                HttpResponseMessage response = client.GetAsync(urlParameters).Result;

                if (response.IsSuccessStatusCode)
                {
                    string xml = response.Content.ReadAsStringAsync().Result;
                    responseNosis = new ResponseNosis();
                    responseNosis = JsonConvert.DeserializeObject <ResponseNosis>(xml);
                    _logger.LogInformation("Response Success: {0}", responseNosis);
                    //Add Json to DB
                    if (persist)
                    {
                        try
                        {
                            MongoResponseNosis mongoResponseNosis = new MongoResponseNosis();
                            mongoResponseNosis.Contenido = responseNosis.Contenido;
                            _mongoResponseNosisRepository.CreateClienteNosisAsync(mongoResponseNosis);
                        }
                        catch (Exception e)
                        {
                            _logger.LogError("Error al tratar de guardar el registro en la BD mongo: {0}", e.Message);
                        }
                    }
                }
                else
                {
                    responseNosis = new ResponseNosis();
                    responseNosis.Contenido.Resultado.Estado  = response.StatusCode.ToString();
                    responseNosis.Contenido.Resultado.Novedad = "Existe un problema de comunicacion con Nosis, por favor descarte problemas de red o contacte con el proveedor";
                }
            }
            catch (UserDidntExistException e) {
                //Marcar BD como que no existe el usuario
                _logger.LogError("Error: {0}", e);
            }

            return(responseNosis);
        }
Exemple #2
0
        public void CreateClienteNosisAsync(MongoResponseNosis mongoResponseNosis)
        {
            IMongoDatabase database = client.GetDatabase("nosis");
            IMongoCollection <MongoResponseNosis> collection = database.GetCollection <MongoResponseNosis>("clientes_nosis");

            //FilterDefinition<MongoResponseNosis> filter = Builders<MongoResponseNosis>.Filter.Eq("Documento", mongoResponseNosis.Contenido.Pedido.Documento);
            //UpdateDefinition<MongoResponseNosis> update = Builders<MongoResponseNosis>.Update.Set("Contenido", mongoResponseNosis.Contenido);
            //UpdateResult ur = collection.UpdateOne(filter, update);
            //if (ur.UpsertedId==null) {
            collection.InsertOneAsync(mongoResponseNosis);
            //}
        }