public List<clsEstado> consultaEstado()
        {
            try
            {
                List<clsEstado> lista = new List<clsEstado>();
                CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities();
                var con = from w in ent.Estado select w;
                foreach (var item in con)
                {
                    clsEstado est = new clsEstado();

                    est.idEstado = item.IdEstado;
                    est.descripcion = item.Descripcion;

                    lista.Add(est);

                }

                return lista;
            }

            catch (Exception)
            {
                return null;
            }
        }
        public List<clsTarjetaCredito> consultaTarjetaCreditoGeneral()
        {
            try
            {
                List<clsTarjetaCredito> lista = new List<clsTarjetaCredito>();
                CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities();
                var con = from b in ent.TarjetaCredito select b;
                foreach (var item in con)
                {
                    clsTarjetaCredito TarjetaCredito = new clsTarjetaCredito();
                    TarjetaCredito.idEmpresa = item.idEmpresa;
                    TarjetaCredito.idTarjeta = item.idTarjeta;
                    TarjetaCredito.Descripcion = item.descripcion;
                    TarjetaCredito.idBanco = item.idBanco;
                    TarjetaCredito.Estado = item.Estado;

                    lista.Add(TarjetaCredito);
                }
                return lista;
            }
            catch (Exception)
            {
                return null;
            }
        }
 public List<clsPersonaCXC> ConsultaPersona()
 {
     try
     {
         List<clsPersonaCXC> Lista = new List<clsPersonaCXC>();
         CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities();
         var con = from w in ent.Persona select w;
         foreach (var item in con)
         {
             clsPersonaCXC clas = new clsPersonaCXC();
             clas.IdPersona = item.IdPersona;
             clas.Identificacion = item.Identificacion;
             clas.IdTipoPersona = item.IdTipoPersona;
             clas.NombreRazonSocial = item.NombreRazonSocial;
             clas.Apellido = item.Apellido;
             clas.FechaNacimiento = Convert.ToDateTime(item.FechaNacimiento);
             clas.genero = item.genero;
             clas.TipoIdentificacion = item.TipoIdentificacion;
             clas.direccion = item.direccion;
             clas.General = Convert.ToInt32(item.TelefonoGneral);
             clas.Movil = Convert.ToInt32(item.TelefonoMovil);
             clas.Casa = Convert.ToInt32(item.TelefonoCasa);
             clas.Otros = Convert.ToInt32(item.TelefonoOtros);
             clas.mail = item.mail;
             clas.IdEstado = item.IdEstado;
             Lista.Add(clas);
         }
         return Lista;
     }
     catch (Exception)
     {
         return null;
     }
 }
        public Boolean guardar(clsMonetarioDetalle monetario)
        {
            try
            {
                using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
                {
                    //ojo mon se lo crea pa tener referencia
                    //monetariodet es el nombre de la tabla
                    int x = this.getIdSiguiente();
                    MonetarioDet mon = new MonetarioDet()
                    {
                        idEmpresa = monetario.idEmpresa,
                        idDetalleMonetario = x,
                        Descripcion =  monetario.Descripcion,
                        Valor   =  monetario.Valor,
                        Estado  = monetario.Estado,

                    };
                    ent.AddToMonetarioDet(mon);
                    ent.SaveChanges();

                }
                return true;
            }
            catch (Exception )
            {

                return false;
            }
        }
        public List<clsMonetarioDetalle> consultaMonetarioDetalleGeneral()
        {
            try
            {
                List<clsMonetarioDetalle> lista = new List<clsMonetarioDetalle>();
                CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities();
                var con = from w in ent.MonetarioDet select w;
                foreach (var item in con)
                {
                    clsMonetarioDetalle mondet = new clsMonetarioDetalle();
                    mondet.idEmpresa = item.idEmpresa;
                    mondet.idDetalleMonetario = item.idDetalleMonetario;
                    mondet.Descripcion = item.Descripcion;
                    mondet.Valor = Convert.ToDecimal  (item.Valor); //convertir money a int
                    mondet.Estado = item.Estado;

                    lista.Add(mondet);

                }
                return lista;
            }

            catch (Exception)
            {
                return null;
            }
        }
        public Boolean anular(clsConciliacionBancaria conciliaban)
        {
            using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
            {
                var x = (from q in ent.ConciliacionBancaria where q.idConciliacionBancaria == conciliaban.idConciliacionBancaria select q).First();

                x.idConciliacionBancaria = conciliaban.idConciliacionBancaria;
                x.idBanco = conciliaban.idBanco;
                x.idEmpresa = conciliaban.idEmpresa;
                x.NumeroCuenta = conciliaban.NumeroCuenta;
                x.idUsuario = conciliaban.idUsuario;
                x.FechaConciliacion = conciliaban.FechaConciliacion;
                x.FechaModificacion = conciliaban.FechaModificacion;
                x.FechaDesde = conciliaban.FechaDesde;
                x.FechaHasta = conciliaban.FechaHasta;
                x.Saldo = conciliaban.Saldo;
                x.TotalEgresos = conciliaban.TotalEgresos;
                x.TotalIngresos = conciliaban.TotalIngresos;
                x.TotalConciliacion = conciliaban.TotalConciliacion;

                x.idEstado = 2;

                ent.SaveChanges();

                return true;
            }
        }
        public List<clsAperturaCaja> consultaAperturaCajaGeneral()
        {
            try
            {
                List<clsAperturaCaja> lista = new List<clsAperturaCaja>();
                CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities();
                var con = from b in ent.AperturaCaja select b;
                foreach (var item in con)
                {
                    clsAperturaCaja AperturaCaja = new clsAperturaCaja();
                    AperturaCaja.idEmpresa = item.idEmpresa;
                    AperturaCaja.idUsuario = item.idUsuario;
                    AperturaCaja.idAperturaCaja = item.idAperturaCaja;
                    AperturaCaja.Fecha = item.Fecha;
                    AperturaCaja.FechaModificacion = Convert.ToDateTime(item.FechaModificacion);
                    AperturaCaja.Monto = item.Monto;
                    AperturaCaja.idEstado = item.idEstado;

                    lista.Add(AperturaCaja);
                }
                return lista;
            }
            catch (Exception)
            {
                return null;
            }
        }
        public List<clsCuentaxCobrar> consultaCuentaPorCobrarGeneral()
        {
            try
            {
                List<clsCuentaxCobrar> lista = new List<clsCuentaxCobrar>();
                CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities();
                var con = from b in ent.CuentaxCobrar select b;
                foreach (var item in con)
                {
                    clsCuentaxCobrar ctaxcobrar = new clsCuentaxCobrar();
                    ctaxcobrar.idEmpresa = item.idEmpresa;
                    ctaxcobrar.idUsuario = item.idUsuario;
                    ctaxcobrar.idCuentaxCobrar = item.idCuentaxCobrar;
                    ctaxcobrar.numero_comprobante = Convert.ToInt32(item.numero_comprobante);
                    ctaxcobrar.Modulo = item.Modulo;
                    ctaxcobrar.idNumeroFactura = item.idNumeroFactura;
                    ctaxcobrar.TotalCuotas = item.TotalCuotas;
                    ctaxcobrar.porcentaje_interes = Convert.ToInt32(item.porcentaje_interes);
                    ctaxcobrar.estado = item.estado;

                    lista.Add(ctaxcobrar);
                }
                return lista;
            }
            catch (Exception)
            {
                return null;
            }
        }
        public List<clsCuentaxCobrarDet> consultaCuentaPorCobrarDetalleGeneral()
        {
            try
            {
                List<clsCuentaxCobrarDet> lista = new List<clsCuentaxCobrarDet>();
                CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities();
                var con = from b in ent.CuentaxCobrarDet select b;
                foreach (var item in con)
                {
                    clsCuentaxCobrarDet ctaxcobrarDet = new clsCuentaxCobrarDet();
                    ctaxcobrarDet.idCuentaxCobrar = item.idCuentaxCobrar;
                    ctaxcobrarDet.Numero = item.Numero;
                    ctaxcobrarDet.numero_cuota = item.numero_cuota;
                    ctaxcobrarDet.valor_cuota = item.valor_cuota;
                    ctaxcobrarDet.valor_interes = item.valor_interes;
                    ctaxcobrarDet.valor_mora = item.valor_mora;
                    ctaxcobrarDet.fecha_cobro = item.fecha_cobro;
                    ctaxcobrarDet.fecha_vencimiento = item.fecha_vencimiento;
                    ctaxcobrarDet.FechaModificacion= Convert.ToDateTime(item.FechaModificacion);
                    ctaxcobrarDet.estado = item.estado;

                    lista.Add(ctaxcobrarDet);
                }
                return lista;
            }
            catch (Exception)
            {
                return null;
            }
        }
        public Boolean guardar(clsUnidadTiempo UnidadTiempo)
        {
            try
            {
                using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
                {
                    //ojo mon se lo crea pa tener referencia
                    //monetariodet es el nombre de la tabla
                    int x = this.getIdSiguiente();
                    UnidadTiempo uni = new UnidadTiempo()
                    {
                        idEmpresa = UnidadTiempo.idEmpresa,
                        idUnidadTiempo = x,
                        Descripcion = UnidadTiempo.Descripcion,
                        Estado = UnidadTiempo.Estado,

                    };
                    ent.AddToUnidadTiempo(uni);
                    ent.SaveChanges();

                }
                return true;
            }
            catch (Exception)
            {

                return false;
            }
        }
        public Boolean guardar(clsAperturaDet AperturaDet)
        {
            try
            {
                using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
                {
                    //ojo mon se lo crea pa tener referencia
                    //monetariodet es el nombre de la tabla
                    int x = this.getIdSiguiente(AperturaDet);
                    AperturaDet ape = new AperturaDet()
                    {
                        idEmpresa = AperturaDet.idEmpresa,
                        IdUsuario = AperturaDet.idUsuario,
                        idAperturaCaja = AperturaDet.idAperturaCaja,
                        Numero = x,
                        Denominacion = AperturaDet.Denominacion,
                        Cantidad = AperturaDet.Cantidad,
                        idEstado = AperturaDet.idEstado,

                    };
                    ent.AddToAperturaDet(ape);
                    ent.SaveChanges();

                }
                return true;
            }
            catch (Exception)
            {

                return false;
            }
        }
        public List<clsPago> consultaPago()
        {
            try
            {
                List<clsPago> lista = new List<clsPago>();
                CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities();
                var con = from w in ent.PagoCab select w;
                foreach (var item in con)
                {
                    clsPago pago = new clsPago();
                    pago.NumPago = item.NumPago;
                    pago.FechaIngreso = item.FechaIngreso;
                    pago.TotalPagar = Convert.ToInt32(item.TotalPagar);
                    lista.Add(pago);

                }
                return lista;

            }
            catch (Exception)
            {

                throw;
            }
        }
 public List<clsAperturaDet> consultaAperturaDetGeneral()
 {
     try
     {
         List<clsAperturaDet> lista = new List<clsAperturaDet>();
         CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities();
         var con = from b in ent.AperturaDet select b;
         foreach (var item in con)
         {
             clsAperturaDet AperturaDet = new clsAperturaDet();
             AperturaDet.idEmpresa = item.idEmpresa;
             AperturaDet.idUsuario = item.IdUsuario;
             AperturaDet.idAperturaCaja = item.idAperturaCaja;
             AperturaDet.Numero = item.Numero;
             AperturaDet.Denominacion = item.Denominacion;
             AperturaDet.Cantidad = item.Cantidad;
             AperturaDet.idEstado = item.idEstado;
             lista.Add(AperturaDet);
         }
         return lista;
     }
     catch (Exception)
     {
         return null;
     }
 }
        public List<clsCobro> consultacobro()
        {
            try
            {
                List<clsCobro> lista = new List<clsCobro>();
                CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities();
                var con = from w in ent.Cobro select w;
                foreach (var item in con)
                {
                    clsCobro cobro = new clsCobro();
                    cobro.idCobro = item.idCobro;
                    cobro.Fecha = item.Fecha;
                    cobro.ValorPagado = item.ValorPagado;
                    lista.Add(cobro);

                }
                return lista;

            }
            catch (Exception)
            {

                throw;
            }
        }
        public Boolean guardar(clsTipoInversion inversion)
        {
            try
            {

                using (CuentasPorCobrarEntities entCxC = new CuentasPorCobrarEntities())
                {
                    int x = this.getIdSiguiente();
                    TipoInversion tipoInver = new TipoInversion()
                    {
                        idEmpresa = inversion.idEmpresa,
                        idTipoInversion = x,
                        Descripcion = inversion.Descripcion,
                        Estado =   inversion.Estado,
                    };
                    entCxC.AddToTipoInversion(tipoInver);
                    entCxC.SaveChanges();
                }
                return true;
            }
            catch (Exception ex)
            {
                Console.WriteLine("xxxxxxxxxxxx" + ex);
                return false;
            }
        }
        public List<clsCuentaBancaria> consulta(int cbanca)
        {
            try
            {
                List<clsCuentaBancaria> lista = new List<clsCuentaBancaria>();
                CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities();
                var con = from w in ent.CuentaBancaria where w.idBanco == cbanca select w;
                foreach (var item in con)
                {
                    clsCuentaBancaria cuenta = new clsCuentaBancaria();
                    cuenta.idBanco = item.idBanco;
                    cuenta.idCuentaBancaria = item.idCuentaBancaria;
                    //cuenta.idTitular = (item.idTitular); ni la uso
                    cuenta.NumeroCuenta = (item.NumeroCuenta);
                    cuenta.TipoCuenta = (item.TipoCuenta);

                    cuenta.idEmpresa = item.idEmpresa;
                    lista.Add(cuenta);
                    //cuenta.Estado = 'A';

                }
                return lista;

            }
            catch (Exception)
            {

                return null;
            }
        }
        public List<clsCuentaBancaria> consultaCuentaBancariaGeneral()
        {
            try
            {
                List<clsCuentaBancaria> lista = new List<clsCuentaBancaria>();
                CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities();
                var con = from b in ent.CuentaBancaria select b;
                foreach (var item in con)
                {
                    clsCuentaBancaria CuentaBancaria = new clsCuentaBancaria();
                    CuentaBancaria.idEmpresa = item.idEmpresa;
                    CuentaBancaria.idCuentaBancaria = item.idCuentaBancaria;
                    CuentaBancaria.idBanco = item.idBanco;
                    CuentaBancaria.idTitular = Convert.ToInt32 (item.idTitular);
                    CuentaBancaria.NumeroCuenta = item.NumeroCuenta;
                    CuentaBancaria.TipoCuenta = item.TipoCuenta;
                    CuentaBancaria.Saldo = item.Saldo;
                    CuentaBancaria.Estado = item.Estado;

                    lista.Add(CuentaBancaria);
                }
                return lista;
            }
            catch (Exception)
            {
                return null;
            }
        }
        public void ConsultaPersonaEspecifica(ref String[] strPersona)
        {
            using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
            {
                int idPersona = Convert.ToInt32(strPersona[0]);
                var x = (from q in ent.Persona where q.Identificacion == idPersona select q).First();

                strPersona[0] = Convert.ToString(x.Identificacion); //Error no se puede convertit implicitamente int
                strPersona[1] = x.NombreRazonSocial + " " + x.Apellido;
            }
        }
        /*
         public void consultaBancoEspecifica(clsBanco Banco)
        {
            using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
            {
                var x = (from q in ent.Banco where q.idBanco == Banco.idBanco select q).First();

                Banco.idEmpresa = x.idEmpresa; //Error no se puede convertit implicitamente int
                Banco.idBanco = x.idBanco;
                Banco.Nombre = x.Nombre;
                Banco.Estado = x.Estado;
            }

        }*/
        public void consultaTipoInversionEspecifica(clsTipoInversion tipoInversion)
        {
            using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
            {
                var x = (from q in ent.TipoInversion where q.idTipoInversion == tipoInversion.idTipoInversion select q).First();

                tipoInversion.idEmpresa = x.idEmpresa; //Error no se puede convertit implicitamente int
                tipoInversion.idTipoInversion = x.idTipoInversion;
                tipoInversion.Descripcion = x.Descripcion;
                tipoInversion.Estado = x.Estado;
            }
        }
        public void ConsultaTarjetaCreditoEspecifica(clsTarjetaCredito TarjetaCredito)
        {
            using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
            {
                var x = (from q in ent.TarjetaCredito where q.idTarjeta == TarjetaCredito.idTarjeta select q).First();

                TarjetaCredito.idEmpresa = Convert.ToInt32(x.idEmpresa); //Error no se puede convertit implicitamente int
                TarjetaCredito.idTarjeta = Convert.ToInt32(x.idTarjeta);
                TarjetaCredito.Descripcion = x.descripcion;
                TarjetaCredito.idBanco = Convert.ToInt32(x.idBanco);
                TarjetaCredito.Estado = x.Estado;
            }
        }
 public int getIdSiguiente()
 {
     try
     {
         CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities();
         int x = ((from a in ent.TipoInversion select a.idTipoInversion).Max()) + 1;
         return x;
     }
     catch (Exception e)
     {
         Console.WriteLine("Error: " + e);
         return 1; //en caso de que no exista algun registro
     }
 }
 public int getIdSiguiente(clsAperturaDet AperturaDet)
 {
     try
     {
         CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities();
         int x = ((from a in ent.AperturaDet where a.idAperturaCaja == AperturaDet.idAperturaCaja select a.Numero).Max()) + 1;
         return x;
     }
     catch (Exception e)
     {
         Console.WriteLine("Error: " + e);
         return 1; //en caso de que no exista algun registro
     }
 }
        public void consultaAperturaCajaEspecificaFecha(clsAperturaCaja AperturaCaja, DateTime FechaHoy)
        {
            using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
            {
                var x = (from q in ent.AperturaCaja where q.Fecha == FechaHoy select q).First();

                AperturaCaja.idEmpresa = x.idEmpresa;
                AperturaCaja.idUsuario = x.idUsuario;
                AperturaCaja.idAperturaCaja = x.idAperturaCaja;
                AperturaCaja.Fecha = x.Fecha;
                AperturaCaja.FechaModificacion = Convert.ToDateTime(x.FechaModificacion);
                AperturaCaja.Monto = x.Monto;
                AperturaCaja.idEstado = x.idEstado;
            }
        }
        public Boolean consultaAperturada(DateTime FechaHoy, int idUsuario)
        {
            using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
            {

                var x = (from q in ent.AperturaCaja where q.Fecha == FechaHoy.Date && q.idUsuario == idUsuario select q);
                if (x.Count() > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
        }
 public int ConsultaClienteTaller(int orden)
 {
     try
     {
         using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
         {
             var x = (from q in ent.OrdenTrabajo where q.IdOrdenTrabajo == orden select q).First();
             idCliente = x.IdPersona;
         }
     }
     catch (Exception)
     {
         return idCliente;
     }
     return idCliente;
 }
 public string ConsultaIdCliente(int cliente)
 {
     try
     {
         using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
         {
             var x = (from q in ent.ClienteDefactura where q.IdNumeroCliente == cliente select q).First();
             nombre = x.NombreRazonSocial + " " + x.Apellido;
         }
     }
     catch (Exception)
     {
         return nombre;
     }
     return nombre;
 }
        public void ConsultaCuentaBancariaEspecifica(clsCuentaBancaria CBancaria)
        {
            using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
            {
                var x = (from q in ent.CuentaBancaria where q.idCuentaBancaria == CBancaria.idCuentaBancaria select q).First();

                CBancaria.idEmpresa= x.idEmpresa; //Error no se puede convertit implicitamente int
                CBancaria.idCuentaBancaria=x.idCuentaBancaria;
                CBancaria.idBanco=x.idBanco;
                CBancaria.idTitular=Convert.ToInt32 (x.idTitular);
                CBancaria.NumeroCuenta=x.NumeroCuenta ;
                CBancaria.TipoCuenta=x.TipoCuenta;
                CBancaria.Saldo=x.Saldo;
                CBancaria.Estado=x.Estado;
            }
        }
 public int ConsultaIdFactura(int factura)
 {
     try
     {
         using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
         {
             var x = (from q in ent.Factura where q.IdNumeroFactura == factura select q).First();
             idCliente = Convert.ToInt32(x.IdNumeroCliente);
         }
     }
     catch (Exception)
     {
         return idCliente;
     }
     return idCliente;
 }
 public int ConsultaIdFacturaTaller(int factura)
 {
     try
     {
         using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
         {
             var x = (from q in ent.Liquidacion where q.IdLiquidacion == factura select q).First();
             ordenTrabajo = Convert.ToInt32(x.IdOrdenTrabajo);
         }
     }
     catch (Exception)
     {
         return ordenTrabajo;
     }
     return ordenTrabajo;
 }
 public Boolean Eliminar(clsPersonaCXC pe)
 {
     try
     {
         using (CuentasPorCobrarEntities ent = new CuentasPorCobrarEntities())
         {
             var x = (from q in ent.Persona where q.IdPersona == pe.IdPersona select q).First();
             ent.DeleteObject(x);
             ent.SaveChanges();
         }
         return true;
     }
     catch (Exception)
     {
         return false;
     }
 }