/// <summary>
 /// Metodo para editar una razon social
 /// </summary>
 /// <param name="id">Identificador de la razon social a editar</param>
 /// <param name="razon">objeto razon social con los datos a editar</param>
 /// <returns>retorna un bool si se edito o no</returns>
 public async Task<BusinessResult<bool>> Editar(int id, RazonSocialDto razon)
 {
     try
     {
         var result = await _AdministrarRazonSocialData.Editar(id, razon);
         return BusinessResult<bool>.Success(result, MensajesComunes.ExitoBusiness);
     }
     catch (Exception ex)
     {
         return BusinessResult<bool>.Issue(false, MensajesComunes.ErrorBusiness, ex);
     }
 }
        public async Task<IHttpActionResult> Editar(int id, RazonSocialDto razon)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != razon.RazonSocialId)
            {
                return BadRequest();
            }

            var resultado = await _AdministrarRazonSocialBusiness.Editar(id, razon);
            if (resultado.SuccessfulOperation)
            {
                return StatusCode(HttpStatusCode.Accepted);
            }
            return StatusCode(HttpStatusCode.NotModified);
        }
 /// <summary>
 /// Metodo para agregar una Razon social nueva
 /// </summary>
 /// <returns>Retorna la razon social creada</returns>
 public async Task<BusinessResult<RazonSocialDto>> Agregar(RazonSocialDto razon)
 {
     try
     {
         var result = await _AdministrarRazonSocialData.Agregar(razon);
         return BusinessResult<RazonSocialDto>.Success(result, MensajesComunes.ExitoBusiness);
     }
     catch (Exception ex)
     {
         return BusinessResult<RazonSocialDto>.Issue(null, MensajesComunes.ErrorBusiness, ex);
     }
 }
 public async Task<IHttpActionResult> Agregar(RazonSocialDto razon)
 {
     if (!ModelState.IsValid)
     {
         return BadRequest(ModelState);
     }
     var resultado = await _AdministrarRazonSocialBusiness.Agregar(razon);
     if (resultado.SuccessfulOperation)
     {
         if (resultado.Result != null)
         {
             var razonSocialDto = resultado.Result;
             return CreatedAtRoute("DefaultApi", new { id = razonSocialDto.RazonSocialId }, razonSocialDto);
         }
     }
     return InternalServerError(resultado.Error);
 }