コード例 #1
0
        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."));
            }
        }