Beispiel #1
0
        private async Task GuardarProductoHojaDeCalculoGoogle()
        {
            _mensaje = "Ha ocurrido un error mientras se guardaba el movimiento.";
            var servicioGoogle = new ServiciosGoogle();
            var grabo          = false;

            foreach (var celda in _producto)
            {
                if (_listaColumnasInventario[(int)celda.Column - 1] == "1")
                {
                    var multiplicador = _signoPositivo[(int)celda.Column - 1] ? 1 : -1;
                    var cantidad      = _cantidades[(int)celda.Column - 1];
                    var precio        = _precios[(int)celda.Column - 1];
                    var lugar         = _listaLugares != null ? _lugares[(int)celda.Column - 1] : "No tiene configurado.";

                    if (cantidad != 0)
                    {
                        try
                        {
                            // Si no hay lugares no hay campo de PrecioTotal, entonces el precio lo toma de la cantidad
                            if (_listaLugares == null)
                            {
                                precio = multiplicador * cantidad;
                            }

                            //Ingresa el movimiento de existencia (entrada - salida) en la tabla principal
                            servicioGoogle.EnviarMovimiento(_servicio, celda, multiplicador * cantidad, precio, lugar, _comentario, _producto, _nombresColumnas,
                                                            _listaColumnasInventario, CuentaUsuario.ObtenerLinkHojaHistoricos());
                            //Si es página principal y tiene las relaciones insumos - productos, ingresa los movimientos de insumos
                            if (multiplicador == 1)                             //Si es ingreso positivo
                            {
                                servicioGoogle.InsertarMovimientosRelaciones(_servicio, cantidad, _producto);
                            }

                            grabo = true;
                        }
                        catch (Exception)
                        {
                            // 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();
                        }
                    }
                }
            }
            _mensaje = grabo ? "El movimiento ha sido guardado correctamente." : "No se han registrado movimientos.";
        }
        private void GuardarProductoHojaDeCalculoGoogle()
        {
            _mensaje = "Ha ocurrido un error mientras se guardaba el movimiento.";
            var servicioGoogle = new ServiciosGoogle();
            var grabo          = false;

            for (uint columnaCelda = 0; columnaCelda < _productoString.Length; columnaCelda++)
            {
                if (_listaColumnasInventario[columnaCelda] == "1")
                {
                    var multiplicador = _signoPositivo[columnaCelda] ? 1 : -1;
                    var cantidad      = _cantidades[columnaCelda];
                    var precio        = _precios[columnaCelda];
                    var lugar         = _listaLugares != null ? _lugares[columnaCelda] : "No tiene configurado.";

                    if (cantidad != 0)
                    {
                        // Si no hay lugares no hay campo de PrecioTotal, entonces el precio lo toma de la cantidad
                        if (_listaLugares == null)
                        {
                            precio = multiplicador * cantidad;
                        }

                        //Ingresa el movimiento de existencia (entrada - salida) en la tabla principal
                        servicioGoogle.EnviarMovimiento(
                            _servicio,
                            columnaCelda,
                            multiplicador * cantidad,
                            precio,
                            lugar,
                            _comentario,
                            _productoString,
                            _nombresColumnas,
                            _listaColumnasInventario,
                            CuentaUsuario.ObtenerLinkHojaHistoricos()
                            );
                        //Si es página principal y tiene las relaciones insumos - productos, ingresa los movimientos de insumos
                        if (multiplicador == 1)                         //Si es ingreso positivo
                        {
                            servicioGoogle.InsertarMovimientosRelaciones(_servicio, cantidad, _productoString);
                        }

                        grabo = true;
                    }
                }
            }
            _mensaje = grabo ? "El movimiento ha sido guardado correctamente." : "No se han registrado movimientos.";
        }