public IHttpActionResult AnularComprobante(int id) { var control = service.GetSingle(c => c.TC_ID_COMPROBANTE == id); if (control != null) { 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 el registro.")); } 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.")); } try { service.AnularComprobante(id, empresas, idUser); return(Ok()); } catch (Exception e) { return(BadRequest(e.Message)); } } else { return(BadRequest("No se puede anular un comprobante que no existe.")); } }