private List <string[]> ObtenerListado(string linkHoja)
        {
            var celdas = _servicioGoogle.ObtenerCeldasDeUnaHoja(linkHoja, _servicio);

            var listado = new List <string[]>();
            var item    = new string[celdas.ColCount.Count];

            foreach (CellEntry celda in celdas.Entries)
            {
                if (celda.Row != 1)
                {
                    if (celda.Column == 1)
                    {
                        item = new string[celdas.ColCount.Count];
                    }

                    item.SetValue(celda.Value, (int)celda.Column - 1);

                    if (celda.Column == celdas.ColCount.Count)
                    {
                        listado.Add(item);
                    }
                }
            }
            return(listado);
        }
        private async void ObtenerDatosMovimientosDesdeHCG()
        {
            try
            {
                ContenedorMovimientos.Children.Add(_indicadorActividad);
                IsBusy = true;

                await Task.Run(async() => {
                    if (CuentaUsuario.ValidarTokenDeGoogle())
                    {
                        var linkHistoricosCeldas = CuentaUsuario.ObtenerLinkHojaHistoricosCeldas(CuentaUsuario.ObtenerLinkHojaConsulta());
                        _celdas = _servicioGoogle.ObtenerCeldasDeUnaHoja(linkHistoricosCeldas, _servicio);
                    }
                    else
                    {
                        //Si se quedó la pantalla abierta un largo tiempo y se venció el token, se cierra y refresca el token
                        var paginaAuntenticacion = new PaginaAuntenticacion(true);
                        Navigation.InsertPageBefore(paginaAuntenticacion, this);
                        await Navigation.PopAsync();
                    }
                });
            }
            finally
            {
                IsBusy = false;                 //Remueve el Indicador de Actividad.
            }

            _nombresColumnas = new string[_celdas.ColCount.Count];

            var movimientos = new List <string[]>();
            var movimiento  = new string[_celdas.ColCount.Count];

            foreach (CellEntry celda in _celdas.Entries)
            {
                if (celda.Row != 1)
                {
                    if (celda.Column == 1)
                    {
                        movimiento = new string[_celdas.ColCount.Count];
                    }

                    movimiento.SetValue(celda.Value, (int)celda.Column - 1);

                    if (celda.Column == _celdas.ColCount.Count)
                    {
                        movimientos.Add(movimiento);
                    }
                }
                else
                {
                    _nombresColumnas.SetValue(celda.Value, (int)celda.Column - 1);
                }
            }

            LlenarGrillaDeMovimientos(movimientos);
        }
Beispiel #3
0
        private async void ObtenerDatosPedidosDesdeHCG()
        {
            try
            {
                IsBusy = true;

                await Task.Run(async() =>
                {
                    if (CuentaUsuario.ValidarTokenDeGoogle())
                    {
                        var linkHojaPedidos = CuentaUsuario.ObtenerLinkHojaPedidos();;
                        _celdas             = _servicioGoogle.ObtenerCeldasDeUnaHoja(linkHojaPedidos, _servicio);

                        var pedidos = new List <string[]>();
                        var pedido  = new string[_celdas.ColCount.Count];

                        foreach (CellEntry celda in _celdas.Entries)
                        {
                            if (celda.Row != 1)
                            {
                                if (celda.Column == 1)
                                {
                                    pedido = new string[_celdas.ColCount.Count];
                                }

                                pedido.SetValue(celda.Value, (int)celda.Column - 1);

                                if (celda.Column == _celdas.ColCount.Count)
                                {
                                    pedidos.Add(pedido);
                                }
                            }
                        }

                        LlenarGrillaDePedidos(pedidos);
                    }
                    else
                    {
                        // Si se quedó la pantalla abierta un largo tiempo y se venció el token, se cierra y refresca el token.
                        var paginaAuntenticacion = new PaginaAuntenticacion(true);
                        Navigation.InsertPageBefore(paginaAuntenticacion, this);
                        await Navigation.PopAsync();
                    }
                });
            }
            finally
            {
                // Remueve el Indicador de Actividad.
                IsBusy = false;
            }
        }
        private List <MovimientoProducto> ObtenerDatosDesdeHG()
        {
            var      linkHistoricosCeldas = CuentaUsuario.ObtenerLinkHojaHistoricosCeldas(CuentaUsuario.ObtenerLinkHojaConsulta());
            CellFeed celdas = _servicioGoogle.ObtenerCeldasDeUnaHoja(linkHistoricosCeldas, _servicio);

            var listaMovimientos  = new List <MovimientoProducto>();
            var movimiento        = new MovimientoProducto();
            var diccionarioCampos = new Dictionary <uint, string>();

            foreach (CellEntry celda in celdas.Entries)
            {
                var valorCelda = celda.Value.Trim().ToLower();
                if (celda.Row != 1)
                {
                    if (celda.Column == 1)
                    {
                        movimiento = new MovimientoProducto();
                    }

                    var nombreColumna = diccionarioCampos[celda.Column];
                    if (nombreColumna != null)
                    {
                        AsignarCampoMovimiento(movimiento, nombreColumna, valorCelda);
                    }

                    if (celda.Column == celdas.ColCount.Count)
                    {
                        listaMovimientos.Add(movimiento);
                    }
                }
                else
                {
                    if (!valorCelda.Contains("stock") || valorCelda == "stock bajo")
                    {
                        diccionarioCampos[celda.Column] = valorCelda;
                    }
                    else
                    {
                        diccionarioCampos[celda.Column] = "stock";
                    }
                }
            }

            return(listaMovimientos);
        }
Beispiel #5
0
        private async void ObtenerDatosProductosDesdeHCG(bool refrescarLugaresRelaciones)
        {
            try
            {
                IsBusy = true;

                await Task.Run(async() =>
                {
                    if (CuentaUsuario.ValidarTokenDeGoogle())
                    {
                        _celdas = _servicioGoogle.ObtenerCeldasDeUnaHoja(_linkHojaConsulta, _servicio);

                        //Refresca los lugares (compra o venta) y relaciones (insumos - productos) sólo cuando presionamos el botón de refrescar y durante la carga inicial
                        if (refrescarLugaresRelaciones)
                        {
                            RefrescarLugCompVtas_RelacionInsProd();
                        }
                    }
                    else
                    {
                        //Si se quedó la pantalla abierta un largo tiempo y se venció el token, se cierra y refresca el token
                        var paginaAuntenticacion = new PaginaAuntenticacion(true);
                        Navigation.InsertPageBefore(paginaAuntenticacion, this);
                        await Navigation.PopAsync();
                    }
                });
            }
            finally
            {
                IsBusy = false;                 //Remueve el Indicador de Actividad.
            }

            _nombresColumnas = new string[_celdas.ColCount.Count];

            var productos = new List <string[]>();
            var producto  = new string[_celdas.ColCount.Count];

            foreach (CellEntry celda in _celdas.Entries)
            {
                if (celda.Row != 1)
                {
                    if (celda.Column == 1)
                    {
                        producto = new string[_celdas.ColCount.Count];
                    }

                    producto.SetValue(celda.Value, (int)celda.Column - 1);

                    if (celda.Column == _celdas.ColCount.Count)
                    {
                        productos.Add(producto);
                    }
                }
                else
                {
                    _nombresColumnas.SetValue(celda.Value, (int)celda.Column - 1);
                }
            }

            LlenarGrillaDeProductos(productos);
        }