public IHttpActionResult AprobarComprobante(int id) { var model = service.GetSingle(c => c.TC_ID_COMPROBANTE == id); if (model != null) { try { string idUser = User.Identity.GetUserId(); int activo = Convert.ToInt16(BusinessEnumerations.Estatus.ACTIVO); List <int> list_CE_ID_EMPRESA = usuarioEmpService.Query(x => x.US_ID_USUARIO == idUser).Select(y => y.CE_ID_EMPRESA).ToList(); if (list_CE_ID_EMPRESA != null && list_CE_ID_EMPRESA.Count() == 0) { return(BadRequest("El usuario actualmente no tiene empresas asignadas. Es necesario tener por lo menos una empresa asignada para poder aprobar la conciliación.")); } List <string> empresas = empresaService.Query(x => list_CE_ID_EMPRESA.Contains(x.CE_ID_EMPRESA) && x.CE_ESTATUS == activo.ToString()).Select(y => y.CE_COD_EMPRESA).ToList(); if (empresas != null && empresas.Count() == 0) { return(BadRequest("No se encontraron empresas para su usuario.")); } bool result = service.AprobarComprobante(id, empresas, idUser); if (result) { return(Ok()); } else { return(BadRequest("No es posible aprobar el registro, favor contactar al administrador")); } } catch (Exception ex) { return(BadRequest(ex.Message)); } } else { return(BadRequest("No se puede aprobar un comprobante que no existe.")); } }