private string AlmacenarHojaConsulta(string tituloHoja, bool requerida)
        {
            var hojaConsulta = _listaHojas.FirstOrDefault(datosHoja => datosHoja.Title.Text == tituloHoja);

            if (hojaConsulta == null)
            {
                return(requerida ? "Libro incorrecto, no tiene hoja " + tituloHoja + "." : "");
            }

            var linkHoja = hojaConsulta.Links.FindService(GDataSpreadsheetsNameTable.CellRel, null).HRef.ToString();

            CuentaUsuario.AlmacenarLinkHojaConsulta(linkHoja);
            CuentaUsuario.AlmacenarNombreDeHoja(linkHoja, tituloHoja);

            AlmacenarColumnasVerEInventario(linkHoja);

            if (tituloHoja.Equals("Productos App"))
            {
                // Link para pantalla PaginaGrilla
                _linkHojaConsulta = linkHoja;
                // 1 - Se valida si tenemos que habilitar la funcionalidad de Relación Insumo - Producto
                // Ocurre si existe en el libro una hoja de nombre "Costos variables".
                // 2 - Almacena las columnas de Producto - Se usarán en la pantalla Pedido (para almacenar movimientos de stock desde el detalle de pedido).
                ValidarHabilitacionRelacionesInsumoProducto(_linkHojaConsulta);
                AlmacenarColumnasProducto(_linkHojaConsulta);
            }
            return("");
        }
Пример #2
0
        private async void EnviarPagina(string linkHoja, string nombreHoja, bool desvinculaHoja)
        {
            //Si está desvinculando borra todas las configuraciones anteriores de la hoja seleccionada
            if (desvinculaHoja)
            {
                CuentaUsuario.ReiniciarHoja(linkHoja);
                CargarListaHojas();
            }
            else
            {
                ContentPage pagina;
                //Si ya se usó esta hoja alguna vez y si el botón presionado NO es el de Desvincular, carga las columnas ya seleccionadas y envía a Grilla.
                //Si no (alguna de las dos condiciones) envía a pantallas de selección de histórico y columnas.
                if (CuentaUsuario.VerificarHojaUsadaRecuperarColumnas(linkHoja))
                {
                    App.Instancia.LimpiarNavegadorLuegoIrPagina(new PaginaGrilla(linkHoja, _servicio));
                }
                else
                {
                    if (CuentaUsuario.VerificarHojaUsada(linkHoja))
                    {
                        await DisplayAlert("Configuración incompleta",
                                           "La hoja a la que intenta acceder tiene una configuración incompleta, por favor, desvincule la hoja y vuelva a configurarla.",
                                           "Listo");

                        return;
                    }

                    if (CuentaUsuario.VerificarHojaUsadaPorNombre(nombreHoja))
                    {
                        await DisplayAlert("Hoja con el mismo nombre",
                                           "Ya existe una hoja con el mismo nombre en uso, por favor, modifique el nombre de la hoja y vuelva a configurarla.",
                                           "Listo");

                        return;
                    }

                    // Se almacena el link para recobrar los datos de stock de la hoja cuando ingrese nuevamente.
                    CuentaUsuario.AlmacenarLinkHojaConsulta(linkHoja);
                    CuentaUsuario.AlmacenarNombreDeHoja(linkHoja, nombreHoja);

                    // 1 - Se ha seleccionado una hoja principal (de nombre "Productos App"), se valida si tenemos que habilitar la funcionalidad de Relación Insumo - Producto
                    // Ocurre si existe en el libro una hoja de nombre "Costos variables".
                    // 2 - Almacena las columnas de Producto - Se usarán en la pantalla Pedido (para almacenar movimientos de stock desde el detalle de pedido).
                    if (nombreHoja == "Productos App")
                    {
                        ValidarHabilitacionRelacionesInsumoProducto(linkHoja);
                        AlmacnarColumnasProducto(linkHoja);

                        // HACER -- En la configuración directa, agregar nunto a las otras hojas. Hacer if anidados y recorrer la lista de hojas una sola vez.
                        AgregarHojaClientes();
                        AgregarHojaPedidos();
                    }

                    pagina = new ListaHojasHistoricoGoogle(_servicio, _listaHojas);
                    await Navigation.PushAsync(pagina, true);
                }
            }
        }