public List<clsCuenta> ConsultaCuentaGrabar()
        {
            try
             {
                 List<clsCuenta> lista = new List<clsCuenta>();

                 EntitiesContabilidad entity = new EntitiesContabilidad();

                 var plancuenta = from cuenta in entity.vwCuenta where cuenta.IdNivelCuenta<5 select cuenta;

                 foreach (var item in plancuenta)
                 {
                     clsCuenta ccuenta = new clsCuenta();
                     ccuenta.IdEmpresa = item.IdEmpresa;
                     ccuenta.IdCuenta = item.IdCuenta;
                     ccuenta.codigo_padre = item.codigo_padre;
                     ccuenta.nombre = item.nombre;
                     ccuenta.descripcion = item.descripcion;
                     ccuenta.IdNivelCuenta = item.IdNivelCuenta;
                     ccuenta.IdTipoCuenta = item.IdTipoCuenta;
                     ccuenta.naturaleza_cuenta = item.naturaleza_cuenta;
                     ccuenta.IdUsuario = Convert.ToInt32(item.IdUsuario);
                     ccuenta.FechaModficacion = Convert.ToDateTime(item.FechaModificacion);
                     ccuenta.digitos = item.digitos;
                     lista.Add(ccuenta);
                 }

                 return lista;
             }
             catch (Exception)
             {

                 return null;
             }
        }
        public List<clsTipoCuenta> ConsultaTipoCuenta()
        {
            try
            {
                List<clsTipoCuenta> lista = new List<clsTipoCuenta>();

                EntitiesContabilidad entity = new EntitiesContabilidad();

                var tc = from tcuenta in entity.TipoCuenta select tcuenta;

                foreach (var item in tc)
                {
                    clsTipoCuenta ctipocuenta = new clsTipoCuenta();

                    ctipocuenta.IdTipoCuenta = Convert.ToInt32(item.IdTipoCuenta);
                    ctipocuenta.nombre = item.nombre;

                    lista.Add(ctipocuenta);
                }

                return lista;
            }
            catch (Exception)
            {

                return null;
            }
        }
        public List<clsTipoTransaccion> Consulta()
        {
            try
            {
                List<clsTipoTransaccion> lista = new List<clsTipoTransaccion>();
                EntitiesContabilidad ent = new EntitiesContabilidad();
                var tipotran = from tt in ent.TipoTransaccion select tt;
                foreach (var item in tipotran)
                {
                    clsTipoTransaccion ctipo = new clsTipoTransaccion();
                    //las variables puden ser nulas u no soportan el tipo de dato int por eso se realiza el convert
                    ctipo.IdTransaccion = Convert.ToInt32(item.IdTransaccion);
                    ctipo.modulo = item.modulo;
                    ctipo.TipoDocumento = item.TipoDocumento;
                    ctipo.descripcion = item.descripcion;
                    lista.Add(ctipo);

                }
                return lista;
            }
            catch (Exception)
            {

                return null;
            }
        }
 //MANTENIMIENTO ELIMIAR
 public void eliminar(clsTipoTransaccion tiptran)
 {
     using (EntitiesContabilidad ent = new EntitiesContabilidad())
     {
         var x = (from q in ent.TipoTransaccion where q.IdTransaccion == tiptran.IdTransaccion select q).First();
         ent.DeleteObject(x);
         ent.SaveChanges();
     }
 }
        //MANTENIMIENTO GUARDAR
        public void guardar(clsTipoTransaccion tiptran)
        {
            using (EntitiesContabilidad ent = new EntitiesContabilidad())
            {
                TipoTransaccion tt = new TipoTransaccion()
                {
                    IdTransaccion = tiptran.IdTransaccion,
                    modulo = tiptran.modulo,
                    TipoDocumento = tiptran.TipoDocumento,
                    descripcion = tiptran.descripcion

                };
                ent.AddToTipoTransaccion(tt);
                ent.SaveChanges();

            }
        }
 public Boolean Eliminar(clsCuenta cuenta)
 {
     try
      {
          EntitiesContabilidad ent = new EntitiesContabilidad();
          var regcuenta = (from q in ent.Cuenta where q.IdEmpresa == cuenta.IdEmpresa && q.IdCuenta == cuenta.IdCuenta select q).First();
          var count = (from q in ent.Cuenta where q.codigo_padre == cuenta.IdCuenta select q).Count();
          if (count == 0)
          {
              ent.DeleteObject(regcuenta);
              ent.SaveChanges();
          }
          else { return false; }
          return true;
      }
      catch (Exception)
      {
          return false;
      }
 }
        public Boolean Modificar(clsCuenta cuenta)
        {
            try
             {
                 EntitiesContabilidad ent = new EntitiesContabilidad();
                     var mod = (from q in ent.Cuenta where q.IdEmpresa == cuenta.IdEmpresa && q.IdCuenta == cuenta.IdCuenta select q).First();
                     mod.descripcion = cuenta.descripcion;
                     mod.nombre = cuenta.nombre;
                     mod.FechaModificacion = DateTime.Now;
                     ent.SaveChanges();

                 return true;
             }
             catch (Exception)
             {
                 return false;
             }
        }
 public Boolean Guardar(clsCuenta cuenta)
 {
     try
      {
          using (EntitiesContabilidad ent =new EntitiesContabilidad())
          {
              Cuenta ct = new Cuenta() {
              IdEmpresa=cuenta.IdEmpresa,
              IdCuenta = cuenta.IdCuenta,
              codigo_padre = cuenta.codigo_padre,
              nombre = cuenta.nombre,
              descripcion = cuenta.descripcion,
              IdNivelCuenta = cuenta.IdNivelCuenta,
              IdTipoCuenta = cuenta.IdTipoCuenta,
              naturaleza_cuenta = cuenta.naturaleza_cuenta,
              IdUsuario = 1,
              //FechaModificacion = cuenta.IdEmpresa
              };
              ent.AddToCuenta(ct);
              ent.SaveChanges();
          }
          return true;
      }
      catch (Exception)
      {
          return false;
      }
 }
 //MANTENIMIENTO MODIFICAR
 public void modificar(clsTipoTransaccion tiptran)
 {
     using (EntitiesContabilidad ent = new EntitiesContabilidad())
     {
         var x = (from q in ent.TipoTransaccion where q.IdTransaccion == tiptran.IdTransaccion select q).First();
         x.modulo = tiptran.modulo;
         x.TipoDocumento = tiptran.TipoDocumento;
         x.descripcion = tiptran.descripcion;
         ent.SaveChanges();
     }
 }