Example #1
0
        public async Task <IActionResult> BusinessCustomerInformation_MultipleSearch([FromQuery] string socialReason, [FromQuery] string zipCode, [FromQuery] string siret)
        {
            try
            {
                // recherche par siret :
                if (siret != null)
                {
                    (bool, string)res = _handler.Validate(siret);
                    if (!res.Item1)
                    {
                        return(BadRequest(new { code = "400", message = res.Item2 }));
                    }

                    var response = await _service.GetInfos_SiretSearch(siret);

                    if (response == null)
                    {
                        return(NotFound());      //404
                    }

                    return(Ok(new SingleCustomerViewModel(response)));    //200
                }

                // recherche par raison sociale et code postal :
                else
                {
                    (bool, string)res = _handler.Validate(socialReason, zipCode);
                    if (!res.Item1)
                    {
                        return(BadRequest(new { code = "400", message = res.Item2 }));
                    }


                    var response = await _service.GetInfos_MultipleSearch(socialReason, zipCode);

                    // converting from Model to ViewModel
                    List <MultipleCustomersViewModel> list = response.Select(e => new MultipleCustomersViewModel(e)).ToList();

                    return(Ok(list));    //200
                }
            }
            catch (Exception)
            {
                _logger.LogError("Failed to retreive customers - Internal Server Error");
                return(StatusCode(500));     //500
            }
        }