public void Fill(CargarDatosContext c, Int32 edificioId, Int32?anio) { baseFill(c); EdifiId = edificioId; Anio = anio; if (!this.Anio.HasValue) { this.Anio = DateTime.Now.Year; } var anioMinimo = c.context.UnidadTiempo.Min(x => x.Anio); var anioActual = DateTime.Now.Year; for (int i = 0; i <= anioActual - anioMinimo; i++) { var value = (anioActual - i).ToString(); LstAnios.Add(new SelectListItem { Value = value, Text = value }); } if (this.Anio.HasValue) { LstDatos = c.context.DatoEdificio.Where(X => X.EdificioId == EdifiId && X.UnidadTiempo.Anio == this.Anio && X.Dato == X.Nombre).OrderBy(X => X.UnidadTiempo.Orden).ToList(); } else { LstDatos = c.context.DatoEdificio.Where(X => X.EdificioId == EdifiId && X.Dato == X.Nombre).OrderBy(X => X.UnidadTiempo.Orden).ToList(); } MaxOrden = (LstDatos.Max(x => x.Orden) ?? 0) + 1; }
public void fill(CargarDatosContext datacontext, String filtroTipo, String filtroNombre, String filtroDato, Int32?UnidadTiempoId, Int32 EdificioId, Int32?Anio) { baseFill(datacontext); this.EdificioId = EdificioId; this.filtroDato = filtroDato; this.filtroTipo = filtroTipo; this.filtroNombre = filtroNombre; this.UnidadTiempoId = UnidadTiempoId; this.Anio = Anio; if (!this.Anio.HasValue) { this.Anio = DateTime.Now.Year; } var anioMinimo = datacontext.context.UnidadTiempo.Min(x => x.Anio); var anioActual = DateTime.Now.Year; for (int i = 0; i <= anioActual - anioMinimo; i++) { var value = (anioActual - i).ToString(); LstAnios.Add(new SelectListItem { Value = value, Text = value }); } if (this.Anio.HasValue) { if (!String.IsNullOrEmpty(filtroTipo)) { if (filtroTipo.Contains("Crono") || filtroTipo.Contains("Equipo")) { LstDatos = datacontext.context.DatoEdificio.Where(X => X.EdificioId == EdificioId && X.UnidadTiempo.Anio == this.Anio && X.Dato != X.Nombre).OrderBy(X => X.Orden).ToList(); } else { LstDatos = datacontext.context.DatoEdificio.Where(X => X.EdificioId == EdificioId && X.UnidadTiempo.Anio == this.Anio && X.Dato != X.Nombre).OrderByDescending(X => X.UnidadTiempo.Orden).ToList(); } } else { LstDatos = datacontext.context.DatoEdificio.Where(X => X.EdificioId == EdificioId && X.UnidadTiempo.Anio == this.Anio && X.Dato != X.Nombre).OrderByDescending(X => X.UnidadTiempo.Orden).ToList(); } } else { if (!String.IsNullOrEmpty(filtroTipo)) { if (filtroTipo.Contains("Crono") || filtroTipo.Contains("Equipo")) { LstDatos = datacontext.context.DatoEdificio.Where(X => X.EdificioId == EdificioId && X.Dato != X.Nombre).OrderBy(X => X.Orden).ToList(); } else { LstDatos = datacontext.context.DatoEdificio.Where(X => X.EdificioId == EdificioId && X.Dato != X.Nombre).OrderByDescending(X => X.UnidadTiempo.Orden).ToList(); } } else { LstDatos = datacontext.context.DatoEdificio.Where(X => X.EdificioId == EdificioId && X.Dato != X.Nombre).OrderByDescending(X => X.UnidadTiempo.Orden).ToList(); } } LstDatos.AddRange(datacontext.context.DatoEdificio.Where(X => X.EdificioId == EdificioId && X.Dato != X.Nombre && X.UnidadTiempoId == null).ToList()); MaxOrden = (LstDatos.Max(x => x.Orden) ?? 0) + 1; if (!String.IsNullOrWhiteSpace(filtroTipo)) { LstDatos = LstDatos.Where(X => X.Tipo.Contains(filtroTipo)).ToList(); } if (!String.IsNullOrWhiteSpace(filtroNombre)) { LstDatos = LstDatos.Where(X => X.Nombre.Contains(filtroNombre)).ToList(); } if (!String.IsNullOrWhiteSpace(filtroDato)) { LstDatos = LstDatos.Where(X => X.Dato.Contains(filtroDato)).ToList(); } //if (UnidadTiempoId.HasValue) LstDatos = LstDatos.Where(X => (X.UnidadTiempoId ?? -1) == UnidadTiempoId.Value).ToList(); }