async public Task <OOB.Resultado.ResultadoLista <OOB.Contable.PlanCta.Ficha> > PlanCta_Lista(OOB.Contable.PlanCta.Filtro filtro)
        {
            return(await Task.Run <OOB.Resultado.ResultadoLista <OOB.Contable.PlanCta.Ficha> >(() =>
            {
                var rt = new OOB.Resultado.ResultadoLista <OOB.Contable.PlanCta.Ficha>();
                try
                {
                    var busqDTO = new DTO.Contable.PlanCta.Busqueda()
                    {
                        Cadena = filtro.Cadena
                    };
                    var resultDTO = _servicio.Contable_PlanCta_Lista(busqDTO);
                    if (resultDTO.Result == DTO.EnumResult.isError)
                    {
                        throw new Exception(resultDTO.Mensaje);
                    }

                    rt.cntRegistro = resultDTO.cntRegistro;
                    if (resultDTO.Lista != null)
                    {
                        rt.Lista = resultDTO.Lista.Select(item =>
                        {
                            return new OOB.Contable.PlanCta.Ficha()
                            {
                                Id = item.Id,
                                Codigo = item.Codigo,
                                Nombre = item.Nombre,
                                Tipo = item.Tipo == DTO.Contable.PlanCta.Enumerados.Tipo.Auxiliar ? OOB.Contable.PlanCta.Enumerados.Tipo.Auxiliar : OOB.Contable.PlanCta.Enumerados.Tipo.Totalizadora,
                                Naturaleza = item.Naturaleza == DTO.Contable.PlanCta.Enumerados.Naturaleza.Deudora ? OOB.Contable.PlanCta.Enumerados.Naturaleza.Deudora : OOB.Contable.PlanCta.Enumerados.Naturaleza.Acreedora,
                                Estado = item.Estado == DTO.Contable.PlanCta.Enumerados.EstadoSituacion.Financiero ? OOB.Contable.PlanCta.Enumerados.EstadoSituacion.Financiero : OOB.Contable.PlanCta.Enumerados.EstadoSituacion.Resultados,
                                SaldoActual = new OOB.Contable.PlanCta.Saldos()
                                {
                                    Apertura = item.SaldoApertura,
                                    Debe = item.MontoDebe,
                                    Haber = item.MontoHaber,
                                    Anterior = item.SaldoAnterior
                                }
                            };
                        }).ToList();
                    }
                    else
                    {
                        rt.Lista = new List <OOB.Contable.PlanCta.Ficha>();
                    }
                }
                catch (Exception e)
                {
                    rt.Mensaje = e.Message;
                    rt.Result = OOB.Resultado.EnumResult.isError;
                }
                return rt;
            }));
        }
Exemplo n.º 2
0
        public ResultadoLista <DTO.Contable.PlanCta.FichaResumen> Contable_PlanCta_Lista(DTO.Contable.PlanCta.Busqueda busq)
        {
            var result = new ResultadoLista <DTO.Contable.PlanCta.FichaResumen>();

            if (busq == null)
            {
                result.Mensaje = "OPCIONES DE BUSQUEDA NO DEFINIDA";
                result.Result  = EnumResult.isError;
                return(result);
            }

            return(provider.Contable_PlanCta_Lista(busq));
        }
        public ResultadoLista <DTO.Contable.PlanCta.FichaResumen> Contable_PlanCta_Lista(DTO.Contable.PlanCta.Busqueda busq)
        {
            var result = new ResultadoLista <DTO.Contable.PlanCta.FichaResumen>();

            try
            {
                using (var ctx = new dBEntities(_cn.ConnectionString))
                {
                    var q = ctx.contabilidad_plancta.ToList();
                    if (busq.Cadena != "")
                    {
                        q = q.Where(d =>
                                    (d.codigo.Trim().ToUpper().Length >= busq.Cadena.Length)).ToList();
                        q = q.Where(d =>
                        {
                            var l      = busq.Cadena.Trim().Length;
                            var buscar = busq.Cadena.Trim().ToUpper();
                            var codigo = d.codigo.Trim().ToUpper();
                            var r      = codigo.Substring(0, l) == buscar;
                            return(r);
                        }).ToList();

                        if (q.Count() == 0)
                        {
                            q = ctx.contabilidad_plancta.Where(d => d.descripcion.Trim().ToUpper().Contains(busq.Cadena)).ToList();
                        }
                    }

                    if (q.Count > 0)
                    {
                        var list = q.Select(d =>
                        {
                            return(new DTO.Contable.PlanCta.FichaResumen()
                            {
                                Id = d.id,
                                Codigo = d.codigo,
                                Nombre = d.descripcion,
                                Tipo = d.tipo == "1" ? DTO.Contable.PlanCta.Enumerados.Tipo.Auxiliar : DTO.Contable.PlanCta.Enumerados.Tipo.Totalizadora,
                                Naturaleza = d.naturaleza == "D" ? DTO.Contable.PlanCta.Enumerados.Naturaleza.Deudora : DTO.Contable.PlanCta.Enumerados.Naturaleza.Acreedora,
                                Estado = d.estado == "1" ? DTO.Contable.PlanCta.Enumerados.EstadoSituacion.Financiero : DTO.Contable.PlanCta.Enumerados.EstadoSituacion.Resultados,
                                MontoDebe = d.debe,
                                MontoHaber = d.haber,
                                SaldoAnterior = d.saldoAnterior,
                                SaldoApertura = d.saldoApertura,
                            });
                        }).ToList();
                        result.cntRegistro = list.Count();
                        result.Lista       = list;
                    }
                }
            }
            catch (Exception e)
            {
                result.Mensaje = e.Message;
                result.Result  = DTO.EnumResult.isError;
            }

            return(result);
        }