public OOB.Resultado.ResultadoLista <OOB.Reportes.Balances.GananciaPerdida.Ficha> Reportes_Balance_GananciaPerdida(OOB.Reportes.Balances.GananciaPerdida.Filtro filtro) { var result = new OOB.Resultado.ResultadoLista <OOB.Reportes.Balances.GananciaPerdida.Ficha>(); try { var filtroDTO = new DTO.Reportes.Balances.GananciaPerdida.Filtro(); if (filtro != null) { if (filtro.Desde != null && filtro.Hasta != null) { filtroDTO.DesdePerido = new DTO.Reportes.Balances.Historico() { MesHistorico = filtro.Desde.MesActual, AnoHistorico = filtro.Desde.AnoActual }; filtroDTO.HastaPeriodo = new DTO.Reportes.Balances.Historico() { MesHistorico = filtro.Hasta.MesActual, AnoHistorico = filtro.Hasta.AnoActual }; } } var resultDTO = _servicio.Reportes_Balances_GananciaPerdida(filtroDTO); if (resultDTO.Result == DTO.EnumResult.isError) { throw new Exception(resultDTO.Mensaje); } if (resultDTO.Lista != null) { result.cntRegistro = resultDTO.cntRegistro; result.Lista = resultDTO.Lista.OrderBy(o => o.Codigo).Select(item => { return(new OOB.Reportes.Balances.GananciaPerdida.Ficha() { Codigo = item.Codigo, Nombre = item.Nombre, Debe = item.Debe, Haber = item.Haber, }); }).ToList(); } else { result.Lista = new List <OOB.Reportes.Balances.GananciaPerdida.Ficha>(); } } catch (Exception e) { result.Mensaje = e.Message; result.Result = OOB.Resultado.EnumResult.isError; } return(result); }
public ResultadoLista <DTO.Reportes.Balances.GananciaPerdida.Ficha> Reporte_Balance_GananciaPerdida(DTO.Reportes.Balances.GananciaPerdida.Filtro filtro) { var result = new ResultadoLista <DTO.Reportes.Balances.GananciaPerdida.Ficha>(); try { using (var ctx = new dBEntities(_cn.ConnectionString)) { if (filtro.DesdePerido != null && filtro.HastaPeriodo != null) { var q = ctx.contabilidad_historico.Where(r => (r.mesHistorico >= filtro.DesdePerido.MesHistorico && r.anoHistorico >= filtro.DesdePerido.AnoHistorico && r.mesHistorico <= filtro.HastaPeriodo.MesHistorico && r.anoHistorico <= filtro.HastaPeriodo.AnoHistorico) && (r.codigo.Substring(0, 1) == "4" || r.codigo.Substring(0, 1) == "5" || r.codigo.Substring(0, 1) == "6" || r.codigo.Substring(0, 1) == "7" || r.codigo.Substring(0, 1) == "8" ) && r.nivel == 6). GroupBy(g => new { key = g.idCta, codigo = g.codigo, nombre = g.descripcion, naturaleza = g.naturaleza }). Select(s => new { codigo = s.Key.codigo, nombre = s.Key.nombre, naturaleza = s.Key.naturaleza, debe = s.Sum(t => t.debe), haber = s.Sum(t => t.haber) }). ToList(); if (q.Count > 0) { var list = q.Select(d => { var nat = DTO.Contable.PlanCta.Enumerados.Naturaleza.Deudora; if (d.naturaleza == "A") { nat = DTO.Contable.PlanCta.Enumerados.Naturaleza.Acreedora; } return(new DTO.Reportes.Balances.GananciaPerdida.Ficha { Codigo = d.codigo, Nombre = d.nombre, Debe = d.debe, Haber = d.haber, Naturaleza = nat }); }).ToList(); result.cntRegistro = list.Count(); result.Lista = list; } } else { var q = ctx.contabilidad_plancta.Where(r => (r.codigo.Substring(0, 1) == "4" || r.codigo.Substring(0, 1) == "5" || r.codigo.Substring(0, 1) == "6" || r.codigo.Substring(0, 1) == "7" || r.codigo.Substring(0, 1) == "8" ) && r.nivel == 6).ToList(); if (q.Count > 0) { var list = q.Select(d => { var nat = DTO.Contable.PlanCta.Enumerados.Naturaleza.Deudora; if (d.naturaleza == "A") { nat = DTO.Contable.PlanCta.Enumerados.Naturaleza.Acreedora; } return(new DTO.Reportes.Balances.GananciaPerdida.Ficha { Codigo = d.codigo, Nombre = d.descripcion, Debe = d.debe, Haber = d.haber, Naturaleza = nat }); }).ToList(); result.cntRegistro = list.Count(); result.Lista = list; } } } } catch (Exception e) { result.Mensaje = e.Message; result.Result = DTO.EnumResult.isError; } return(result); }
public DTO.ResultadoLista <DTO.Reportes.Balances.GananciaPerdida.Ficha> Reportes_Balances_GananciaPerdida(DTO.Reportes.Balances.GananciaPerdida.Filtro filtro) { return(provider.Reporte_Balance_GananciaPerdida(filtro)); }