public List<DTO.Cuenta> obtenerCuentasNoActivas(int año, int mes, int empresaId, int grupoId, int rubroId) { List<DTO.Cuenta> lista = new List<DTO.Cuenta>(); try { var donde = new WhereBuilder<Cuenta>(); if (empresaId != -1) { donde.SetAnd(c => c.Empresa.EmpresaId == empresaId); } if (rubroId != -1) { donde.SetAnd(c => c.Rubro.RubroId == rubroId); } if (grupoId != -1) { donde.SetAnd(c => c.Grupo.GrupoId == grupoId); } var cas = from ca in db.CuentaActiva where DbFunctions.TruncateTime(ca.CuentaActivaFecha).Value.Year == año && DbFunctions.TruncateTime(ca.CuentaActivaFecha).Value.Month == mes select ca.CuentaActivaId; var cuentas = db.Cuenta.Where(c => !cas.Contains(c.CuentaId)); cuentas = cuentas.Where(donde.GetWhere()); //foreach (var i in cas) //{ // System.Diagnostics.Debug.WriteLine(">>>>>>" + i); //} foreach (var cuenta in cuentas) { //var c = new DTO.Cuenta(); //c.id = cuenta.CuentaId; //c.numero = cuenta.CuentaNumero; //c.nombre = cuenta.CuentaNombre; //c.empresa = new DTO.Empresa(); //c.empresa.razonSocial = cuenta.Empresa.EmpresaRazonSocial; //c.empresa.empresaId = cuenta.Empresa.EmpresaId; //c.rubro = new DTO.Rubro(); //c.rubro.rubroNombre = cuenta.Rubro.RubroNombre; //c.rubro.rubroId = cuenta.Rubro.RubroId; //c.grupo = new DTO.Grupo(); //c.grupo.grupoNombre = cuenta.Grupo.GrupoNombre; //c.grupo.grupoId = cuenta.Grupo.GrupoId; //c.descripcion = cuenta.CuentaDescripcion; //lista.Add(c); lista.Add(DTOBuilder.Cuenta(cuenta)); } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine("SAC.Models.MantenedorModel (obtenerCuentasNoActivas): " + ex.Message); lista = new List<DTO.Cuenta>(); } return lista; }