Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void SearchEarn()
- {
- double balance = 0;
- double earn = 0;
- double spent = 0;
- List<Transacciones> transaccionesListEarn = new List<Transacciones>();
- //List<Transacciones> LTransacciones = new List<Transacciones>();
- IEnumerable<Transacciones> ITransacciones;
- IEnumerable<Transacciones> ITransaccionSecond;
- //SearchUserControl searchUserControl = new SearchUserControl();
- DateTime desde = new DateTime();
- DateTime hasta = new DateTime();
- if (TextBoxNameEarn.Text.Length == 0 && TextBoxFromEarn.Text.Length == 0 && TextBoxToEarn.Text.Length == 0)
- {
- //mostrar lo que habia en el ListBoxEarn
- ListBoxEarn.ItemsSource = ListaTransaccionesEarn;
- earn = ListaTransaccionesEarn.Sum(transacciones => transacciones.amount);
- if (TextBoxTotalSpent.Text == "")
- {
- TextBoxTotalSpent.Text = "0";
- spent = Convert.ToDouble(TextBoxTotalSpent.Text);
- }
- else
- {
- spent = Convert.ToDouble(TextBoxTotalSpent.Text);
- }
- balance = earn - spent;
- SolidColorBrush mySolidColorBrush = new SolidColorBrush();
- if (balance >= 0)
- {
- // eesto pinta el color en un tono verde
- mySolidColorBrush.Color = Color.FromArgb(255, 2, 144, 70);
- TextBoxBalance.Foreground = mySolidColorBrush;
- }
- else
- {
- mySolidColorBrush.Color = Color.FromArgb(255, 191, 9, 19);
- TextBoxBalance.Foreground = mySolidColorBrush;
- }
- TextBoxBalance.Text = balance.ToString();
- TextBoxTotalEarn.Text = earn.ToString();
- TextBoxTotalSpent.Text = spent.ToString();
- //this.Frame.Navigate(typeof(Archivo));
- SecondSearch = false;
- }
- if (TextBoxNameEarn.Text.Length > 0)
- {
- if (SecondSearch == false)
- {
- ITransacciones = from transaccion in ListaTransaccionesEarn
- where transaccion.nombre.Contains(TextBoxNameEarn.Text)
- select transaccion;
- ListBoxEarn.ItemsSource = ITransacciones;
- earn = ITransacciones.Sum(transacciones => transacciones.amount);
- }
- /* aqui en vez de hacer una 2ª busqueda lño que haremos sera que todas las busquedas sucesivas busquen a
- * raiz de los objetos que aslgan en la ListBoxEarn.
- */
- if (SecondSearch == true)
- {
- //cogemos los objetos del listbox y hacemos la busqueda con los objetos que hay en la ListBoxEarn
- foreach (Transacciones transacciones in ListBoxEarn.Items)
- {
- transaccionesListEarn.Add(transacciones);
- }
- ITransaccionSecond = from transaccion in transaccionesListEarn
- where transaccion.nombre.Contains(TextBoxNameEarn.Text)
- select transaccion;
- ListBoxEarn.ItemsSource = ITransaccionSecond;
- earn = ITransaccionSecond.Sum(transacciones => transacciones.amount);
- transaccionesListEarn.Clear();
- }
- if (TextBoxTotalSpent.Text == "")
- {
- TextBoxTotalSpent.Text = "0";
- spent = Convert.ToDouble(TextBoxTotalSpent.Text);
- }
- else
- {
- spent = Convert.ToDouble(TextBoxTotalSpent.Text);
- }
- balance = earn - spent;
- SolidColorBrush mySolidColorBrush = new SolidColorBrush();
- if (balance >= 0)
- {
- // eesto pinta el color en un tono verde
- mySolidColorBrush.Color = Color.FromArgb(255, 2, 144, 70);
- TextBoxBalance.Foreground = mySolidColorBrush;
- }
- else
- {
- mySolidColorBrush.Color = Color.FromArgb(255, 191, 9, 19);
- TextBoxBalance.Foreground = mySolidColorBrush;
- }
- TextBoxBalance.Text = balance.ToString();
- TextBoxTotalEarn.Text = earn.ToString();
- TextBoxTotalSpent.Text = spent.ToString();
- //aqui vamos a poner un if para si es 2ª busqueda no entre pero si es por ej la 3ª busqueda entre
- if (SecondSearch == false)
- {
- SecondSearch = true;
- }
- }
- if (TextBoxFromEarn.Text.Length > 0 && TextBoxToEarn.Text.Length == 0)
- {
- //esto en terminos de rendimiento no tiene sentido lo pongo pq lo voy a hacer asi para que funcione el programa pero lo voy a cambia
- try
- {
- desde = DateTime.Parse(TextBoxFromEarn.Text);
- hasta = DateTime.Parse(TextBoxFromEarn.Text);
- }
- catch (Exception ex)
- {
- MessageDialog msg = new MessageDialog(ex.Message);
- msg.ShowAsync();
- }
- if (SecondSearch == false)
- {
- ITransacciones = from transaccion in ListaTransaccionesEarn
- let fecha = DateTime.Parse(transaccion.date)
- where fecha >= desde && fecha <= hasta
- select transaccion;
- ListBoxEarn.ItemsSource = ITransacciones;
- earn = ITransacciones.Sum(transacciones => transacciones.amount);
- }
- if (SecondSearch == true)
- {
- //para asegurarnos de que cogemos los elementos en la 2ª busqueda que hay en el la ListBoxEarm
- foreach (Transacciones transacciones in ListBoxEarn.Items)
- {
- transaccionesListEarn.Add(transacciones);
- }
- ITransaccionSecond = from transaccion in transaccionesListEarn
- let fecha = DateTime.Parse(transaccion.date)
- where fecha >= desde && fecha <= hasta
- select transaccion;
- ListBoxEarn.ItemsSource = ITransaccionSecond;
- earn = ITransaccionSecond.Sum(transacciones => transacciones.amount);
- transaccionesListEarn.Clear();
- }
- // aqui ya actualizamos el TextBoxTotalEarn
- TextBoxTotalEarn.Text = Convert.ToString(earn);
- //logicamnete esto afecta al balance que tenemos con respecto al otro total spent
- if (TextBoxTotalSpent.Text == "")
- {
- TextBoxTotalSpent.Text = "0";
- spent = Convert.ToDouble(TextBoxTotalSpent.Text);
- }
- else
- {
- spent = Convert.ToDouble(TextBoxTotalSpent.Text);
- }
- balance = earn - spent;
- SolidColorBrush mySolidColorBrush = new SolidColorBrush();
- if (balance >= 0)
- {
- // eesto pinta el color en un tono verde
- mySolidColorBrush.Color = Color.FromArgb(255, 2, 144, 70);
- TextBoxBalance.Foreground = mySolidColorBrush;
- }
- else
- {
- mySolidColorBrush.Color = Color.FromArgb(255, 191, 9, 19);
- TextBoxBalance.Foreground = mySolidColorBrush;
- }
- TextBoxBalance.Text = balance.ToString();
- //aqui vamos a poner un if para si es 2ª busqueda no entre pero si es por ej la 3ª busqueda entre
- if (SecondSearch == false)
- {
- SecondSearch = true;
- }
- //pongo a true la propiedad BusquedaEarn
- }
- if (TextBoxFromEarn.Text.Length > 0 && TextBoxToEarn.Text.Length > 0)
- {
- try
- {
- desde = DateTime.Parse(TextBoxFromEarn.Text);
- hasta = DateTime.Parse(TextBoxToEarn.Text);
- }
- catch (Exception ex)
- {
- MessageDialog msg = new MessageDialog(ex.Message);
- msg.ShowAsync();
- }
- if (SecondSearch == false)
- {
- ITransacciones = from transaccion in ListaTransaccionesEarn
- let fecha = DateTime.Parse(transaccion.date)
- where fecha >= desde && fecha <= hasta
- select transaccion;
- ListBoxEarn.ItemsSource = ITransacciones;
- earn = ITransacciones.Sum(transacciones => transacciones.amount);
- }
- if (SecondSearch == true)
- {
- //para asegurarnos de que cogemos los elementos en la 2ª busqueda que hay en el la ListBoxEarm
- foreach (Transacciones transacciones in ListBoxEarn.Items)
- {
- transaccionesListEarn.Add(transacciones);
- }
- ITransaccionSecond = from transaccion in transaccionesListEarn
- let fecha = DateTime.Parse(transaccion.date)
- where fecha >= desde && fecha <= hasta
- select transaccion;
- ListBoxEarn.ItemsSource = ITransaccionSecond;
- earn = ITransaccionSecond.Sum(transacciones => transacciones.amount);
- transaccionesListEarn.Clear();
- }
- // aqui ya actualizamos el TextBoxTotalEarn
- TextBoxTotalEarn.Text = Convert.ToString(earn);
- //logicamnete esto afecta al balance que tenemos con respecto al otro total spent
- if (TextBoxTotalSpent.Text == "")
- {
- TextBoxTotalSpent.Text = "0";
- spent = Convert.ToDouble(TextBoxTotalSpent.Text);
- }
- else
- {
- spent = Convert.ToDouble(TextBoxTotalSpent.Text);
- }
- balance = earn - spent;
- SolidColorBrush mySolidColorBrush = new SolidColorBrush();
- if (balance >= 0)
- {
- // eesto pinta el color en un tono verde
- mySolidColorBrush.Color = Color.FromArgb(255, 2, 144, 70);
- TextBoxBalance.Foreground = mySolidColorBrush;
- }
- else
- {
- mySolidColorBrush.Color = Color.FromArgb(255, 191, 9, 19);
- TextBoxBalance.Foreground = mySolidColorBrush;
- }
- TextBoxBalance.Text = balance.ToString();
- //aqui vamos a poner un if para si es 2ª busqueda no entre pero si es por ej la 3ª busqueda entre
- if (SecondSearch == false)
- {
- SecondSearch = true;
- }
- }
- } // final del metodo SearchEarn
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement