Ejemplo n.º 1
0
        public tb_sucursal_Info get_info(int IdEmpresa, int IdSucursal)
        {
            tb_sucursal_Info info = new tb_sucursal_Info();

            Entities_general context_g = new Entities_general();

            info = (from q in context_g.tb_sucursal
                    where q.Estado == "A" &&
                    q.IdEmpresa == IdEmpresa &&
                    q.IdSucursal == IdSucursal
                    select new tb_sucursal_Info
            {
                IdSucursal = q.IdSucursal,
                Su_Descripcion = q.Su_Descripcion,
                codigo = q.codigo,
                Estado = q.Estado,
                Es_establecimiento = q.Es_establecimiento,
                IdEmpresa = q.IdEmpresa,
                Su_CodigoEstablecimiento = q.Su_CodigoEstablecimiento,
                Su_Direccion = q.Su_Direccion,
                Su_JefeSucursal = q.Su_JefeSucursal,
                Su_Ruc = q.Su_Ruc,
                Su_Telefonos = q.Su_Telefonos,
                IdCtaCble_cxp = q.IdCtaCble_cxp,
                IdCtaCble_vtaIVA = q.IdCtaCble_vtaIVA,
                IdCtaCble_vtaIVA0 = q.IdCtaCble_vtaIVA0
            }).FirstOrDefault();

            context_g.Dispose();

            return(info);
        }
Ejemplo n.º 2
0
        public List <tb_empresa_Info> get_list(int skip, int take, string filter)
        {
            try
            {
                List <tb_empresa_Info> Lista = new List <tb_empresa_Info>();

                Entities_general context_g = new Entities_general();

                var lstg = context_g.tb_empresa.Where(q => q.Estado == "A" && (q.IdEmpresa.ToString() + " " + q.em_nombre).Contains(filter)).OrderBy(q => q.IdEmpresa).Skip(skip).Take(take);
                foreach (var q in lstg)
                {
                    Lista.Add(new tb_empresa_Info
                    {
                        IdEmpresa = q.IdEmpresa,
                        codigo    = q.codigo,
                        em_nombre = q.em_nombre
                    });
                }
                context_g.Dispose();
                return(Lista);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 3
0
        public List <tb_sucursal_Info> get_list(int IdEmpresa, int skip, int take, string filter)
        {
            try
            {
                List <tb_sucursal_Info> Lista = new List <tb_sucursal_Info>();

                Entities_general context_g = new Entities_general();

                var lstg = context_g.tb_sucursal.Where(q => q.Estado == "A" && q.IdEmpresa == IdEmpresa && (q.IdSucursal.ToString() + " " + q.Su_Descripcion).Contains(filter)).OrderBy(q => q.IdSucursal).Skip(skip).Take(take);
                foreach (var q in lstg)
                {
                    Lista.Add(new tb_sucursal_Info
                    {
                        IdSucursal     = q.IdSucursal,
                        codigo         = q.codigo,
                        Su_Descripcion = q.Su_Descripcion
                    });
                }

                context_g.Dispose();
                return(Lista);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 4
0
        public cp_proveedor_Info get_info(int IdEmpresa, decimal IdProveedor)
        {
            try
            {
                cp_proveedor_Info          info      = new cp_proveedor_Info();
                Entities_cuentas_por_pagar Context_p = new Entities_cuentas_por_pagar();
                Entities_general           Context_g = new Entities_general();

                cp_proveedor Entity = Context_p.cp_proveedor.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdProveedor == IdProveedor);
                if (Entity == null)
                {
                    return(null);
                }
                info = new cp_proveedor_Info
                {
                    IdEmpresa                     = Entity.IdEmpresa,
                    IdProveedor                   = Entity.IdProveedor,
                    IdPersona                     = Entity.IdPersona,
                    IdClaseProveedor              = Entity.IdClaseProveedor,
                    IdCiudad                      = Entity.IdCiudad,
                    IdBanco_acreditacion          = Entity.IdBanco_acreditacion,
                    IdCtaCble_CXP                 = Entity.IdCtaCble_CXP,
                    IdCtaCble_Gasto               = Entity.IdCtaCble_Gasto,
                    IdTipoCta_acreditacion_cat    = Entity.IdTipoCta_acreditacion_cat,
                    pr_contribuyenteEspecial_bool = Entity.pr_contribuyenteEspecial == "S" ? true : false,
                    es_empresa_relacionada        = Entity.es_empresa_relacionada,
                    num_cta_acreditacion          = Entity.num_cta_acreditacion,
                    pr_codigo                     = Entity.pr_codigo,
                    pr_plazo                      = Entity.pr_plazo,
                    pr_estado                     = Entity.pr_estado,
                    pr_correo                     = Entity.pr_correo,
                    pr_direccion                  = Entity.pr_direccion,
                    pr_telefonos                  = Entity.pr_telefonos,
                    pr_celular                    = Entity.pr_celular,
                    IdCtaCble_Anticipo            = Entity.IdCtaCble_Anticipo
                };
                tb_persona Entity_p = Context_g.tb_persona.Where(q => q.IdPersona == info.IdPersona).FirstOrDefault();
                info.info_persona = new Info.General.tb_persona_Info
                {
                    IdPersona         = Entity_p.IdPersona,
                    pe_apellido       = Entity_p.pe_apellido,
                    pe_nombre         = Entity_p.pe_nombre,
                    pe_cedulaRuc      = Entity_p.pe_cedulaRuc,
                    pe_nombreCompleto = Entity_p.pe_nombreCompleto,
                    pe_razonSocial    = Entity_p.pe_razonSocial,
                    pe_Naturaleza     = Entity_p.pe_Naturaleza,
                    IdTipoDocumento   = Entity_p.IdTipoDocumento
                };

                Context_p.Dispose();
                Context_g.Dispose();
                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 5
0
        public fa_cliente_Info get_info(int IdEmpresa, decimal IdCliente)
        {
            try
            {
                fa_cliente_Info      info      = new fa_cliente_Info();
                Entities_facturacion Context_f = new Entities_facturacion();
                Entities_general     Context_g = new Entities_general();

                fa_cliente Entity = Context_f.fa_cliente.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdCliente == IdCliente);
                if (Entity == null)
                {
                    return(null);
                }

                info = new fa_cliente_Info
                {
                    IdEmpresa = Entity.IdEmpresa,
                    cl_Cupo   = Entity.cl_Cupo,
                    cl_plazo  = Entity.cl_plazo,
                    Codigo    = Entity.Codigo,
                    Estado    = Entity.Estado,
                    es_empresa_relacionada = Entity.es_empresa_relacionada == null ? false : Convert.ToBoolean(Entity.es_empresa_relacionada),
                    IdCliente             = Entity.IdCliente,
                    FormaPago             = Entity.FormaPago,
                    IdCtaCble_Anti        = Entity.IdCtaCble_Anti,
                    IdCtaCble_cxc         = Entity.IdCtaCble_cxc,
                    IdCtaCble_cxc_Credito = Entity.IdCtaCble_cxc_Credito,
                    IdPersona             = Entity.IdPersona,
                    IdTipoCredito         = Entity.IdTipoCredito,
                    Idtipo_cliente        = Entity.Idtipo_cliente,
                    NivelPrecio           = Entity.NivelPrecio,
                    EsClienteExportador   = Entity.EsClienteExportador
                };
                tb_persona Entity_p = Context_g.tb_persona.Where(q => q.IdPersona == info.IdPersona).FirstOrDefault();
                info.info_persona = new Info.General.tb_persona_Info
                {
                    IdPersona         = Entity_p.IdPersona,
                    pe_apellido       = Entity_p.pe_apellido,
                    pe_nombre         = Entity_p.pe_nombre,
                    pe_cedulaRuc      = Entity_p.pe_cedulaRuc,
                    pe_nombreCompleto = Entity_p.pe_nombreCompleto,
                    pe_razonSocial    = Entity_p.pe_razonSocial,
                    pe_Naturaleza     = Entity_p.pe_Naturaleza,
                    IdTipoDocumento   = Entity_p.IdTipoDocumento
                };

                Context_f.Dispose();
                Context_g.Dispose();
                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 6
0
 public List <tb_banco_Info> get_list(int skip, int take, string filter)
 {
     try
     {
         List <tb_banco_Info> Lista   = new List <tb_banco_Info>();
         Entities_general     Context = new Entities_general();
         var lst = (from
                    p in Context.tb_banco
                    where  (p.IdBanco.ToString() + " " + p.ba_descripcion).Contains(filter)
                    select new
         {
             p.IdBanco,
             p.ba_descripcion,
             p.CodigoLegal,
             p.TieneFormatoTransferencia,
             p.Estado
         })
                   .OrderBy(p => p.IdBanco)
                   .Skip(skip)
                   .Take(take)
                   .ToList();
         foreach (var q in lst)
         {
             Lista.Add(new tb_banco_Info
             {
                 IdBanco                   = q.IdBanco,
                 ba_descripcion            = q.ba_descripcion,
                 CodigoLegal               = q.CodigoLegal,
                 TieneFormatoTransferencia = q.TieneFormatoTransferencia,
                 Estado = q.Estado
             });
         }
         Context.Dispose();
         return(Lista);
     }
     catch (Exception)
     {
         throw;
     }
 }
Ejemplo n.º 7
0
        public fa_cliente_Info get_info(int IdEmpresa, decimal IdCliente)
        {
            try
            {
                fa_cliente_Info      info      = new fa_cliente_Info();
                Entities_facturacion Context_f = new Entities_facturacion();
                Entities_general     Context_g = new Entities_general();

                fa_cliente Entity = Context_f.fa_cliente.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdCliente == IdCliente);
                if (Entity == null)
                {
                    return(null);
                }

                info = new fa_cliente_Info
                {
                    IdEmpresa = Entity.IdEmpresa,
                    cl_Cupo   = Entity.cl_Cupo,
                    cl_plazo  = Entity.cl_plazo,
                    Codigo    = Entity.Codigo,
                    Estado    = Entity.Estado,
                    es_empresa_relacionada = Entity.es_empresa_relacionada,
                    IdCliente             = Entity.IdCliente,
                    FormaPago             = Entity.FormaPago,
                    IdCtaCble_cxc_Credito = Entity.IdCtaCble_cxc_Credito,
                    IdCtaCble_Anticipo    = Entity.IdCtaCble_Anticipo,
                    IdPersona             = Entity.IdPersona,
                    IdTipoCredito         = Entity.IdTipoCredito,
                    Idtipo_cliente        = Entity.Idtipo_cliente,
                    IdNivel             = Entity.IdNivel,
                    EsClienteExportador = Entity.EsClienteExportador
                };

                fa_cliente_contactos Entity_contacto = Context_f.fa_cliente_contactos.Where(q => q.IdEmpresa == info.IdEmpresa && q.IdCliente == info.IdCliente).FirstOrDefault();
                info.IdContacto  = Entity_contacto.IdContacto;
                info.Correo      = Entity_contacto.Correo;
                info.Direccion   = Entity_contacto.Direccion;
                info.Telefono    = Entity_contacto.Telefono;
                info.Celular     = Entity_contacto.Celular;
                info.IdCiudad    = Entity_contacto.IdCiudad;
                info.IdParroquia = Entity_contacto.IdParroquia;

                tb_ciudad Entity_ciudad = Context_g.tb_ciudad.Where(q => q.IdCiudad == info.IdCiudad).FirstOrDefault();
                info.Descripcion_Ciudad = Entity_ciudad.Descripcion_Ciudad;

                tb_persona Entity_p = Context_g.tb_persona.Where(q => q.IdPersona == info.IdPersona).FirstOrDefault();
                info.info_persona = new Info.General.tb_persona_Info
                {
                    IdPersona         = Entity_p.IdPersona,
                    pe_apellido       = Entity_p.pe_apellido,
                    pe_nombre         = Entity_p.pe_nombre,
                    pe_cedulaRuc      = Entity_p.pe_cedulaRuc,
                    pe_nombreCompleto = Entity_p.pe_nombreCompleto,
                    pe_razonSocial    = Entity_p.pe_razonSocial,
                    pe_Naturaleza     = Entity_p.pe_Naturaleza,
                    IdTipoDocumento   = Entity_p.IdTipoDocumento
                };

                Context_f.Dispose();
                Context_g.Dispose();
                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 8
0
        public fa_cliente_Info get_info_x_num_cedula(int IdEmpresa, string pe_cedulaRuc)
        {
            try
            {
                fa_cliente_Info info = new fa_cliente_Info
                {
                    info_persona = new Info.General.tb_persona_Info()
                };

                Entities_general Context_general = new Entities_general();
                tb_persona       Entity_p        = Context_general.tb_persona.Where(q => q.pe_cedulaRuc == pe_cedulaRuc).FirstOrDefault();
                if (Entity_p == null)
                {
                    Context_general.Dispose();
                    return(info);
                }

                Entities_facturacion Context_facturacion = new Entities_facturacion();
                fa_cliente           Entity_c            = Context_facturacion.fa_cliente.Where(q => q.IdEmpresa == IdEmpresa && q.IdPersona == Entity_p.IdPersona).FirstOrDefault();
                if (Entity_c == null)
                {
                    info.IdPersona    = Entity_p.IdPersona;
                    info.info_persona = new Info.General.tb_persona_Info
                    {
                        IdPersona           = Entity_p.IdPersona,
                        pe_apellido         = Entity_p.pe_apellido,
                        pe_nombre           = Entity_p.pe_nombre,
                        pe_cedulaRuc        = Entity_p.pe_cedulaRuc,
                        pe_nombreCompleto   = Entity_p.pe_nombreCompleto,
                        pe_razonSocial      = Entity_p.pe_razonSocial,
                        pe_celular          = Entity_p.pe_celular,
                        pe_telfono_Contacto = Entity_p.pe_telfono_Contacto,
                        pe_correo           = Entity_p.pe_correo,
                        pe_direccion        = Entity_p.pe_direccion
                    };
                    Context_general.Dispose();
                    Context_facturacion.Dispose();
                    return(info);
                }

                info = new fa_cliente_Info
                {
                    IdEmpresa    = Entity_c.IdEmpresa,
                    IdCliente    = Entity_c.IdCliente,
                    IdPersona    = Entity_p.IdPersona,
                    info_persona = new Info.General.tb_persona_Info
                    {
                        IdPersona           = Entity_p.IdPersona,
                        pe_apellido         = Entity_p.pe_apellido,
                        pe_nombre           = Entity_p.pe_nombre,
                        pe_cedulaRuc        = Entity_p.pe_cedulaRuc,
                        pe_nombreCompleto   = Entity_p.pe_nombreCompleto,
                        pe_razonSocial      = Entity_p.pe_razonSocial,
                        pe_celular          = Entity_p.pe_celular,
                        pe_telfono_Contacto = Entity_p.pe_telfono_Contacto,
                        pe_correo           = Entity_p.pe_correo,
                        pe_direccion        = Entity_p.pe_direccion
                    }
                };

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 9
0
        public bool ValidarFechaTransaccion(int IdEmpresa, DateTime Fecha, cl_enumeradores.eModulo Modulo, ref string mensaje)
        {
            Entities_contabilidad db_conta   = new Entities_contabilidad();
            Entities_general      db_general = new Entities_general();

            try
            {
                Fecha = Fecha.Date;
                int Periodo = Convert.ToInt32(Fecha.ToString("yyyyMM"));

                var empresa = db_general.tb_empresa.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                if (empresa != null)
                {
                    if (empresa.em_fechaInicioActividad > Fecha.Date)
                    {
                        mensaje = "La fecha de la transacción es menor al inicio de actividades de la empresa en el sistema FIXED ERP: " + Fecha.Date.ToString("dd/MM/yyyy");
                        return(false);
                    }
                }

                ct_periodo per = db_conta.ct_periodo.Where(q => q.IdEmpresa == IdEmpresa && q.IdPeriodo == Periodo).FirstOrDefault();

                if (per == null)
                {
                    mensaje = "El periodo " + Periodo + " de la transacción no se encuentra registrado.";
                    return(false);
                }

                if (per.pe_cerrado == "S")
                {
                    mensaje = "El periodo " + Periodo + " se encuentra cerrado.";
                    return(false);
                }

                switch (Modulo)
                {
                case cl_enumeradores.eModulo.INV:
                    using (Entities_inventario db = new Entities_inventario())
                    {
                        var param = db.in_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de inventario";
                            return(false);
                        }

                        /*
                         * if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                         * {
                         *  mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de importación";
                         *  return false;
                         * }
                         */
                    }
                    break;

                case cl_enumeradores.eModulo.FAC:
                    using (Entities_facturacion db = new Entities_facturacion())
                    {
                        var param = db.fa_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de facturación";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de facturación";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.COM:
                    using (Entities_compras db = new Entities_compras())
                    {
                        var param = db.com_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de compras";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de compras";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.ACF:
                    using (Entities_activo_fijo db = new Entities_activo_fijo())
                    {
                        var param = db.Af_Parametros.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de activo fijo";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de activo fijo";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.RRHH:
                    using (Entities_rrhh db = new Entities_rrhh())
                    {
                    }
                    break;

                case cl_enumeradores.eModulo.IMP:
                    using (Entities_importacion db = new Entities_importacion())
                    {
                        var param = db.imp_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de importación";
                            return(false);
                        }

                        /*
                         * if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                         * {
                         *  mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de importación";
                         *  return false;
                         * }
                         */
                    }
                    break;

                case cl_enumeradores.eModulo.CONTA:
                    using (Entities_contabilidad db = new Entities_contabilidad())
                    {
                        var param = db.ct_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de contabilidad";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de contabilidad";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.CAJA:
                    using (Entities_caja db = new Entities_caja())
                    {
                        var param = db.caj_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de caja";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de caja";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.BANCO:
                    using (Entities_banco db = new Entities_banco())
                    {
                        var param = db.ba_parametros.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de bancos";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de bancos";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.CXC:
                    using (Entities_cuentas_por_cobrar db = new Entities_cuentas_por_cobrar())
                    {
                        var param = db.cxc_Parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de cuentas por cobrar";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de cuentas por cobrar";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.CXP:
                    using (Entities_cuentas_por_pagar db = new Entities_cuentas_por_pagar())
                    {
                        var param = db.cp_parametros.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de cuentas por pagar";
                            return(false);
                        }
                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de cuentas por pagar";
                            return(false);
                        }
                    }
                    break;
                }

                db_general.Dispose();
                db_conta.Dispose();
                return(true);
            }
            catch (Exception)
            {
                db_conta.Dispose();
                db_general.Dispose();
                throw;
            }
        }
Ejemplo n.º 10
0
        public List <ct_periodo_Info> get_list(int IdEmpresa, bool mostrar_anulados)
        {
            try
            {
                List <ct_periodo_Info> Lista;

                Entities_general      Context_g = new Entities_general();
                Entities_contabilidad Context   = new Entities_contabilidad();
                var lst_mes = (from q in Context_g.tb_mes
                               select new tb_mes_Info
                {
                    idMes = q.idMes,
                    smes = q.smes
                }).ToList();
                Context_g.Dispose();

                var lst_periodo = (from q in Context.ct_periodo
                                   where q.IdEmpresa == IdEmpresa
                                   select new ct_periodo_Info
                {
                    IdPeriodo = q.IdPeriodo,
                    IdEmpresa = q.IdEmpresa,
                    IdanioFiscal = q.IdanioFiscal,
                    pe_FechaIni = q.pe_FechaIni,
                    pe_FechaFin = q.pe_FechaFin,
                    pe_mes = q.pe_mes,
                    pe_cerrado = q.pe_cerrado,
                    pe_estado = q.pe_estado,

                    EstadoBool = q.pe_estado == "A" ? true : false
                }).ToList();


                if (mostrar_anulados == true)
                {
                    Lista = (from q in lst_periodo
                             join m in lst_mes
                             on q.pe_mes equals m.idMes
                             where q.IdEmpresa == IdEmpresa
                             select new ct_periodo_Info
                    {
                        IdPeriodo = q.IdPeriodo,
                        IdEmpresa = q.IdEmpresa,
                        IdanioFiscal = q.IdanioFiscal,
                        pe_FechaIni = q.pe_FechaIni,
                        pe_FechaFin = q.pe_FechaFin,
                        pe_mes = q.pe_mes,
                        pe_cerrado = q.pe_cerrado,
                        pe_estado = q.pe_estado,
                        smes = m.smes,

                        EstadoBool = q.pe_estado == "A" ? true : false
                    }).ToList();
                }
                else
                {
                    Lista = (from q in lst_periodo
                             join m in lst_mes
                             on q.pe_mes equals m.idMes
                             where q.IdEmpresa == IdEmpresa &&
                             q.pe_estado == "A"
                             select new ct_periodo_Info
                    {
                        IdPeriodo = q.IdPeriodo,
                        IdEmpresa = q.IdEmpresa,
                        IdanioFiscal = q.IdanioFiscal,
                        pe_FechaIni = q.pe_FechaIni,
                        pe_FechaFin = q.pe_FechaFin,
                        pe_mes = q.pe_mes,
                        pe_cerrado = q.pe_cerrado,
                        pe_estado = q.pe_estado,
                        smes = m.smes,

                        EstadoBool = q.pe_estado == "A" ? true : false
                    }).ToList();
                }

                Lista.ForEach(q => q.nom_periodo_combo = q.IdanioFiscal + " " + q.smes);

                Context.Dispose();
                return(Lista);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 11
0
        public cp_proveedor_Info get_info_x_num_cedula(int IdEmpresa, string pe_cedulaRuc)
        {
            try
            {
                cp_proveedor_Info info = new cp_proveedor_Info
                {
                    info_persona = new Info.General.tb_persona_Info()
                };

                Entities_general Context_general = new Entities_general();
                tb_persona       Entity_p        = Context_general.tb_persona.Where(q => q.pe_cedulaRuc == pe_cedulaRuc).FirstOrDefault();
                if (Entity_p == null)
                {
                    Context_general.Dispose();
                    return(info);
                }
                Entities_cuentas_por_pagar Context_cxp = new Entities_cuentas_por_pagar();
                cp_proveedor Entity_c = Context_cxp.cp_proveedor.Where(q => q.IdEmpresa == IdEmpresa && q.IdPersona == Entity_p.IdPersona).FirstOrDefault();
                if (Entity_c == null)
                {
                    info.IdPersona    = Entity_p.IdPersona;
                    info.info_persona = new Info.General.tb_persona_Info
                    {
                        IdPersona           = Entity_p.IdPersona,
                        pe_apellido         = Entity_p.pe_apellido,
                        pe_nombre           = Entity_p.pe_nombre,
                        pe_cedulaRuc        = Entity_p.pe_cedulaRuc,
                        pe_nombreCompleto   = Entity_p.pe_nombreCompleto,
                        pe_razonSocial      = Entity_p.pe_razonSocial,
                        pe_celular          = Entity_p.pe_celular,
                        pe_telfono_Contacto = Entity_p.pe_telfono_Contacto,
                        pe_correo           = Entity_p.pe_correo,
                        pe_direccion        = Entity_p.pe_direccion
                    };
                    Context_general.Dispose();
                    Context_cxp.Dispose();
                    return(info);
                }
                info = new cp_proveedor_Info
                {
                    IdEmpresa    = Entity_c.IdEmpresa,
                    IdProveedor  = Entity_c.IdProveedor,
                    IdPersona    = Entity_p.IdPersona,
                    info_persona = new Info.General.tb_persona_Info
                    {
                        IdPersona           = Entity_p.IdPersona,
                        pe_apellido         = Entity_p.pe_apellido,
                        pe_nombre           = Entity_p.pe_nombre,
                        pe_cedulaRuc        = Entity_p.pe_cedulaRuc,
                        pe_nombreCompleto   = Entity_p.pe_nombreCompleto,
                        pe_razonSocial      = Entity_p.pe_razonSocial,
                        pe_celular          = Entity_p.pe_celular,
                        pe_telfono_Contacto = Entity_p.pe_telfono_Contacto,
                        pe_correo           = Entity_p.pe_correo,
                        pe_direccion        = Entity_p.pe_direccion
                    }
                };

                return(info);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 12
0
        public tb_persona_Info get_info(int IdEmpresa, string IdTipoPersona, decimal IdEntidad)
        {
            tb_persona_Info info = new tb_persona_Info();

            Entities_general context_g = new Entities_general();

            switch (IdTipoPersona)
            {
            case "PERSONA":
                info = (from q in context_g.tb_persona
                        where q.pe_estado == "A" &&
                        q.IdPersona == IdEntidad
                        select new tb_persona_Info
                {
                    IdPersona = q.IdPersona,
                    pe_nombreCompleto = q.pe_nombreCompleto,
                    pe_cedulaRuc = q.pe_cedulaRuc,
                    IdEntidad = q.IdPersona
                }).FirstOrDefault();
                break;

            case "CLIENTE":
                Entities_facturacion context_f = new Entities_facturacion();
                info = (from q in context_f.vwfa_cliente_consulta
                        where q.Estado == "A" &&
                        q.IdEmpresa == IdEmpresa &&
                        q.IdCliente == IdEntidad
                        select new tb_persona_Info
                {
                    IdPersona = q.IdPersona,
                    pe_nombreCompleto = q.pe_nombreCompleto,
                    pe_cedulaRuc = q.pe_cedulaRuc,
                    IdEntidad = q.IdCliente
                }).FirstOrDefault();
                context_f.Dispose();
                break;

            case "EMPLEA":
                Entities_rrhh context_e = new Entities_rrhh();
                info = (from q in context_e.vwro_empleados_consulta
                        where q.em_estado == "A" &&
                        q.IdEmpresa == IdEmpresa &&
                        q.IdEmpleado == IdEntidad
                        select new tb_persona_Info
                {
                    IdPersona = q.IdPersona,
                    pe_nombreCompleto = q.Empleado,
                    pe_cedulaRuc = q.pe_cedulaRuc,
                    IdEntidad = q.IdEmpleado
                }).FirstOrDefault();
                context_e.Dispose();
                break;

            case "PROVEE":
                Entities_cuentas_por_pagar context_p = new Entities_cuentas_por_pagar();
                info = (from q in context_p.vwcp_proveedor_consulta
                        where q.pr_estado == "A" &&
                        q.IdEmpresa == IdEmpresa &&
                        q.IdProveedor == IdEntidad
                        select new tb_persona_Info
                {
                    IdPersona = q.IdPersona,
                    pe_nombreCompleto = q.pe_nombreCompleto,
                    pe_cedulaRuc = q.pe_cedulaRuc,
                    IdEntidad = q.IdProveedor
                }).FirstOrDefault();
                context_p.Dispose();
                break;
            }

            context_g.Dispose();

            return(info);
        }
Ejemplo n.º 13
0
        public List <tb_persona_Info> get_list(int IdEmpresa, string IdTipo_persona, int skip, int take, string filter)
        {
            try
            {
                List <tb_persona_Info> Lista = new List <tb_persona_Info>();

                Entities_general context_g = new Entities_general();
                switch (IdTipo_persona)
                {
                case "PERSONA":
                    var lstg = context_g.tb_persona.Where(q => q.pe_estado == "A" && (q.IdPersona.ToString() + " " + q.pe_cedulaRuc + " " + q.pe_nombreCompleto).Contains(filter)).OrderBy(q => q.IdPersona).Skip(skip).Take(take);
                    foreach (var q in lstg)
                    {
                        Lista.Add(new tb_persona_Info
                        {
                            IdPersona         = q.IdPersona,
                            pe_nombreCompleto = q.pe_nombreCompleto,
                            pe_cedulaRuc      = q.pe_cedulaRuc,
                            IdEntidad         = q.IdPersona
                        });
                    }
                    break;

                case "CLIENTE":
                    Entities_facturacion context_f = new Entities_facturacion();
                    var lstf = context_f.vwfa_cliente_consulta.Where(q => q.IdEmpresa == IdEmpresa && q.Estado == "A" && (q.IdCliente.ToString() + " " + q.pe_cedulaRuc + " " + q.pe_nombreCompleto).Contains(filter)).OrderBy(q => q.IdCliente).Skip(skip).Take(take);
                    foreach (var q in lstf)
                    {
                        Lista.Add(new tb_persona_Info
                        {
                            IdPersona         = q.IdPersona,
                            pe_nombreCompleto = q.pe_nombreCompleto,
                            pe_cedulaRuc      = q.pe_cedulaRuc,
                            IdEntidad         = q.IdCliente,
                            CodPersona        = q.Descripcion_tip_cliente
                        });
                    }
                    context_f.Dispose();
                    break;

                case "EMPLEA":
                    Entities_rrhh context_e = new Entities_rrhh();
                    var           lstr      = context_e.vwro_empleados_consulta.Where(q => q.IdEmpresa == IdEmpresa && q.em_estado == "A" && (q.IdEmpleado.ToString() + " " + q.pe_cedulaRuc + " " + q.Empleado).Contains(filter)).OrderBy(q => q.IdEmpleado).Skip(skip).Take(take);
                    foreach (var q in lstr)
                    {
                        Lista.Add(new tb_persona_Info
                        {
                            IdPersona         = q.IdPersona,
                            pe_nombreCompleto = q.Empleado,
                            pe_cedulaRuc      = q.pe_cedulaRuc,
                            IdEntidad         = q.IdEmpleado
                        });
                    }
                    context_e.Dispose();
                    break;

                case "PROVEE":
                    Entities_cuentas_por_pagar context_p = new Entities_cuentas_por_pagar();
                    var lstp = context_p.vwcp_proveedor_consulta.Where(q => q.IdEmpresa == IdEmpresa && q.pr_estado == "A" && (q.IdProveedor.ToString() + " " + q.pe_cedulaRuc + " " + q.pe_nombreCompleto).Contains(filter)).OrderBy(q => q.IdProveedor).Skip(skip).Take(take);
                    foreach (var q in lstp)
                    {
                        Lista.Add(new tb_persona_Info
                        {
                            IdPersona         = q.IdPersona,
                            pe_nombreCompleto = q.pe_nombreCompleto,
                            pe_cedulaRuc      = q.pe_cedulaRuc,
                            IdEntidad         = q.IdProveedor
                        });
                    }
                    context_p.Dispose();
                    break;
                }

                context_g.Dispose();
                return(Lista);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 14
0
        public bool ValidarFechaTransaccion(int IdEmpresa, DateTime Fecha, cl_enumeradores.eModulo Modulo, int IdSucursal, ref string mensaje)
        {
            Entities_contabilidad db_conta   = new Entities_contabilidad();
            Entities_general      db_general = new Entities_general();

            try
            {
                Fecha = Fecha.Date;
                int    Periodo = Convert.ToInt32(Fecha.ToString("yyyyMM"));
                string sModulo = Modulo.ToString();
                ct_CierrePorModuloPorSucursal CierreModulo = new ct_CierrePorModuloPorSucursal();
                var empresa = db_general.tb_empresa.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                if (empresa != null)
                {
                    if (empresa.em_fechaInicioActividad > Fecha.Date)
                    {
                        mensaje = "La fecha de la transacción es menor al inicio de actividades de la empresa en el sistema FIXED ERP: " + Fecha.Date.ToString("dd/MM/yyyy");
                        return(false);
                    }
                }

                ct_periodo per = db_conta.ct_periodo.Where(q => q.IdEmpresa == IdEmpresa && q.IdPeriodo == Periodo).FirstOrDefault();

                if (per == null)
                {
                    mensaje = "El periodo " + Periodo + " de la transacción no se encuentra registrado.";
                    return(false);
                }

                if (per.pe_cerrado == "S")
                {
                    mensaje = "El periodo " + Periodo + " se encuentra cerrado.";
                    return(false);
                }

                switch (Modulo)
                {
                case cl_enumeradores.eModulo.INV:
                    using (Entities_inventario db = new Entities_inventario())
                    {
                        var param = db.in_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de inventario";
                            return(false);
                        }

                        /*
                         * if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                         * {
                         *  mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de importación";
                         *  return false;
                         * }
                         */
                        var FechaFutura = DateTime.Now.AddDays((param == null ? 0 : param.DiasTransaccionesAFuturo));
                        var FechaPasada = DateTime.Now.AddDays(-(param == null ? 0 : (param.DiasTransaccionesAPasado == null ? 99999 : Convert.ToInt32(param.DiasTransaccionesAPasado))));

                        if (!(Fecha >= FechaPasada && Fecha <= FechaFutura))
                        {
                            mensaje = "La fecha de la transacción no está permitida por los parámetros del módulo de inventario";
                            return(false);
                        }
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "INV" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de inventario";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.FAC:
                    using (Entities_facturacion db = new Entities_facturacion())
                    {
                        var param = db.fa_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de facturación";
                            return(false);
                        }

                        var FechaFutura = DateTime.Now.AddDays((param == null ? 0 : param.DiasTransaccionesAFuturo));
                        var FechaPasada = DateTime.Now.AddDays(-(param == null ? 0 : (param.DiasTransaccionesAPasado == null ? 99999 : Convert.ToInt32(param.DiasTransaccionesAPasado))));

                        if (!(Fecha >= FechaPasada && Fecha <= FechaFutura))
                        {
                            mensaje = "La fecha de la transacción no está permitida por los parámetros del módulo de facturación";
                            return(false);
                        }

                        if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                        {
                            mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de facturación";
                            return(false);
                        }
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "FAC" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de facturación";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.COM:
                    using (Entities_compras db = new Entities_compras())
                    {
                        var param = db.com_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de compras";
                            return(false);
                        }

                        /*
                         * var FechaFutura = DateTime.Now.AddDays((param == null ? 0 : param.DiasTransaccionesAFuturo));
                         * var FechaPasada = DateTime.Now.AddDays(-(param == null ? 0 : (param.DiasTransaccionesAPasado == null ? 99999 : Convert.ToInt32(param.DiasTransaccionesAPasado))));
                         *
                         * if (!(Fecha >= FechaPasada && Fecha <= FechaFutura))
                         * {
                         *  mensaje = "La fecha de la transacción no está permitida por los parámetros del módulo de compras";
                         *  return false;
                         * }
                         *
                         * if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                         * {
                         *  mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de compras";
                         *  return false;
                         * }
                         */
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "COMP" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de compras";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.ACF:
                    using (Entities_activo_fijo db = new Entities_activo_fijo())
                    {
                        var param = db.Af_Parametros.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de activo fijo";
                            return(false);
                        }

                        /*
                         * var FechaFutura = DateTime.Now.AddDays((param == null ? 0 : param.DiasTransaccionesAFuturo));
                         * var FechaPasada = DateTime.Now.AddDays(-(param == null ? 0 : (param.DiasTransaccionesAPasado == null ? 99999 : Convert.ToInt32(param.DiasTransaccionesAPasado))));
                         *
                         * if (!(Fecha >= FechaPasada && Fecha <= FechaFutura))
                         * {
                         *  mensaje = "La fecha de la transacción no está permitida por los parámetros del módulo de activo fijo";
                         *  return false;
                         * }
                         *
                         * if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                         * {
                         *  mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de activo fijo";
                         *  return false;
                         * }
                         */
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "ACTF" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de activo fijo";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.RRHH:
                    using (Entities_rrhh db = new Entities_rrhh())
                    {
                        var param = db.ro_Parametros.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de importación";
                            return(false);
                        }

                        /*
                         * var FechaFutura = DateTime.Now.AddDays((param == null ? 0 : (param.DiasTransaccionesAFuturo==null ? 0 : Convert.ToInt32(param.DiasTransaccionesAPasado))));
                         * var FechaPasada = DateTime.Now.AddDays(-(param == null ? 0 : (param.DiasTransaccionesAPasado == null ? 99999 : Convert.ToInt32(param.DiasTransaccionesAPasado))));
                         *
                         * if (!(Fecha >= FechaPasada && Fecha <= FechaFutura))
                         * {
                         *  mensaje = "La fecha de la transacción no está permitida por los parámetros del módulo de recursos humanos";
                         *  return false;
                         * }
                         */
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "ROL" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de recursos humanos";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.IMP:
                    using (Entities_importacion db = new Entities_importacion())
                    {
                        var param = db.imp_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de importación";
                            return(false);
                        }

                        /*
                         * var FechaFutura = DateTime.Now.AddDays((param == null ? 0 : (param.DiasTransaccionesAFuturo == null ? 0 : Convert.ToInt32(param.DiasTransaccionesAFuturo))));
                         * var FechaPasada = DateTime.Now.AddDays(-(param == null ? 0 : (param.DiasTransaccionesAPasado == null ? 99999 : Convert.ToInt32(param.DiasTransaccionesAPasado))));
                         *
                         * if (!(Fecha >= FechaPasada && Fecha <= FechaFutura))
                         * {
                         *  mensaje = "La fecha de la transacción no está permitida por los parámetros del módulo de importación";
                         *  return false;
                         * }
                         *
                         * /*
                         * if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                         * {
                         *  mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de importación";
                         *  return false;
                         * }
                         */
                    }
                    break;

                case cl_enumeradores.eModulo.CONTA:
                    using (Entities_contabilidad db = new Entities_contabilidad())
                    {
                        var param = db.ct_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de contabilidad";
                            return(false);
                        }

                        /*
                         * var FechaFutura = DateTime.Now.AddDays((param == null ? 0 : param.DiasTransaccionesAFuturo));
                         * var FechaPasada = DateTime.Now.AddDays(-(param == null ? 0 : (param.DiasTransaccionesAPasado == null ? 99999 : Convert.ToInt32(param.DiasTransaccionesAPasado))));
                         *
                         * if (!(Fecha >= FechaPasada && Fecha <= FechaFutura))
                         * {
                         *  mensaje = "La fecha de la transacción no está permitida por los parámetros del módulo de contabilidad";
                         *  return false;
                         * }
                         *
                         * if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                         * {
                         *  mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de contabilidad";
                         *  return false;
                         * }
                         */
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "CONTA" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de contabilidad";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.CAJA:
                    using (Entities_caja db = new Entities_caja())
                    {
                        var param = db.caj_parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de caja";
                            return(false);
                        }

                        /*
                         * var FechaFutura = DateTime.Now.AddDays((param == null ? 0 : param.DiasTransaccionesAFuturo));
                         * var FechaPasada = DateTime.Now.AddDays(-(param == null ? 0 : (param.DiasTransaccionesAPasado == null ? 99999 : Convert.ToInt32(param.DiasTransaccionesAPasado))));
                         *
                         * if (!(Fecha >= FechaPasada && Fecha <= FechaFutura))
                         * {
                         *  mensaje = "La fecha de la transacción no está permitida por los parámetros del módulo de caja";
                         *  return false;
                         * }
                         *
                         * if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                         * {
                         *  mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de caja";
                         *  return false;
                         * }
                         */
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "CAJ" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de caja";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.BANCO:
                    using (Entities_banco db = new Entities_banco())
                    {
                        var param = db.ba_parametros.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de bancos";
                            return(false);
                        }

                        /*
                         * var FechaFutura = DateTime.Now.AddDays((param == null ? 0 : param.DiasTransaccionesAFuturo));
                         * var FechaPasada = DateTime.Now.AddDays(-(param == null ? 0 : (param.DiasTransaccionesAPasado == null ? 99999 : Convert.ToInt32(param.DiasTransaccionesAPasado))));
                         *
                         * if (!(Fecha >= FechaPasada && Fecha <= FechaFutura))
                         * {
                         *  mensaje = "La fecha de la transacción no está permitida por los parámetros del módulo de bancos";
                         *  return false;
                         * }
                         *
                         * if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                         * {
                         *  mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de bancos";
                         *  return false;
                         * }
                         */
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "BAN" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de bancos";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.CXC:
                    using (Entities_cuentas_por_cobrar db = new Entities_cuentas_por_cobrar())
                    {
                        var param = db.cxc_Parametro.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de cuentas por cobrar";
                            return(false);
                        }

                        /*
                         * var FechaFutura = DateTime.Now.AddDays((param == null ? 0 : param.DiasTransaccionesAFuturo));
                         * var FechaPasada = DateTime.Now.AddDays(-(param == null ? 0 : (param.DiasTransaccionesAPasado == null ? 99999 : Convert.ToInt32(param.DiasTransaccionesAPasado))));
                         *
                         * if (!(Fecha >= FechaPasada && Fecha <= FechaFutura))
                         * {
                         *  mensaje = "La fecha de la transacción no está permitida por los parámetros del módulo de cuentas por cobrar";
                         *  return false;
                         * }
                         *
                         * if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                         * {
                         *  mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de cuentas por cobrar";
                         *  return false;
                         * }
                         */
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "CXC" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de cuentas por cobrar";
                            return(false);
                        }
                    }
                    break;

                case cl_enumeradores.eModulo.CXP:
                    using (Entities_cuentas_por_pagar db = new Entities_cuentas_por_pagar())
                    {
                        var param = db.cp_parametros.Where(q => q.IdEmpresa == IdEmpresa).FirstOrDefault();
                        if (param == null)
                        {
                            mensaje = "No existen parámetros para el módulo de cuentas por pagar";
                            return(false);
                        }

                        /*
                         * var FechaFutura = DateTime.Now.AddDays((param == null ? 0 : param.DiasTransaccionesAFuturo));
                         * var FechaPasada = DateTime.Now.AddDays(-(param == null ? 0 : (param.DiasTransaccionesAPasado == null ? 99999 : Convert.ToInt32(param.DiasTransaccionesAPasado))));
                         *
                         * if (!(Fecha >= FechaPasada && Fecha <= FechaFutura))
                         * {
                         *  mensaje = "La fecha de la transacción no está permitida por los parámetros del módulo de cuentas por pagar";
                         *  return false;
                         * }
                         *
                         * if (param.DiasTransaccionesAFuturo > 0 && DateTime.Now.Date.AddDays(param.DiasTransaccionesAFuturo) < Fecha)
                         * {
                         *  mensaje = "La fecha de la transacción es superior a la fecha permitida por los parámetros del módulo de cuentas por pagar";
                         *  return false;
                         * }
                         */
                    }
                    CierreModulo = db_conta.ct_CierrePorModuloPorSucursal.Where(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.CodModulo == "CXP" && q.Cerrado).OrderByDescending(q => q.FechaFin).FirstOrDefault();
                    if (CierreModulo != null)
                    {
                        if (Fecha.Date <= CierreModulo.FechaFin)
                        {
                            mensaje = "El periodo de la transacción se encuentra cerrado para el módulo de cuentas por pagar";
                            return(false);
                        }
                    }
                    break;
                }

                db_general.Dispose();
                db_conta.Dispose();
                return(true);
            }
            catch (Exception)
            {
                db_conta.Dispose();
                db_general.Dispose();
                throw;
            }
        }