public JsonResult GetSearchBy(string Codigo) { try { List <TransportIndexViewModel> viewModels = new List <TransportIndexViewModel>(); List <Transport> models = db.Transports.Where(x => x.Enable == true && x.Dominio == Codigo).ToList(); foreach (var item in models) { string estado = GetEstado(item); TransportIndexViewModel viewModel = new TransportIndexViewModel { Id = item.Id, Dominio = item.Dominio, Estado = estado, Expediente = item.Expediente, Marca = item.Marca, Modelo = item.Modelo, TransportType = item.TransportType.Descripcion }; viewModels.Add(viewModel); } return(Json(viewModels.OrderByDescending(x => x.Id), JsonRequestBehavior.AllowGet)); } catch (Exception e) { throw; } }
public JsonResult GetsSearch() { try { List <TransportIndexViewModel> viewModels = new List <TransportIndexViewModel>(); List <Transport> tabla = db.Transports.Take(1000).Where(x => x.Enable == true).ToList(); foreach (var item in tabla) { string estado = GetEstado(item); Tuple <string, string> tuple = getNames(item.Persons.Where(x => x.PersonTypeId == (int)PersonType.Titular).ToList()); TransportIndexViewModel viewModel = new TransportIndexViewModel { Id = item.Id, Dominio = item.Dominio, Estado = estado, Expediente = item.Expediente, Marca = item.Marca, Modelo = item.Modelo, TransportType = item.TransportType.Descripcion, FechaAlta = item.FechaAlta.ToString("dd/MM/yyyy HH:mm:ss"), NombreTitular = tuple.Item1, DniTitular = tuple.Item2 }; viewModels.Add(viewModel); } return(Json(viewModels.OrderByDescending(x => x.Id), JsonRequestBehavior.AllowGet)); } catch (Exception e) { throw; } }
private List <TransportIndexViewModel> ArmarConsulta(string Tipo, string Expediente, string Dominio, string Apellido, string DNI, string Estado, string FechaDesde, string FechaHasta, string Modelo) { int TipoId = 0; int?TitularId = GetPersonIdByCode("TI"); if (!String.IsNullOrEmpty(Tipo)) { TipoId = Convert.ToInt32(Tipo); } List <TransportIndexViewModel> transports = new List <TransportIndexViewModel>(); DateTime?dtFechaDesde = null; DateTime?dtFechaHasta = null; if (!String.IsNullOrEmpty(FechaDesde)) { dtFechaDesde = Convert.ToDateTime(FechaDesde); } if (!String.IsNullOrEmpty(FechaHasta)) { dtFechaHasta = Convert.ToDateTime(FechaHasta).AddDays(1).AddTicks(-1); } try { var lista = db.Transports .Where(x => x.Enable == true) .Where(x => !string.IsNullOrEmpty(Tipo) ? (x.TransportType.Id == TipoId && x.TransportType.Descripcion != null) : true) .Where(x => !string.IsNullOrEmpty(Expediente) ? (x.Expediente == Expediente && x.Expediente != null) : true) .Where(x => !string.IsNullOrEmpty(Dominio) ? (x.Dominio == Dominio && x.Dominio != null) : true) .Where(x => !string.IsNullOrEmpty(Modelo) ? (x.Modelo == Modelo && x.Modelo != null) : true) .Where(x => !string.IsNullOrEmpty(Apellido) ? (x.Persons.Where(y => y.PersonTypeId == TitularId.Value).FirstOrDefault().Apellido == Apellido) : true) .Where(x => !string.IsNullOrEmpty(DNI) ? (x.Persons.Where(y => y.PersonTypeId == TitularId.Value).FirstOrDefault().Dni == DNI) : true) .Where(x => !string.IsNullOrEmpty(Expediente) ? (x.Expediente == Expediente && x.Expediente != null) : true) .Where(x => !string.IsNullOrEmpty(FechaDesde) ? (x.FechaAlta >= dtFechaDesde && x.FechaAlta != null) : true) .Where(x => !string.IsNullOrEmpty(FechaHasta) ? (x.FechaAlta <= dtFechaHasta && x.FechaAlta != null) : true) .Select(c => new { c.Id, c.TransportType, c.Dominio, c.Marca, c.Modelo, c.Expediente, c.VtoPoliza, c.VtoConstanciaAFIP, c.VtoMatafuego, c.VtoVTV, c.Persons, c.FechaAlta }).OrderByDescending(x => x.Id).Take(1000); ; foreach (var item in lista) { Transport t = new Transport { Id = item.Id, VtoConstanciaAFIP = item.VtoConstanciaAFIP, VtoMatafuego = item.VtoMatafuego, VtoPoliza = item.VtoPoliza, VtoVTV = item.VtoVTV, Persons = item.Persons }; string strEstado = GetEstado(t); if (String.IsNullOrEmpty(Estado) || Estado == strEstado) { Tuple <string, string> tuple = getNames(item.Persons.Where(x => x.PersonTypeId == (int)PersonType.Titular).ToList()); //Si filtro por estado, solo agrega el que coincide //Si no filtro por estado que agregue todo TransportIndexViewModel transport = new TransportIndexViewModel { Id = item.Id, Dominio = item.Dominio, Expediente = item.Expediente, Marca = item.Marca, Estado = strEstado, Modelo = item.Modelo, TransportType = item.TransportType.Descripcion, FechaAlta = item.FechaAlta.ToString("dd/MM/yyyy HH:mm:ss"), NombreTitular = tuple.Item1, DniTitular = tuple.Item2 }; transports.Add(transport); } } } catch (Exception e) { throw; } return(transports); }