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