/// <summary>
        /// Abre un trámite.
        /// </summary>
        public void AbrirTramite(int nroTramite)
        {
            uniReconocimientoMaterias reconocimientoMateria = context.uniReconocimientoMaterias.Where(rm => rm.Clave == nroTramite).FirstOrDefault();

            if (reconocimientoMateria == null)
            {
                throw new ArgumentNullException("reconocimientoMateria");
            }

            reconocimientoMateria.estado             = 1;
            reconocimientoMateria.numeroResolucion   = null;
            reconocimientoMateria.fechaResolucion    = null;
            reconocimientoMateria.CodigoComprobacion = null;

            uniReconocimientoMateriasFirmantes reconocimientoMateriasFirmantes = context.uniReconocimientoMateriasFirmantes.Where(rmf => rmf.idReconocimientoMaterias == nroTramite).FirstOrDefault();

            if (reconocimientoMateriasFirmantes == null)
            {
                throw new ArgumentNullException("reconocimientoMateriasFirmantes");
            }

            context.uniReconocimientoMateriasFirmantes.Remove(reconocimientoMateriasFirmantes);

            context.SaveChanges();
        }
        /// <summary>
        /// Cerrar un trámite.
        /// </summary>
        public void CerrarTramite(int nroTramite, int legProv)
        {
            uniReconocimientoMaterias recoMat = context.uniReconocimientoMaterias.Where(rm => rm.legajo == legProv && rm.Clave == nroTramite).FirstOrDefault();

            if (recoMat != null)
            {
                if (!context.uniReconocimientoMateriasDetalle.Where(rmd => rmd.estado != "F" && rmd.idReconocimientoMaterias == nroTramite).Any())
                {
                    if (recoMat.estado > 1)
                    {
                        recoMat.estado = 1;
                    }

                    context.SaveChanges();

                    context.sp_CierraReconocimientos(nroTramite, legProv);
                }
                else
                {
                    throw new ArgumentException("El reconocimiento tiene una o mas materias que no está en estado F");
                }
            }
            else
            {
                throw new ArgumentNullException("No se encontro reconocimiento con ese número de legajo y número de reconocimiento");
            }
        }
        /// <summary>
        /// Cambiar la fecha de resolución
        /// </summary>
        /// <returns></returns>
        public void CambiarFechaResolucion(int nroTramite, DateTime fechaResolucion)
        {
            uniReconocimientoMaterias recoMat = context.uniReconocimientoMaterias.Where(rm => rm.Clave == nroTramite && rm.fechaResolucion.HasValue).FirstOrDefault();

            if (recoMat != null)
            {
                recoMat.fechaResolucion = fechaResolucion;

                context.SaveChanges();
            }
            else
            {
                throw new ArgumentNullException("uniReconocimientoMateriasDetalle");
            }
        }