static void Main(string[] args) { // prueba1 int[] temp1 = { 2, 3, 4, 6, 87, 1, 3, 1 }; int[] temp2 = { 1, 3, 5, 7, 1, 7, 9 }; IEnumerator <int> my = Diferencia.Resta <int>(((IEnumerable <int>)temp1).GetEnumerator(), ((IEnumerable <int>)temp2).GetEnumerator()); while (my.MoveNext()) { Console.WriteLine(my.Current); } Console.WriteLine(); DiferenciaEnumerator <int> mo = new DiferenciaEnumerator <int>(((IEnumerable <int>)temp1).GetEnumerator(), ((IEnumerable <int>)temp2).GetEnumerator()); while (mo.MoveNext()) { Console.WriteLine(mo.Current); } }
public void rellenarPag() { _numAciertos = 0; _diferencias = new List <Diferencia>(); Diferencia diferencia1 = new Diferencia(); Diferencia diferencia2 = new Diferencia(); Diferencia diferencia3 = new Diferencia(); Diferencia diferencia4 = new Diferencia(); diferencia1.ellipse.Name = "elipse1"; diferencia2.ellipse.Name = "elipse2"; diferencia3.ellipse.Name = "elipse3"; diferencia4.ellipse.Name = "elipse4"; diferencia1.posX = 210; diferencia2.posX = 380; diferencia1.posY = 250; diferencia2.posY = 280; diferencia3.posX = 850; diferencia4.posX = 1030; diferencia3.posY = 250; diferencia4.posY = 280; diferencia1.ellipse.Tapped += new TappedEventHandler(evento_Click); diferencia2.ellipse.Tapped += new TappedEventHandler(evento_Click); diferencia3.ellipse.Tapped += new TappedEventHandler(evento_Click); diferencia4.ellipse.Tapped += new TappedEventHandler(evento_Click); diferencia1.tomarPosicion(); diferencia2.tomarPosicion(); diferencia3.tomarPosicion(); diferencia4.tomarPosicion(); _diferencias.Add(diferencia1); _diferencias.Add(diferencia2); _diferencias.Add(diferencia3); _diferencias.Add(diferencia4); _imagen1 = new Uri("ms-appx://EncuentraDiferencias/Assets/imagen1.PNG", UriKind.RelativeOrAbsolute); _imagen2 = new Uri("ms-appx://EncuentraDiferencias/Assets/imagen2.PNG", UriKind.RelativeOrAbsolute); }
//{ // new CuadroInicio{ Titulo="Obras en proceso",Cantidad="10", Icono=MaterialDesignThemes.Wpf.PackIconKind.AccountBalance}, // new CuadroInicio{ Titulo="Dinero Caja",Cantidad="1000", Icono=MaterialDesignThemes.Wpf.PackIconKind.AccountBalance}, // new CuadroInicio{ Titulo="Obras en proceso",Cantidad="10", Icono=MaterialDesignThemes.Wpf.PackIconKind.AccountBalance} //};] public async Task Inicializar() { try { var totalIngreso = 0d; var totalEgreso = 0d; var cashflow = new ChartValues <DateModel>(); var egresos = new ChartValues <DateModel>(); CuentaCorrientes = new ObservableCollection <CuentaCorrienteDto>(await Servicios.ApiProcessor.GetApi <CuentaCorrienteDto[]>("CuentaCorriente/GetAll")); ComprobanteCompras = new ObservableCollection <ComprobanteCompraDto>(await ApiProcessor.GetApi <ComprobanteCompraDto[]>("ComprobanteCompra/GetAll")); var comprobanteSalida = await ApiProcessor.GetApi <decimal[]>("ComprobanteSalida/GetPorcentaje"); var comprobanteEntrada = await ApiProcessor.GetApi <decimal[]>("ComprobanteEntrada/GetPorcentaje"); DetalleCaja = new ObservableCollection <DetalleCajaDto>(await Servicios.ApiProcessor.GetApi <DetalleCajaDto[]>("DetalleCaja/GetAll")); Oficina = await ApiProcessor.GetApi <decimal>("ComprobanteCompra/GetOficina"); Jornales = new ObservableCollection <JornalDto>(await ApiProcessor.GetApi <JornalDto[]>("Jornal/GetAll")); Jornales.Sum(x => x.Repuestos); Jornales.Sum(x => x.Gasolina); Obras = await ApiProcessor.GetApi <int[]>("Obra/NumeroPendientes"); Presupuestos = new ObservableCollection <PresupuestoDto>(await ApiProcessor.GetApi <PresupuestoDto[]>("Presupuesto/GetAprobado")); if (CuentaCorrientes != null) { foreach (var i in CuentaCorrientes) { Operaciones = new List <OperacionDto>(await ApiProcessor.GetApi <OperacionDto[]>($"Operacion/GetByBanco/{i.BancoId}")); var values = new ChartValues <DateModel>(); var total = 0d; foreach (var item in Operaciones.Where(x => x.FechaEmision.Value.Year == DateTime.Now.Year).OrderBy(x => x.FechaEmision)) { if (item.Haber != 0) { total -= (double)item.Haber; totalEgreso += (double)item.Haber; Graficas.Add(new ClaseGrafico { Fecha = item.FechaEmision.Value, TipoMovimiento = TipoMovimiento.Egreso, Monto = (decimal)item.Haber }); } else { total += (double)item.Debe; totalIngreso += (double)item.Debe; Graficas.Add(new ClaseGrafico { Fecha = item.FechaEmision.Value, TipoMovimiento = TipoMovimiento.Ingreso, Monto = (decimal)item.Debe }); } values.Add(new DateModel { DateTime = item.FechaEmision.Value, Value = total }); } SeriesCollection.Add(new LineSeries { Values = values, Title = $"{i.Banco.RazonSocial}" }); Descontado = (decimal)Operaciones.Where(x => x.Descontado != null).Sum(x => x.Descontado); Debe = (decimal)Operaciones.Where(x => x.Debe != null).Sum(x => x.Debe); Haber = (decimal)Operaciones.Where(x => x.Haber != null).Sum(x => x.Haber); Diferencia += Debe - Haber - Descontado; } Cuadros.Add(new CuadroInicio { Titulo = $"Saldo de bancos", Cantidad = $"{Diferencia.ToString("C")}", Icono = MaterialDesignThemes.Wpf.PackIconKind.AccountBalance }); } if (DetalleCaja != null) { var values = new ChartValues <DateModel>(); foreach (var i in DetalleCaja.GroupBy(x => x.CajaId)) { var total = 0d; foreach (var item in i) { if (item.TipoMovimiento == Constantes.TipoMovimiento.Egreso) { total -= (double)item.Monto; Graficas.Add(new ClaseGrafico { Fecha = item.Caja.FechaApertura, TipoMovimiento = TipoMovimiento.Egreso, Monto = (decimal)item.Monto }); } else { total += (double)item.Monto; Graficas.Add(new ClaseGrafico { Fecha = item.Caja.FechaApertura, TipoMovimiento = TipoMovimiento.Ingreso, Monto = (decimal)item.Monto }); } values.Add(new DateModel { DateTime = item.Caja.FechaApertura, Value = total }); } } SeriesCollection.Add(new LineSeries { Values = values, Title = $"Caja" }); } var suma = 0d; var egreso = 0d; foreach (var item in Graficas.OrderBy(x => x.Fecha)) { if (item.TipoMovimiento == Constantes.TipoMovimiento.Egreso) { egreso += (double)item.Monto; egresos.Add(new DateModel { DateTime = item.Fecha.Date, Value = egreso }); } else { suma += (double)item.Monto; cashflow.Add(new DateModel { DateTime = item.Fecha.Date, Value = suma }); } } SeriesCashFlow.Add(new LineSeries { Values = cashflow, Title = $"Ingresos" }); SeriesCashFlow.Add(new LineSeries { Values = egresos, Title = $"Egresos" }); YCashFlow = value => value.ToString("C"); XCashFlow = value => { try { return(new DateTime((long)(value * TimeSpan.FromDays(1).Ticks * 30.44)).ToString("M")); } catch (Exception) { return(DateTime.Now.ToString("M")); } }; YFormatter = value => value.ToString("C"); XFormatter = value => { try { return(new DateTime((long)(value * TimeSpan.FromDays(1).Ticks * 30.44)).ToString("M")); } catch (Exception) { return(DateTime.Now.ToString("M")); } }; if (await ApiProcessor.GetApi <bool>("Caja/CajasEstado")) { var caja = await Servicios.ApiProcessor.GetApi <CajaDto>("Caja/CajaAbierta"); var detallesCaja = new ObservableCollection <DetalleCajaDto>(await Servicios.ApiProcessor.GetApi <DetalleCajaDto[]>($"DetalleCaja/GetByCaja/{caja.Id}")); decimal MontoSistema = 0; if (detallesCaja.Count > 0) { MontoSistema = detallesCaja.Where(x => x.TipoMovimiento == Constantes.TipoMovimiento.Ingreso).Sum(x => x.Monto) - detallesCaja.Where(x => x.TipoMovimiento == Constantes.TipoMovimiento.Egreso).Sum(x => x.Monto); } Cuadros.Add(new CuadroInicio { Titulo = $"Saldo de la caja", Cantidad = $"{MontoSistema.ToString("C")}", Icono = MaterialDesignThemes.Wpf.PackIconKind.CashRegister, Color = "#74D774" }); } else { Cuadros.Add(new CuadroInicio { Titulo = $"La caja esta cerrada", Cantidad = "", Icono = MaterialDesignThemes.Wpf.PackIconKind.CashRegister, Color = "#74D774 " }); } Cuadros.Add(new CuadroInicio { Titulo = $"Gastos de oficina", Cantidad = $"{Oficina.ToString("C")}", Icono = MaterialDesignThemes.Wpf.PackIconKind.Shredder, Color = "#F3E5A1" }); Cuadros.Add(new CuadroInicio { Titulo = $"Cantidad de obras finalizadas", Cantidad = $"{Obras[0]} de {Obras[1]}", Icono = MaterialDesignThemes.Wpf.PackIconKind.TransmissionTower, Color = "#D3B8DD " }); var Gasolina = Jornales.Sum(x => x.Gasolina); var Repuesto = Jornales.Sum(x => x.Repuestos); var Compras = ComprobanteCompras.Where(x => NoObras.Obras.Contains(x.Id)).Sum(x => x.Pagando); Total = Gasolina + Repuesto + Compras; Series.Add(new PieSeries { Title = "Gasolina", Values = new ChartValues <decimal>(new decimal[] { Gasolina }), DataLabels = true, LabelPoint = PointLabel }); Series.Add(new PieSeries { Title = "Repuesto", Values = new ChartValues <decimal>(new decimal[] { Repuesto }), DataLabels = true, LabelPoint = PointLabel }); Series.Add(new PieSeries { Title = "Compras", Values = new ChartValues <decimal>(new decimal[] { Compras }), DataLabels = true, LabelPoint = PointLabel }); SeriesSalida.Add(new PieSeries { Title = "Blanco", Values = new ChartValues <decimal>(new decimal[] { comprobanteSalida[0] }), DataLabels = true, LabelPoint = PointLabel }); SeriesSalida.Add(new PieSeries { Title = "Negro", Values = new ChartValues <decimal>(new decimal[] { comprobanteSalida[1] }), DataLabels = true, LabelPoint = PointLabel }); SeriesEntrada.Add(new PieSeries { Title = "Blanco", Values = new ChartValues <decimal>(new decimal[] { comprobanteEntrada[0] }), DataLabels = true, LabelPoint = PointLabel }); SeriesEntrada.Add(new PieSeries { Title = "Negro", Values = new ChartValues <decimal>(new decimal[] { comprobanteEntrada[1] }), DataLabels = true, LabelPoint = PointLabel }); var Cobrado = Presupuestos.Sum(x => x.CobradoSinImpuestos); TotalPresupuesto = Presupuestos.Sum(x => x.TotalSinImpuestos); var DiferenciaPresupuesto = TotalPresupuesto - Cobrado; SeriesPresupuesto.Add(new PieSeries { Title = "Cobrado", Values = new ChartValues <decimal>(new decimal[] { Cobrado }), DataLabels = true, LabelPoint = PointLabelPresupuesto }); SeriesPresupuesto.Add(new PieSeries { Title = "Faltante", Values = new ChartValues <decimal>(new decimal[] { DiferenciaPresupuesto }), DataLabels = true, LabelPoint = PointLabelPresupuesto }); } catch (Exception) { MessageBox.Show("No se pudo cargar por problemas de conexion."); } }