private async void btnBusquedaCO_Click(object sender, RoutedEventArgs e) { var listasu = dgSucCO.Items.OfType <Sucursal>(); var listaCa = dgCat.Items.OfType <CategoriaOferta>(); ServiceReference1.Service1Client proxy = new ServiceReference1.Service1Client(); string json = proxy.ReadAllOfertas(mainwindow.RetailActual.IdRetail); Core.Negocio.OfertaCollections collof = new Core.Negocio.OfertaCollections(json); var colloff = new OfertaCollections(); var colmost = new OfertaCollections(); bool pas = false; //primer filtro if (txtBusquedaCO.Text.Length > 0) { foreach (var item in collof) { if (item.Nombre.ToUpper().Contains(txtBusquedaCO.Text)) { colloff.Add(item); } } colmost = colloff; } else { colloff = collof; colmost = colloff; } // segundo filtro collof = colmost; colloff = new OfertaCollections(); if (cbPublicadasCO.IsChecked == true) { foreach (var item in collof) { if (item.EstadoOferta.Equals('1')) { colloff.Add(item); } } colmost = colloff; } else { foreach (var item in collof) { if (item.EstadoOferta.Equals('0')) { colloff.Add(item); } } colmost = colloff; } collof = colmost; colloff = new OfertaCollections(); //tercer filtro foreach (var item in listasu) { if (item.Selec == true) { pas = true; } } if (pas) { foreach (var item in listasu) { if (item.Selec == true) { foreach (var item2 in collof) { if (item.IdSucursal == item2.IdSucursal) { colloff.Add(item2); } } } } colmost = colloff; } else { collof = colmost; } pas = false; //Cuarto filtro foreach (var item in listaCa) { if (item.Selec == true) { pas = true; } } if (pas) { foreach (var item in listaCa) { if (item.Selec == true) { foreach (var item2 in collof) { if (item.IdCategoria == item2.CategoriaIdOferta) { colloff.Add(item2); } } } } colmost = colloff; } else { collof = colmost; } if (colmost.Count() > 0) { colmost.ToList(); dgOfertasCO.ItemsSource = colmost; } else { await this.ShowMessageAsync("Error", "No hay coincidencias para mostrar"); LimpiarControles(); } }
private async void btnBusquedaPu_Click(object sender, RoutedEventArgs e) { ServiceReference1.Service1Client proxy = new ServiceReference1.Service1Client(); string json = proxy.ReadAllOfertas(mainwindow.RetailActual.IdRetail); Core.Negocio.OfertaCollections collof = new Core.Negocio.OfertaCollections(json); var colloff = new OfertaCollections(); if (txtBusquedaPu.Text.Length > 0) { if (cbPublicadas.IsChecked == true) { foreach (var item in collof) { if (item.Nombre.ToUpper().Contains(txtBusquedaPu.Text.ToUpper()) && item.EstadoOferta.Equals('1')) { colloff.Add(item); } } if (colloff.Count > 0) { colloff.ToList(); dgOfertas.ItemsSource = colloff; } else { await this.ShowMessageAsync("Error", "No hay ofertas publicadas para mostrar"); } } else { foreach (var item in collof) { if (item.EstadoOferta.Equals('0') && item.Nombre.ToUpper().Contains(txtBusquedaPu.Text.ToUpper())) { colloff.Add(item); } } if (colloff.Count > 0) { colloff.ToList(); dgOfertas.ItemsSource = colloff; } else { await this.ShowMessageAsync("Error", "No hay ofertas no publicadas para mostrar"); } } } else { if (cbPublicadas.IsChecked == true) { foreach (var item in collof) { if (item.EstadoOferta.Equals('1')) { colloff.Add(item); } } if (colloff.Count > 0) { colloff.ToList(); dgOfertas.ItemsSource = colloff; } else { await this.ShowMessageAsync("Error", "No hay ofertas publicadas para mostrar"); } } else { foreach (var item in collof) { if (item.EstadoOferta.Equals('0')) { colloff.Add(item); } } if (colloff.Count > 0) { colloff.ToList(); dgOfertas.ItemsSource = colloff; } else { await this.ShowMessageAsync("Error", "No hay ofertas no publicadas para mostrar"); } } } }