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."; }
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 ActualizarInventario() { var servicioGoogle = new ServiciosGoogle(); var columnasProductos = CuentaUsuario.ObtenerColumnasProductos()?.Split(','); var linkHojaProducto = CuentaUsuario.ObtenerLinkHojaPorNombre("Productos App"); var linkHojaProductoHistorico = CuentaUsuario.ObtenerLinkHojaHistoricosParaLinkHoja(linkHojaProducto); var productos = ObtenerListado(servicioGoogle, linkHojaProducto); string comentario = "Pedido " + _pedido.Id + " a " + _pedido.Cliente + ". " + _pedido.Comentario; foreach (var lineaDetalle in _pedido.Detalle) { var producto = new string[columnasProductos.Length]; // Buscar datos producto foreach (var prod in productos) { if (prod[0] == lineaDetalle.IdProducto) { producto = prod; break; } } servicioGoogle.EnviarMovimiento( _servicio, lineaDetalle.ColumnaStockElegido, -1 * Convert.ToDouble(lineaDetalle.Cantidad.Replace(',', '.')), Convert.ToDouble(lineaDetalle.Precio.Replace(',', '.')), _pedido.Lugar, comentario, producto, columnasProductos, _listaColumnasInventario, linkHojaProductoHistorico ); } }