示例#1
0
        public IActionResult GetUniteLegale(string siren)
        {
            UniteLegale uniteLegale = _client.GetUniteLegale(siren);

            if (uniteLegale != null)
            {
                return(Ok(uniteLegale));
            }
            else
            {
                return(BadRequest(StatusCode(404)));
            }
        }
        public UniteLegale GetUniteLegale(String siren)
        {
            HttpResponseMessage response = _httpClient.GetAsync($"{_baseUrl}/unites_legales/{siren}").Result;

            if (!response.IsSuccessStatusCode)
            {
                return(null);
            }
            Task <String> responseBody = response.Content.ReadAsStringAsync();
            JObject       json         = JObject.Parse(responseBody.Result);
            JToken        token        = json["unite_legale"];
            UniteLegale   uniteLegale  = System.Text.Json.JsonSerializer.Deserialize <UniteLegale>(token.ToString());

            return(uniteLegale);
        }
        public IActionResult DeleteUniteLegale(String siren)
        {
            UniteLegale existingUniteLegale = _context.UniteLegale.Include(u => u.etablissements)
                                              .FirstOrDefault(u => u.siren == siren);

            if (existingUniteLegale == null)
            {
                return(BadRequest());
            }

            _context.RemoveRange(existingUniteLegale.etablissements);
            _context.Remove(existingUniteLegale);
            _context.SaveChanges();
            return(Ok());
        }
        public IActionResult UpdateUniteLegale([FromBody] List <String> sirets)
        {
            string               siren                = sirets.First().Substring(0, 9);
            UniteLegale          uniteLegale          = _apiClient.GetUniteLegale(siren);
            List <Etablissement> etablissementBySiret = new List <Etablissement>();

            foreach (string siret in sirets)
            {
                Etablissement selectedEtablissement = uniteLegale.etablissements.FirstOrDefault(etablissement => etablissement.siret == siret);
                Etablissement existingEtablissement = _context.Etablissements.FirstOrDefault(e => e.siret == selectedEtablissement.siret);

                if (selectedEtablissement != null)
                {
                    if (existingEtablissement != null)
                    {
                        etablissementBySiret.Remove(existingEtablissement);
                        etablissementBySiret.Add(selectedEtablissement);
                    }
                    else
                    {
                        return(BadRequest(StatusCode(404)));
                    }
                }
            }
            uniteLegale.etablissements = etablissementBySiret;
            UniteLegale existingUniteLegale = _context.UniteLegale.Include(u => u.etablissements).FirstOrDefault(u => u.siren == uniteLegale.siren);

            if (existingUniteLegale != null)
            {
                _context.Remove(existingUniteLegale);
                _context.Add(uniteLegale);
            }
            else
            {
                return(BadRequest(StatusCode(404)));
            }

            _context.SaveChanges();
            return(Ok());
        }
        public IActionResult DeleteEtablissement(String siret)
        {
            string        siren = siret.Substring(0, 9);
            Etablissement existingEtablissement = _context.Etablissements.FirstOrDefault(e => e.siret == siret);
            UniteLegale   existingUniteLegale   = _context.UniteLegale.Include(u => u.etablissements)
                                                  .FirstOrDefault(u => u.siren == siren);

            if (existingEtablissement == null)
            {
                return(BadRequest());
            }
            else
            {
                _context.Remove(existingEtablissement);
                _context.SaveChanges();
                if (!existingUniteLegale.etablissements.Any())
                {
                    _context.Remove(existingUniteLegale);
                    _context.SaveChanges();
                }
                return(Ok());
            }
        }