Esempio n. 1
0
        public List <ba_Banco_Cuenta_Info> get_list(int IdEmpresa, int IdSucursal, bool mostrar_anulados)
        {
            try
            {
                int IdSucursalIni = IdSucursal;
                int IdSucursalFin = IdSucursal == 0 ? 99999 : IdSucursal;
                List <ba_Banco_Cuenta_Info> Lista;
                using (Entities_banco Context = new Entities_banco())
                {
                    if (mostrar_anulados)
                    {
                        Lista = (from q in Context.ba_Banco_Cuenta
                                 where q.IdEmpresa == IdEmpresa
                                 select new ba_Banco_Cuenta_Info
                        {
                            IdEmpresa = q.IdEmpresa,
                            ba_descripcion = q.ba_descripcion,
                            ba_Num_Cuenta = q.ba_Num_Cuenta,
                            ba_num_digito_cheq = q.ba_num_digito_cheq,
                            ba_Tipo = q.ba_Tipo,
                            Estado = q.Estado,
                            IdBanco = q.IdBanco,
                            IdCtaCble = q.IdCtaCble,
                            EsFlujoObligatorio = q.EsFlujoObligatorio,
                            EstadoBool = q.Estado == "A" ? true : false
                        }).ToList();
                    }
                    else
                    {
                        if (IdSucursal == 0)
                        {
                            Lista = (from q in Context.ba_Banco_Cuenta
                                     where q.IdEmpresa == IdEmpresa &&
                                     q.Estado == "A"
                                     select new ba_Banco_Cuenta_Info
                            {
                                IdEmpresa = q.IdEmpresa,
                                ba_descripcion = q.ba_descripcion,
                                ba_Num_Cuenta = q.ba_Num_Cuenta,
                                ba_num_digito_cheq = q.ba_num_digito_cheq,
                                ba_Tipo = q.ba_Tipo,
                                Estado = q.Estado,
                                IdBanco = q.IdBanco,
                                IdCtaCble = q.IdCtaCble,
                                EsFlujoObligatorio = q.EsFlujoObligatorio,

                                EstadoBool = q.Estado == "A" ? true : false
                            }).ToList();
                        }
                        else
                        {
                            Lista = (from q in Context.ba_Banco_Cuenta
                                     join b in Context.ba_Banco_Cuenta_x_tb_sucursal
                                     on new { q.IdEmpresa, q.IdBanco } equals new { b.IdEmpresa, b.IdBanco }
                                     where q.IdEmpresa == IdEmpresa &&
                                     q.Estado == "A" &&
                                     IdSucursalIni <= b.IdSucursal &&
                                     b.IdSucursal <= IdSucursalFin
                                     select new ba_Banco_Cuenta_Info
                            {
                                IdEmpresa = q.IdEmpresa,
                                ba_descripcion = q.ba_descripcion,
                                ba_Num_Cuenta = q.ba_Num_Cuenta,
                                ba_num_digito_cheq = q.ba_num_digito_cheq,
                                ba_Tipo = q.ba_Tipo,
                                Estado = q.Estado,
                                IdBanco = q.IdBanco,
                                IdCtaCble = q.IdCtaCble,
                                EsFlujoObligatorio = q.EsFlujoObligatorio,

                                EstadoBool = q.Estado == "A" ? true : false
                            }).ToList();
                        }
                    }
                }
                return(Lista);
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 2
0
        public bool guardarDB(ba_Conciliacion_Info info)
        {
            try
            {
                using (Entities_banco Context = new Entities_banco())
                {
                    var id = get_id(info.IdEmpresa);
                    Context.ba_Conciliacion.Add(new ba_Conciliacion
                    {
                        IdEmpresa               = info.IdEmpresa,
                        IdConciliacion          = info.IdConciliacion = id,
                        IdBanco                 = info.IdBanco,
                        IdPeriodo               = info.IdPeriodo,
                        co_Fecha                = info.co_Fecha,
                        IdEstado_Concil_Cat     = info.IdEstado_Concil_Cat,
                        co_SaldoContable_MesAnt = info.co_SaldoContable_MesAnt,
                        co_totalIng             = info.co_totalIng,
                        co_totalEgr             = info.co_totalEgr,
                        co_SaldoContable_MesAct = info.co_SaldoContable_MesAct,
                        co_SaldoBanco_EstCta    = info.co_SaldoBanco_EstCta,
                        co_SaldoBanco_anterior  = info.co_SaldoBanco_anterior,
                        co_Observacion          = info.co_Observacion,
                        Estado = info.Estado = "A",
                    });
                    int secuencia = 1;
                    foreach (var item in info.lst_det)
                    {
                        Context.ba_Conciliacion_det_IngEgr.Add(new ba_Conciliacion_det_IngEgr
                        {
                            IdEmpresa         = info.IdEmpresa,
                            IdConciliacion    = info.IdConciliacion,
                            Secuencia         = secuencia++,
                            tipo_IngEgr       = item.tipo_IngEgr,
                            IdTipocbte        = item.IdTipocbte,
                            IdCbteCble        = item.IdCbteCble,
                            SecuenciaCbteCble = item.SecuenciaCbteCble,
                            Estado            = "A",
                            @checked          = item.seleccionado
                        });
                        if (info.IdEstado_Concil_Cat == "CONCILIADO")
                        {
                            var cbte = Context.ba_Cbte_Ban.Where(q => q.IdEmpresa == info.IdEmpresa && item.IdTipocbte == q.IdTipocbte && q.IdCbteCble == item.IdCbteCble).FirstOrDefault();
                            if (cbte != null)
                            {
                                cbte.IdEstado_cheque_cat = "ESTCBCOB";
                            }
                        }
                    }
                    if (info.List_detalle.Count() > 0)
                    {
                        foreach (var item in info.List_detalle)
                        {
                            Context.ba_Conciliacion_det.Add(new ba_Conciliacion_det
                            {
                                IdEmpresa      = info.IdEmpresa,
                                IdConciliacion = info.IdConciliacion,
                                IdTipocbte     = item.IdTipocbte,
                                Fecha          = item.Fecha,
                                Observacion    = item.Observacion,
                                Referencia     = item.Referencia,
                                Secuencia      = secuencia++,
                                Seleccionado   = item.Seleccionado,
                                tipo_IngEgr    = item.tipo_IngEgr,
                                Valor          = item.Valor
                            });
                        }
                    }
                    Context.SaveChanges();
                }

                return(true);
            }
            catch (Exception ex)
            {
                tb_LogError_Data LogData = new tb_LogError_Data();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "ba_Conciliacion_Data", Metodo = "guardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
Esempio n. 3
0
        public List <ba_Cbte_Ban_Info> get_list(int IdEmpresa, DateTime Fecha_ini, DateTime Fecha_fin, int IdSucursal, string CodCbte, bool mostrar_anulados)
        {
            try
            {
                Fecha_ini = Fecha_ini.Date;
                Fecha_fin = Fecha_fin.Date;

                int IdSucursal_ini = IdSucursal;
                int IdSucursal_fin = IdSucursal == 0 ? 9999 : IdSucursal;

                List <ba_Cbte_Ban_Info> Lista;
                using (Entities_banco Context = new Entities_banco())
                {
                    if (mostrar_anulados)
                    {
                        Lista = (from q in Context.vwba_Cbte_Ban
                                 where q.IdEmpresa == IdEmpresa &&
                                 Fecha_ini <= q.cb_Fecha &&
                                 q.cb_Fecha <= Fecha_fin &&
                                 q.CodTipoCbteBan == CodCbte &&
                                 IdSucursal_ini <= q.IdSucursal && q.IdSucursal <= IdSucursal_fin
                                 orderby q.IdCbteCble descending
                                 select new ba_Cbte_Ban_Info
                        {
                            IdEmpresa = q.IdEmpresa,
                            IdTipocbte = q.IdTipocbte,
                            IdCbteCble = q.IdCbteCble,
                            cb_Fecha = q.cb_Fecha,
                            cb_Observacion = q.cb_Observacion,
                            Estado = q.Estado,
                            CodTipoCbteBan = q.CodTipoCbteBan,
                            ba_descripcion = q.ba_descripcion,
                            pe_nombreCompleto = q.pe_nombreCompleto,
                            Su_Descripcion = q.Su_Descripcion,
                            cb_Cheque = q.cb_Cheque,
                            cb_giradoA = q.cb_giradoA,
                            cb_Valor = q.cb_Valor,
                            Imprimir_Solo_el_cheque = q.Imprimir_Solo_el_cheque,
                            IdBanco = q.IdBanco,
                            EstadoBool = q.Estado == "A" ? true : false
                        }).ToList();
                    }
                    else
                    {
                        Lista = (from q in Context.vwba_Cbte_Ban
                                 where q.IdEmpresa == IdEmpresa &&
                                 Fecha_ini <= q.cb_Fecha &&
                                 q.cb_Fecha <= Fecha_fin &&
                                 q.CodTipoCbteBan == CodCbte &&
                                 IdSucursal_ini <= q.IdSucursal && q.IdSucursal <= IdSucursal_fin &&
                                 q.Estado == "A"
                                 orderby q.IdCbteCble descending
                                 select new ba_Cbte_Ban_Info
                        {
                            IdEmpresa = q.IdEmpresa,
                            IdTipocbte = q.IdTipocbte,
                            IdCbteCble = q.IdCbteCble,
                            cb_Fecha = q.cb_Fecha,
                            cb_Observacion = q.cb_Observacion,
                            Estado = q.Estado,
                            CodTipoCbteBan = q.CodTipoCbteBan,
                            ba_descripcion = q.ba_descripcion,
                            pe_nombreCompleto = q.pe_nombreCompleto,
                            Su_Descripcion = q.Su_Descripcion,
                            cb_Cheque = q.cb_Cheque,
                            cb_giradoA = q.cb_giradoA,
                            cb_Valor = q.cb_Valor,
                            Imprimir_Solo_el_cheque = q.Imprimir_Solo_el_cheque,
                            IdBanco = q.IdBanco,
                            EstadoBool = q.Estado == "A" ? true : false
                        }).ToList();
                    }
                }

                return(Lista);
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 4
0
        public bool modificarDB(ba_Cbte_Ban_Info info, cl_enumeradores.eTipoCbteBancario TipoCbteBanco)
        {
            Entities_banco             Context_b   = new Entities_banco();
            Entities_contabilidad      Context_ct  = new Entities_contabilidad();
            Entities_cuentas_por_pagar Context_cxp = new Entities_cuentas_por_pagar();

            try
            {
                #region Variables
                string  TipoCbteBancoS = TipoCbteBanco.ToString();
                int     secuencia      = 1;
                decimal Idcancelacion  = 0;
                #endregion

                #region Diario
                var diario = Context_ct.ct_cbtecble.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble).FirstOrDefault();
                if (diario == null)
                {
                    return(false);
                }

                diario.cb_Fecha         = info.cb_Fecha.Date;
                diario.cb_Observacion   = info.cb_Observacion;
                diario.IdPeriodo        = info.IdPeriodo = Convert.ToInt32(info.cb_Fecha.Date.ToString("yyyyMM"));
                diario.IdSucursal       = info.IdSucursal;
                diario.cb_Valor         = info.cb_Valor;
                diario.cb_FechaUltModi  = DateTime.Now;
                diario.IdUsuarioUltModi = info.IdUsuario;

                var lst_diario_det = Context_ct.ct_cbtecble_det.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipoCbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble).ToList();
                Context_ct.ct_cbtecble_det.RemoveRange(lst_diario_det);
                foreach (var item in info.lst_det_ct)
                {
                    Context_ct.ct_cbtecble_det.Add(new ct_cbtecble_det
                    {
                        IdEmpresa          = info.IdEmpresa,
                        IdTipoCbte         = info.IdTipocbte,
                        IdCbteCble         = info.IdCbteCble,
                        secuencia          = secuencia++,
                        IdGrupoPresupuesto = item.IdGrupoPresupuesto,
                        IdCtaCble          = item.IdCtaCble,
                        dc_Valor           = Math.Round(item.dc_Valor, 2, MidpointRounding.AwayFromZero),
                        dc_para_conciliar  = item.dc_para_conciliar
                    });
                }
                #endregion
                var list_det = Context_b.ba_Cbte_Ban_x_ba_TipoFlujo.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipocbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble).ToList();
                Context_b.ba_Cbte_Ban_x_ba_TipoFlujo.RemoveRange(list_det);
                info.list_det = info.list_det == null ? new List <ba_Cbte_Ban_x_ba_TipoFlujo_Info>() : info.list_det;
                if (info.list_det.Count > 0)
                {
                    foreach (var item in info.list_det)
                    {
                        Context_b.ba_Cbte_Ban_x_ba_TipoFlujo.Add(new ba_Cbte_Ban_x_ba_TipoFlujo
                        {
                            IdEmpresa   = info.IdEmpresa,
                            IdTipocbte  = info.IdTipocbte,
                            IdCbteCble  = info.IdCbteCble,
                            IdTipoFlujo = item.IdTipoFlujo,
                            Valor       = item.Valor,
                            Porcentaje  = item.Porcentaje,
                            Secuencia   = item.Secuencia
                        });
                    }
                }

                #region Cbte bancario
                var mov_ban = Context_b.ba_Cbte_Ban.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdTipocbte == info.IdTipocbte && q.IdCbteCble == info.IdCbteCble).FirstOrDefault();
                if (mov_ban == null)
                {
                    Context_b.ba_Cbte_Ban.Add(new ba_Cbte_Ban
                    {
                        IdEmpresa                = info.IdEmpresa,
                        IdCbteCble               = info.IdCbteCble,
                        IdTipocbte               = info.IdTipocbte,
                        Cod_Cbtecble             = info.Cod_Cbtecble,
                        IdPeriodo                = info.IdPeriodo,
                        IdBanco                  = info.IdBanco,
                        cb_Fecha                 = info.cb_Fecha,
                        cb_Observacion           = info.cb_Observacion,
                        cb_Valor                 = info.cb_Valor,
                        cb_Cheque                = info.cb_Cheque,
                        Estado                   = "A",
                        IdPersona_Girado_a       = info.IdPersona_Girado_a,
                        cb_giradoA               = info.cb_giradoA,
                        cb_ciudadChq             = info.cb_ciudadChq,
                        IdTipoFlujo              = info.IdTipoFlujo,
                        IdTipoNota               = info.IdTipoNota,
                        ValorEnLetras            = info.ValorEnLetras,
                        IdSucursal               = info.IdSucursal,
                        IdEstado_Cbte_Ban_cat    = info.IdEstado_Cbte_Ban_cat,
                        IdEstado_Preaviso_ch_cat = info.IdEstado_Preaviso_ch_cat,
                        IdEstado_cheque_cat      = info.IdEstado_cheque_cat,
                        IdPersona                = info.IdPersona,
                        IdEntidad                = info.IdEntidad,
                        IdTipo_Persona           = info.IdTipo_Persona,
                        IdSolicitudPago          = info.IdSolicitudPago,
                        IdUsuarioUltMod          = info.IdUsuarioUltMod,
                        Fecha_UltMod             = DateTime.Now
                    });
                }
                else
                {
                    mov_ban.Cod_Cbtecble             = info.Cod_Cbtecble;
                    mov_ban.IdPeriodo                = info.IdPeriodo;
                    mov_ban.IdBanco                  = info.IdBanco;
                    mov_ban.cb_Fecha                 = info.cb_Fecha;
                    mov_ban.cb_Observacion           = info.cb_Observacion;
                    mov_ban.cb_Valor                 = info.cb_Valor;
                    mov_ban.cb_Cheque                = info.cb_Cheque;
                    mov_ban.IdPersona_Girado_a       = info.IdPersona_Girado_a;
                    mov_ban.cb_giradoA               = info.cb_giradoA;
                    mov_ban.cb_ciudadChq             = info.cb_ciudadChq;
                    mov_ban.IdTipoFlujo              = info.IdTipoFlujo;
                    mov_ban.IdTipoNota               = info.IdTipoNota;
                    mov_ban.ValorEnLetras            = info.ValorEnLetras;
                    mov_ban.IdSucursal               = info.IdSucursal;
                    mov_ban.IdEstado_Cbte_Ban_cat    = info.IdEstado_Cbte_Ban_cat;
                    mov_ban.IdEstado_Preaviso_ch_cat = info.IdEstado_Preaviso_ch_cat;
                    mov_ban.IdEstado_cheque_cat      = info.IdEstado_cheque_cat;
                    mov_ban.IdPersona                = info.IdPersona;
                    mov_ban.IdEntidad                = info.IdEntidad;
                    mov_ban.IdTipo_Persona           = info.IdTipo_Persona;
                    mov_ban.IdUsuarioUltMod          = info.IdUsuarioUltMod;
                    mov_ban.Fecha_UltMod             = DateTime.Now;
                    mov_ban.IdSolicitudPago          = info.IdSolicitudPago;
                }
                #endregion

                switch (TipoCbteBanco)
                {
                case cl_enumeradores.eTipoCbteBancario.CHEQ:
                    #region Guardo cancelaciones
                    var lst_cancelaciones = Context_cxp.cp_orden_pago_cancelaciones.Where(q => q.IdEmpresa_pago == info.IdEmpresa && q.IdTipoCbte_pago == info.IdTipocbte && q.IdCbteCble_pago == info.IdCbteCble).ToList();
                    Context_cxp.cp_orden_pago_cancelaciones.RemoveRange(lst_cancelaciones);
                    Idcancelacion = odata_can.get_id(info.IdEmpresa);
                    secuencia     = 1;
                    foreach (var item in info.lst_det_canc_op)
                    {
                        Context_cxp.cp_orden_pago_cancelaciones.Add(new cp_orden_pago_cancelaciones
                        {
                            IdEmpresa     = info.IdEmpresa,
                            Idcancelacion = Idcancelacion,
                            Secuencia     = secuencia++,

                            IdEmpresa_op   = item.IdEmpresa_op,
                            IdOrdenPago_op = item.IdOrdenPago_op,
                            Secuencia_op   = item.Secuencia_op,

                            IdEmpresa_cxp  = item.IdEmpresa_cxp,
                            IdTipoCbte_cxp = item.IdTipoCbte_cxp,
                            IdCbteCble_cxp = item.IdCbteCble_cxp,

                            IdEmpresa_pago  = info.IdEmpresa,
                            IdTipoCbte_pago = info.IdTipocbte,
                            IdCbteCble_pago = info.IdCbteCble,

                            MontoAplicado    = item.MontoAplicado,
                            SaldoActual      = 0,
                            SaldoAnterior    = 0,
                            fechaTransaccion = DateTime.Now,
                            Observacion      = item.Observacion
                        });
                    }
                    #endregion
                    break;

                case cl_enumeradores.eTipoCbteBancario.DEPO:
                    #region Guardo ingresos
                    var lst_ing = Context_b.ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito.Where(q => q.mba_IdEmpresa == info.IdEmpresa && q.mba_IdTipocbte == info.IdTipocbte && q.mba_IdCbteCble == info.IdCbteCble).ToList();
                    Context_b.ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito.RemoveRange(lst_ing);
                    foreach (var item in info.lst_det_ing)
                    {
                        Context_b.ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito.Add(new ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito
                        {
                            mba_IdEmpresa  = info.IdEmpresa,
                            mba_IdTipocbte = info.IdTipocbte,
                            mba_IdCbteCble = info.IdCbteCble,

                            mcj_IdEmpresa  = item.mcj_IdEmpresa,
                            mcj_IdTipocbte = item.mcj_IdTipocbte,
                            mcj_IdCbteCble = item.mcj_IdCbteCble,
                            mcj_Secuencia  = item.mcj_Secuencia
                        });
                    }
                    #endregion
                    break;

                case cl_enumeradores.eTipoCbteBancario.NCBA:
                    break;

                case cl_enumeradores.eTipoCbteBancario.NDBA:
                    #region Guardo cancelaciones
                    var lst_cancelaciones_ndba = Context_cxp.cp_orden_pago_cancelaciones.Where(q => q.IdEmpresa_pago == info.IdEmpresa && q.IdTipoCbte_pago == info.IdTipocbte && q.IdCbteCble_pago == info.IdCbteCble).ToList();
                    Context_cxp.cp_orden_pago_cancelaciones.RemoveRange(lst_cancelaciones_ndba);
                    Idcancelacion = odata_can.get_id(info.IdEmpresa);
                    secuencia     = 1;
                    foreach (var item in info.lst_det_canc_op)
                    {
                        Context_cxp.cp_orden_pago_cancelaciones.Add(new cp_orden_pago_cancelaciones
                        {
                            IdEmpresa     = info.IdEmpresa,
                            Idcancelacion = Idcancelacion,
                            Secuencia     = secuencia++,

                            IdEmpresa_op   = item.IdEmpresa_op,
                            IdOrdenPago_op = item.IdOrdenPago_op,
                            Secuencia_op   = item.Secuencia_op,

                            IdEmpresa_cxp  = item.IdEmpresa_cxp,
                            IdTipoCbte_cxp = item.IdTipoCbte_cxp,
                            IdCbteCble_cxp = item.IdCbteCble_cxp,

                            IdEmpresa_pago  = info.IdEmpresa,
                            IdTipoCbte_pago = info.IdTipocbte,
                            IdCbteCble_pago = info.IdCbteCble,

                            MontoAplicado    = item.MontoAplicado,
                            SaldoActual      = 0,
                            SaldoAnterior    = 0,
                            fechaTransaccion = DateTime.Now,
                            Observacion      = item.Observacion
                        });
                    }
                    #endregion
                    break;
                }

                Context_ct.SaveChanges();
                Context_b.SaveChanges();
                Context_cxp.SaveChanges();

                Context_ct.Dispose();
                Context_b.Dispose();
                Context_cxp.Dispose();
                return(true);
            }
            catch (Exception)
            {
                Context_ct.Dispose();
                Context_b.Dispose();
                Context_cxp.Dispose();
                throw;
            }
        }
        public bool ContabilizarDB(ba_Archivo_Transferencia_Info info)
        {
            try
            {
                ba_Cbte_Ban_Data odata_cbte = new ba_Cbte_Ban_Data();
                tb_banco_procesos_bancarios_x_empresa_Data odataProceso = new tb_banco_procesos_bancarios_x_empresa_Data();
                using (Entities_banco db = new Entities_banco())
                {
                    var proceso = odataProceso.get_info(info.IdEmpresa, info.IdProceso_bancario);
                    if (proceso == null)
                    {
                        return(false);
                    }

                    var cbte = new ba_Cbte_Ban_Info
                    {
                        IdEmpresa      = info.IdEmpresa,
                        cb_Fecha       = info.Fecha,
                        IdSucursal     = info.IdSucursal,
                        IdBanco        = info.IdBanco,
                        cb_Observacion = "Archivo # " + info.IdArchivo.ToString() + " " + info.Observacion,
                        IdTipoNota     = proceso.IdTipoNota,
                        IdUsuario      = info.IdUsuario,
                        list_det       = new List <ba_Cbte_Ban_x_ba_TipoFlujo_Info>(info.Lst_Flujo.Select(q => new ba_Cbte_Ban_x_ba_TipoFlujo_Info
                        {
                            IdTipoFlujo = q.IdTipoFlujo,
                            Valor       = q.Valor,
                            Porcentaje  = q.Porcentaje,
                            IdEmpresa   = info.IdEmpresa
                        }).ToList()),
                        lst_det_ct = new List <ct_cbtecble_det_Info>(info.Lst_diario.Select(q => new ct_cbtecble_det_Info
                        {
                            IdCtaCble           = q.IdCtaCble,
                            dc_Valor            = q.dc_Valor,
                            dc_para_conciliar   = q.dc_para_conciliar,
                            IdCentroCosto       = q.IdCentroCosto,
                            IdPunto_cargo       = q.IdPunto_cargo,
                            IdPunto_cargo_grupo = q.IdPunto_cargo_grupo
                        }).ToList()),
                        lst_det_canc_op = new List <cp_orden_pago_cancelaciones_Info>(info.Lst_det.Select(q => new cp_orden_pago_cancelaciones_Info
                        {
                            IdEmpresa_op   = q.IdEmpresa_OP,
                            IdOrdenPago_op = q.IdOrdenPago,
                            Secuencia_op   = q.Secuencia_OP,

                            IdEmpresa_cxp  = q.IdEmpresa_cxp,
                            IdTipoCbte_cxp = q.IdTipoCbte_cxp,
                            IdCbteCble_cxp = q.IdCbteCble_cxp,
                            MontoAplicado  = q.Valor,

                            Observacion = "Archivo # " + info.IdArchivo.ToString() + " " + q.Referencia
                        }).ToList())
                    };
                    if (odata_cbte.guardarDB(cbte, Info.Helps.cl_enumeradores.eTipoCbteBancario.NDBA))
                    {
                        var Entity = db.ba_Archivo_Transferencia.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdArchivo == info.IdArchivo).FirstOrDefault();
                        if (Entity != null)
                        {
                            Entity.Contabilizado        = true;
                            Entity.Fecha_Proceso        = DateTime.Now;
                            Entity.IdUsuarioContabiliza = info.IdUsuario;
                            Entity.IdTipoCbte           = cbte.IdTipocbte;
                            Entity.IdCbteCble           = cbte.IdCbteCble;
                            db.SaveChanges();
                        }
                    }
                }


                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 6
0
        public bool guardarDB(ba_Cbte_Ban_Info info, cl_enumeradores.eTipoCbteBancario TipoCbteBanco)
        {
            Entities_banco             Context_b   = new Entities_banco();
            Entities_contabilidad      Context_ct  = new Entities_contabilidad();
            Entities_cuentas_por_pagar Context_cxp = new Entities_cuentas_por_pagar();

            try
            {
                #region Variables
                string  TipoCbteBancoS = TipoCbteBanco.ToString();
                int     secuencia      = 1;
                decimal Idcancelacion  = 0;
                #endregion

                #region Datos para el diario
                var e_TipoCbteBan = Context_b.ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo.Where(q => q.CodTipoCbteBan == TipoCbteBancoS && q.IdEmpresa == info.IdEmpresa).FirstOrDefault();
                if (e_TipoCbteBan == null)
                {
                    return(false);
                }
                info.IdTipocbte = e_TipoCbteBan.IdTipoCbteCble;
                info.IdCbteCble = odata_ct.get_id(info.IdEmpresa, info.IdTipocbte);
                #endregion

                #region Diario
                Context_ct.ct_cbtecble.Add(new ct_cbtecble
                {
                    IdEmpresa      = info.IdEmpresa,
                    IdTipoCbte     = info.IdTipocbte,
                    IdCbteCble     = info.IdCbteCble,
                    cb_Fecha       = info.cb_Fecha.Date,
                    cb_Observacion = info.cb_Observacion,
                    IdPeriodo      = info.IdPeriodo = Convert.ToInt32(info.cb_Fecha.Date.ToString("yyyyMM")),
                    IdSucursal     = info.IdSucursal,

                    cb_FechaTransac = DateTime.Now,
                    cb_Estado       = "A",
                    cb_Valor        = info.cb_Valor,
                    IdUsuario       = info.IdUsuario
                });

                foreach (var item in info.lst_det_ct)
                {
                    Context_ct.ct_cbtecble_det.Add(new ct_cbtecble_det
                    {
                        IdEmpresa          = info.IdEmpresa,
                        IdTipoCbte         = info.IdTipocbte,
                        IdCbteCble         = info.IdCbteCble,
                        IdGrupoPresupuesto = item.IdGrupoPresupuesto,
                        secuencia          = secuencia++,
                        IdCtaCble          = item.IdCtaCble,
                        dc_Valor           = Math.Round(item.dc_Valor, 2, MidpointRounding.AwayFromZero),
                        dc_para_conciliar  = item.dc_para_conciliar
                    });
                }
                #endregion

                #region Cbte bancario
                Context_b.ba_Cbte_Ban.Add(new ba_Cbte_Ban
                {
                    IdEmpresa                = info.IdEmpresa,
                    IdCbteCble               = info.IdCbteCble,
                    IdTipocbte               = info.IdTipocbte,
                    Cod_Cbtecble             = info.Cod_Cbtecble,
                    IdPeriodo                = info.IdPeriodo,
                    IdBanco                  = info.IdBanco,
                    cb_Fecha                 = info.cb_Fecha,
                    cb_Observacion           = info.cb_Observacion,
                    cb_Valor                 = info.cb_Valor,
                    cb_Cheque                = info.cb_Cheque,
                    Estado                   = "A",
                    IdPersona_Girado_a       = info.IdPersona_Girado_a,
                    cb_giradoA               = info.cb_giradoA,
                    cb_ciudadChq             = info.cb_ciudadChq,
                    IdTipoFlujo              = info.IdTipoFlujo,
                    IdTipoNota               = info.IdTipoNota,
                    ValorEnLetras            = info.ValorEnLetras,
                    IdSucursal               = info.IdSucursal,
                    IdEstado_Cbte_Ban_cat    = info.IdEstado_Cbte_Ban_cat,
                    IdEstado_Preaviso_ch_cat = info.IdEstado_Preaviso_ch_cat,
                    IdEstado_cheque_cat      = info.IdEstado_cheque_cat = "ESTCBEMI",
                    IdPersona                = info.IdPersona,
                    IdEntidad                = info.IdEntidad,
                    IdTipo_Persona           = info.IdTipo_Persona,
                    IdSolicitudPago          = info.IdSolicitudPago,

                    IdUsuario     = info.IdUsuario,
                    Fecha_Transac = info.Fecha_Transac,
                });
                #endregion

                #region Flujo
                info.list_det = info.list_det == null ? new List <ba_Cbte_Ban_x_ba_TipoFlujo_Info>() : info.list_det;
                if (info.list_det.Count > 0)
                {
                    foreach (var item in info.list_det)
                    {
                        Context_b.ba_Cbte_Ban_x_ba_TipoFlujo.Add(new ba_Cbte_Ban_x_ba_TipoFlujo
                        {
                            IdEmpresa   = info.IdEmpresa,
                            IdTipocbte  = info.IdTipocbte,
                            IdCbteCble  = info.IdCbteCble,
                            IdTipoFlujo = item.IdTipoFlujo,
                            Valor       = item.Valor,
                            Porcentaje  = item.Porcentaje,
                            Secuencia   = item.Secuencia
                        });
                    }
                }
                #endregion
                switch (TipoCbteBanco)
                {
                case cl_enumeradores.eTipoCbteBancario.CHEQ:
                    #region Guardo cancelaciones
                    Idcancelacion = odata_can.get_id(info.IdEmpresa);
                    secuencia     = 1;
                    foreach (var item in info.lst_det_canc_op)
                    {
                        Context_cxp.cp_orden_pago_cancelaciones.Add(new cp_orden_pago_cancelaciones
                        {
                            IdEmpresa     = info.IdEmpresa,
                            Idcancelacion = Idcancelacion,
                            Secuencia     = secuencia++,

                            IdEmpresa_op   = item.IdEmpresa_op,
                            IdOrdenPago_op = item.IdOrdenPago_op,
                            Secuencia_op   = item.Secuencia_op,

                            IdEmpresa_cxp  = item.IdEmpresa_cxp,
                            IdTipoCbte_cxp = item.IdTipoCbte_cxp,
                            IdCbteCble_cxp = item.IdCbteCble_cxp,

                            IdEmpresa_pago  = info.IdEmpresa,
                            IdTipoCbte_pago = info.IdTipocbte,
                            IdCbteCble_pago = info.IdCbteCble,

                            MontoAplicado    = item.MontoAplicado,
                            SaldoActual      = 0,
                            SaldoAnterior    = 0,
                            fechaTransaccion = DateTime.Now,
                            Observacion      = item.Observacion
                        });
                    }
                    #endregion

                    var cheque = Context_b.ba_Talonario_cheques_x_banco.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdBanco == info.IdBanco && q.Num_cheque == info.cb_Cheque).FirstOrDefault();
                    if (cheque != null)
                    {
                        cheque.IdEmpresa_cbtecble_Usado  = info.IdEmpresa;
                        cheque.IdTipoCbte_cbtecble_Usado = info.IdTipocbte;
                        cheque.IdCbteCble_cbtecble_Usado = info.IdCbteCble;
                        cheque.Usado = true;
                    }
                    break;

                case cl_enumeradores.eTipoCbteBancario.DEPO:
                    #region Guardo ingresos
                    foreach (var item in info.lst_det_ing)
                    {
                        Context_b.ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito.Add(new ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito
                        {
                            mba_IdEmpresa  = info.IdEmpresa,
                            mba_IdTipocbte = info.IdTipocbte,
                            mba_IdCbteCble = info.IdCbteCble,

                            mcj_IdEmpresa  = item.mcj_IdEmpresa,
                            mcj_IdTipocbte = item.mcj_IdTipocbte,
                            mcj_IdCbteCble = item.mcj_IdCbteCble,
                            mcj_Secuencia  = item.mcj_Secuencia
                        });
                    }
                    #endregion
                    break;

                case cl_enumeradores.eTipoCbteBancario.NCBA:
                    break;

                case cl_enumeradores.eTipoCbteBancario.NDBA:
                    #region Guardo cancelaciones
                    Idcancelacion = odata_can.get_id(info.IdEmpresa);
                    secuencia     = 1;
                    foreach (var item in info.lst_det_canc_op)
                    {
                        Context_cxp.cp_orden_pago_cancelaciones.Add(new cp_orden_pago_cancelaciones
                        {
                            IdEmpresa     = info.IdEmpresa,
                            Idcancelacion = Idcancelacion,
                            Secuencia     = secuencia++,

                            IdEmpresa_op   = item.IdEmpresa_op,
                            IdOrdenPago_op = item.IdOrdenPago_op,
                            Secuencia_op   = item.Secuencia_op,

                            IdEmpresa_cxp  = item.IdEmpresa_cxp,
                            IdTipoCbte_cxp = item.IdTipoCbte_cxp,
                            IdCbteCble_cxp = item.IdCbteCble_cxp,

                            IdEmpresa_pago  = info.IdEmpresa,
                            IdTipoCbte_pago = info.IdTipocbte,
                            IdCbteCble_pago = info.IdCbteCble,

                            MontoAplicado    = item.MontoAplicado,
                            SaldoActual      = 0,
                            SaldoAnterior    = 0,
                            fechaTransaccion = DateTime.Now,
                            Observacion      = item.Observacion
                        });
                    }
                    #endregion
                    break;
                }

                Context_ct.SaveChanges();
                Context_b.SaveChanges();
                Context_cxp.SaveChanges();

                Context_ct.Dispose();
                Context_b.Dispose();
                Context_cxp.Dispose();
                return(true);
            }
            catch (Exception)
            {
                Context_ct.Dispose();
                Context_b.Dispose();
                Context_cxp.Dispose();
                throw;
            }
        }
        public bool ModificarDB(ba_Archivo_Transferencia_Info info)
        {
            try
            {
                using (Entities_banco Context = new Entities_banco())
                {
                    ba_Archivo_Transferencia Entity = Context.ba_Archivo_Transferencia.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdArchivo == info.IdArchivo).FirstOrDefault();
                    if (Entity == null)
                    {
                        return(false);
                    }

                    Entity.Nom_Archivo     = info.Nom_Archivo;
                    Entity.Observacion     = info.Observacion;
                    Entity.IdUsuarioUltMod = info.IdUsuarioUltMod;
                    Entity.Fecha_UltMod    = DateTime.Now;

                    var Lst_det = Context.ba_Archivo_Transferencia_Det.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdArchivo == info.IdArchivo).ToList();
                    Context.ba_Archivo_Transferencia_Det.RemoveRange(Lst_det);
                    if (info.Lst_det.Count() > 0)
                    {
                        foreach (var item in info.Lst_det)
                        {
                            Context.ba_Archivo_Transferencia_Det.Add(new ba_Archivo_Transferencia_Det
                            {
                                IdEmpresa                = info.IdEmpresa,
                                IdArchivo                = info.IdArchivo,
                                Estado                   = item.Estado,
                                IdOrdenPago              = item.IdOrdenPago,
                                IdEmpresa_OP             = info.IdEmpresa,
                                Secuencia                = item.Secuencia,
                                Secuencial_reg_x_proceso = item.Secuencial_reg_x_proceso,
                                Secuencia_OP             = item.Secuencia_OP,
                                Valor      = item.Valor,
                                Referencia = item.Referencia
                            });
                        }
                    }
                    int Secuencia = 1;
                    info.Lst_Flujo = info.Lst_Flujo == null ? new List <ba_archivo_transferencia_x_ba_tipo_flujo_Info>() : info.Lst_Flujo;
                    var Lst_flujo = Context.ba_archivo_transferencia_x_ba_tipo_flujo.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdArchivo == info.IdArchivo).ToList();
                    Context.ba_archivo_transferencia_x_ba_tipo_flujo.RemoveRange(Lst_flujo);
                    if (info.Lst_Flujo.Count() > 0)
                    {
                        foreach (var item in info.Lst_Flujo)
                        {
                            Context.ba_archivo_transferencia_x_ba_tipo_flujo.Add(new ba_archivo_transferencia_x_ba_tipo_flujo
                            {
                                IdEmpresa   = info.IdEmpresa,
                                IdArchivo   = info.IdArchivo,
                                IdTipoFlujo = item.IdTipoFlujo,
                                Porcentaje  = item.Porcentaje,
                                Secuencia   = Secuencia++,
                                Valor       = item.Valor
                            });
                        }
                    }

                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                tb_LogError_Data LogData = new tb_LogError_Data();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "ba_Archivo_Transferencia_Data", Metodo = "ModificarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
 public List <ba_Archivo_Transferencia_Info> GetList(int IdEmpresa, int IdSucursal, DateTime fechaini, DateTime fechafin, bool mostrar_anulados)
 {
     try
     {
         int IdSucursal_ini = IdSucursal;
         int IdSucursal_fin = IdSucursal == 0 ? 9999 : IdSucursal;
         List <ba_Archivo_Transferencia_Info> Lista;
         using (Entities_banco Context = new Entities_banco())
         {
             if (mostrar_anulados)
             {
                 Lista = Context.ba_Archivo_Transferencia.Where(q => q.IdEmpresa == IdEmpresa &&
                                                                IdSucursal_ini <= q.IdSucursal &&
                                                                q.IdSucursal <= IdSucursal_fin &&
                                                                fechaini <= q.Fecha &&
                                                                q.Fecha <= fechafin
                                                                ).Select(q => new ba_Archivo_Transferencia_Info
                 {
                     IdEmpresa          = q.IdEmpresa,
                     cod_archivo        = q.cod_archivo,
                     Cod_Empresa        = q.Cod_Empresa,
                     Contabilizado      = q.Contabilizado,
                     Estado             = q.Estado,
                     Fecha              = q.Fecha,
                     Fecha_Proceso      = q.Fecha_Proceso,
                     IdArchivo          = q.IdArchivo,
                     IdBanco            = q.IdBanco,
                     IdProceso_bancario = q.IdProceso_bancario,
                     Nom_Archivo        = q.Nom_Archivo,
                     Observacion        = q.Observacion,
                     IdSucursal         = q.IdSucursal,
                     cb_Valor           = q.cb_Valor,
                     IdCbteCble         = q.IdCbteCble,
                     IdTipoCbte         = q.IdTipoCbte
                 }).ToList();
             }
             else
             {
                 Lista = Context.ba_Archivo_Transferencia.Where(q => q.IdEmpresa == IdEmpresa && q.Estado == true).Select(q => new ba_Archivo_Transferencia_Info
                 {
                     IdEmpresa          = q.IdEmpresa,
                     cod_archivo        = q.cod_archivo,
                     Cod_Empresa        = q.Cod_Empresa,
                     Contabilizado      = q.Contabilizado,
                     Estado             = true,
                     Fecha              = q.Fecha,
                     Fecha_Proceso      = q.Fecha_Proceso,
                     IdArchivo          = q.IdArchivo,
                     IdBanco            = q.IdBanco,
                     IdProceso_bancario = q.IdProceso_bancario,
                     Nom_Archivo        = q.Nom_Archivo,
                     Observacion        = q.Observacion,
                     IdSucursal         = q.IdSucursal,
                     cb_Valor           = q.cb_Valor,
                     IdCbteCble         = q.IdCbteCble,
                     IdTipoCbte         = q.IdTipoCbte
                 }).ToList();
             }
         }
         return(Lista);
     }
     catch (Exception)
     {
         throw;
     }
 }
        public bool GuardarDB(ba_Archivo_Transferencia_Info info)
        {
            try
            {
                info.Nom_Archivo = "PAGOS_MULTICASH_" + info.Fecha.ToString("yyyyMMdd") + "_01";
                using (Entities_banco Context = new Entities_banco())
                {
                    Context.ba_Archivo_Transferencia.Add(new ba_Archivo_Transferencia
                    {
                        IdEmpresa          = info.IdEmpresa,
                        IdArchivo          = info.IdArchivo = GetId(info.IdEmpresa),
                        cod_archivo        = info.cod_archivo,
                        Cod_Empresa        = info.Cod_Empresa = "",
                        Contabilizado      = info.Contabilizado,
                        Estado             = true,
                        Fecha              = info.Fecha.Date,
                        IdBanco            = info.IdBanco,
                        IdProceso_bancario = info.IdProceso_bancario,
                        Nom_Archivo        = info.Nom_Archivo,
                        Observacion        = info.Observacion,
                        IdUsuario          = info.IdUsuario,
                        Fecha_Transac      = DateTime.Now,
                        IdSucursal         = info.IdSucursal,
                        SecuencialInicial  = info.SecuencialInicial
                    });

                    int Secuencia = 1;
                    if (info.Lst_det.Count() > 0)
                    {
                        foreach (var item in info.Lst_det)
                        {
                            Context.ba_Archivo_Transferencia_Det.Add(new ba_Archivo_Transferencia_Det
                            {
                                IdEmpresa                = info.IdEmpresa,
                                IdArchivo                = info.IdArchivo,
                                Estado                   = item.Estado,
                                IdOrdenPago              = item.IdOrdenPago,
                                IdEmpresa_OP             = info.IdEmpresa,
                                Secuencia                = Secuencia++,
                                Secuencial_reg_x_proceso = item.Secuencial_reg_x_proceso,
                                Secuencia_OP             = item.Secuencia_OP,
                                Referencia               = item.Referencia,

                                Valor = item.Valor
                            });
                        }
                    }

                    info.Lst_Flujo = info.Lst_Flujo == null ? new List <ba_archivo_transferencia_x_ba_tipo_flujo_Info>() : info.Lst_Flujo;
                    if (info.Lst_Flujo.Count() > 0)
                    {
                        foreach (var item in info.Lst_Flujo)
                        {
                            Context.ba_archivo_transferencia_x_ba_tipo_flujo.Add(new ba_archivo_transferencia_x_ba_tipo_flujo
                            {
                                IdEmpresa   = info.IdEmpresa,
                                IdArchivo   = info.IdArchivo,
                                IdTipoFlujo = item.IdTipoFlujo,
                                Porcentaje  = item.Porcentaje,
                                Secuencia   = Secuencia++,
                                Valor       = item.Valor
                            });
                        }
                    }


                    Context.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                tb_LogError_Data LogData = new tb_LogError_Data();
                LogData.GuardarDB(new tb_LogError_Info {
                    Descripcion = ex.Message, InnerException = ex.InnerException == null ? null : ex.InnerException.Message, Clase = "ba_Archivo_Transferencia_Data", Metodo = "GuardarDB", IdUsuario = info.IdUsuario
                });
                return(false);
            }
        }
        public ba_Cbte_Ban_Info ArmarDiario(cxc_LiquidacionTarjeta_Info info, string IdCtaCble_tarjeta)
        {
            Entities_banco db_b = new Entities_banco();

            try
            {
                var TipoCbte = db_b.ba_Cbte_Ban_tipo_x_ct_CbteCble_tipo.Where(q => q.IdEmpresa == info.IdEmpresa && q.CodTipoCbteBan == "NCBA").FirstOrDefault();
                if (TipoCbte == null)
                {
                    return(null);
                }

                if (info.IdTipoCbte_ct == null)
                {
                    info.IdTipoCbte_ct = TipoCbte.IdTipoCbteCble;
                }

                ba_Cbte_Ban_Info diario = new ba_Cbte_Ban_Info
                {
                    IdEmpresa       = info.IdEmpresa,
                    IdTipocbte      = Convert.ToInt32(info.IdTipoCbte_ct),
                    IdCbteCble      = info.IdCbteCble_ct == null ? 0 : Convert.ToInt32(info.IdCbteCble_ct),
                    cb_Fecha        = info.Fecha,
                    IdUsuario       = info.IdUsuarioCreacion,
                    IdUsuarioUltMod = info.IdUsuarioModificacion,
                    Estado          = "A",
                    IdBanco         = info.IdBanco,
                    cb_Valor        = Math.Round(info.ListaCobros.Sum(q => q.Valor), 2, MidpointRounding.AwayFromZero),
                    IdSucursal      = info.IdSucursal,
                    cb_Observacion  = "LIQ. TARJ. #" + info.IdLiquidacion + " " + info.Observacion,
                    lst_det_ct      = new List <ct_cbtecble_det_Info>()
                };
                int Secuencia = 1;
                var banco     = db_b.ba_Banco_Cuenta.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdBanco == info.IdBanco).FirstOrDefault();
                diario.lst_det_ct.Add(new ct_cbtecble_det_Info
                {
                    secuencia              = Secuencia++,
                    IdCtaCble              = banco.IdCtaCble,
                    dc_Valor               = Math.Round(diario.cb_Valor - info.ListaDet.Sum(q => q.Valor), 2, MidpointRounding.AwayFromZero),
                    dc_para_conciliar      = true,
                    dc_para_conciliar_null = true,
                });
                foreach (var item in info.ListaDet)
                {
                    diario.lst_det_ct.Add(new ct_cbtecble_det_Info
                    {
                        secuencia = Secuencia++,
                        IdCtaCble = item.IdCtaCble,
                        dc_Valor  = Math.Round(item.Valor, 2, MidpointRounding.AwayFromZero),
                    });
                }
                diario.lst_det_ct.Add(new ct_cbtecble_det_Info
                {
                    secuencia = Secuencia++,
                    IdCtaCble = IdCtaCble_tarjeta,
                    dc_Valor  = Math.Round(info.Valor, 2, MidpointRounding.AwayFromZero) * -1,
                });

                diario.lst_det_canc_op = new List <Info.CuentasPorPagar.cp_orden_pago_cancelaciones_Info>();
                diario.lst_det_ing     = new List <ba_Caja_Movimiento_x_Cbte_Ban_x_Deposito_Info>();

                if (Math.Round(diario.lst_det_ct.Sum(q => q.dc_Valor), 2, MidpointRounding.AwayFromZero) != 0)
                {
                    return(null);
                }

                if (diario.lst_det_ct.Where(q => string.IsNullOrEmpty(q.IdCtaCble)).Count() > 0)
                {
                    return(null);
                }
                db_b.Dispose();
                return(diario);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public List <ba_Talonario_cheques_x_banco_Info> get_list(int IdEmpresa, bool mostrar_anulados)
        {
            try
            {
                List <ba_Talonario_cheques_x_banco_Info> Lista;
                using (Entities_banco Context = new Entities_banco())
                {
                    if (mostrar_anulados)
                    {
                        Lista = (from q in Context.ba_Talonario_cheques_x_banco
                                 join p in Context.ba_Banco_Cuenta
                                 on new { q.IdEmpresa, q.IdBanco } equals new { p.IdEmpresa, p.IdBanco }
                                 where q.IdEmpresa == IdEmpresa
                                 select new ba_Talonario_cheques_x_banco_Info
                        {
                            IdEmpresa = q.IdEmpresa,
                            IdBanco = q.IdBanco,
                            Num_cheque = q.Num_cheque,
                            Usado = q.Usado,
                            Estado = q.Estado,
                            secuencia = q.secuencia,
                            IdCbteCble_cbtecble_Usado = q.IdCbteCble_cbtecble_Usado,
                            IdEmpresa_cbtecble_Usado = q.IdEmpresa_cbtecble_Usado,
                            IdTipoCbte_cbtecble_Usado = q.IdTipoCbte_cbtecble_Usado,
                            Fecha_uso = q.Fecha_uso,
                            ba_descripcion = p.ba_descripcion,

                            Estado_bool = q.Estado == "A" ? true : false
                        }).ToList();
                    }
                    else
                    {
                        Lista = (from q in Context.ba_Talonario_cheques_x_banco
                                 join p in Context.ba_Banco_Cuenta
                                 on new { q.IdEmpresa, q.IdBanco } equals new { p.IdEmpresa, p.IdBanco }
                                 where q.IdEmpresa == IdEmpresa &&
                                 q.Estado == "A"
                                 select new ba_Talonario_cheques_x_banco_Info
                        {
                            IdEmpresa = q.IdEmpresa,
                            IdBanco = q.IdBanco,
                            Num_cheque = q.Num_cheque,
                            Usado = q.Usado,
                            Estado = q.Estado,
                            secuencia = q.secuencia,
                            IdCbteCble_cbtecble_Usado = q.IdCbteCble_cbtecble_Usado,
                            IdEmpresa_cbtecble_Usado = q.IdEmpresa_cbtecble_Usado,
                            IdTipoCbte_cbtecble_Usado = q.IdTipoCbte_cbtecble_Usado,
                            Fecha_uso = q.Fecha_uso,
                            ba_descripcion = p.ba_descripcion,

                            Estado_bool = q.Estado == "A" ? true : false
                        }).ToList();
                    }
                }
                return(Lista);
            }
            catch (Exception)
            {
                throw;
            }
        }