private List <string[]> ObtenerListado(ServiciosGoogle servicioGoogle, 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); }
public EstadisticasProducto(string[] producto, SpreadsheetsService servicio) { InitializeComponent(); _servicio = servicio; _servicioGoogle = new ServiciosGoogle(); _productoString = producto; InicializarValoresGenerales(); ObtenerDatosConstruirGrafica(); }
public ProductoMovimientos(string[] producto, SpreadsheetsService servicio) { InitializeComponent(); _servicio = servicio; _servicioGoogle = new ServiciosGoogle(); _productoString = producto; InicializarValoresGenerales(); ObtenerDatosMovimientosDesdeHCG(); }
// Constructor para Hoja de cálculo de Google public PedidosGrilla(SpreadsheetsService servicio) { InitializeComponent(); _servicioGoogle = new ServiciosGoogle(); // El servicio viene nulo cuando se llama directamente desde el lanzador (ya tiene conexión a datos configurada) _servicio = servicio ?? _servicioGoogle.ObtenerServicioParaConsultaGoogleSpreadsheets(CuentaUsuario.ObtenerTokenActualDeGoogle()); InicializarValoresGenerales(); // La carga de los pedidos se realiza en el OnAppearing }
static void Main(string[] args) { //Calendario Calendario = new Calendario(); //Calendario.ObtenerEventos(); ServiciosGoogle calendario = new ServiciosGoogle(); Evento evento = new Evento() { Nombre = "Evento Prueba", Contenido = "EventoContenido", Inicio = DateTime.Parse("03/04/2014 13:00:00"), Fin = DateTime.Parse("03/04/2014 14:00:00") }; List <Evento> Eventos = calendario.GetEvents("*****@*****.**", "lnmagb"); //bool ret = calendario.NuevoEvento(evento, "*****@*****.**", "lnmagb"); //bool ret2 = calendario.BorrarEvento(evento.ID, "*****@*****.**", "lnmagb"); }
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."; }
public ListaLibrosGoogle(string tokenDeAcceso) { InitializeComponent(); SombraEncabezado.Source = ImageSource.FromResource(App.RutaImagenSombraEncabezado); _servicioGoogle = new ServiciosGoogle(); _servicio = _servicioGoogle.ObtenerServicioParaConsultaGoogleSpreadsheets(tokenDeAcceso); _indicadorActividad = new ActivityIndicator { VerticalOptions = LayoutOptions.CenterAndExpand, IsEnabled = true, BindingContext = this }; _indicadorActividad.SetBinding(IsVisibleProperty, "IsBusy"); _indicadorActividad.SetBinding(ActivityIndicator.IsRunningProperty, "IsBusy"); }
private void AlmacnarColumnasProducto(string linkHoja) { var columnasProducto = new List <string>(); var celdas = new ServiciosGoogle().ObtenerCeldasDeUnaHoja(linkHoja, _servicio); foreach (CellEntry celda in celdas.Entries) { if (celda.Row == 1) { columnasProducto.Add(celda.Value); } else { break; } } CuentaUsuario.AlmacenarColumnasProducto(string.Join(",", columnasProducto)); }
public ProductoMovimientos(IReadOnlyCollection <CellEntry> producto, SpreadsheetsService servicio) { InitializeComponent(); _servicio = servicio; _servicioGoogle = new ServiciosGoogle(); //Almacenar el arreglo de strings para cargar el producto en pantalla _productoString = new string[producto.Count]; var i = 0; foreach (var celda in producto) { _productoString.SetValue(celda.InputValue, i); i = i + 1; } InicializarValoresGenerales(); ObtenerDatosMovimientosDesdeHCG(); }
public NuevoPedido(SpreadsheetsService servicio, List <Clases.Pedido> listaPedidos) { InitializeComponent(); _servicioGoogle = new ServiciosGoogle(); _servicio = servicio; ObtenerDatosClientesDesdeHCG(); _listaProducto = new ObservableCollection <DetallePedido>(); _listaPedidos = listaPedidos; _indicadorActividad = new ActivityIndicator { VerticalOptions = LayoutOptions.CenterAndExpand, IsEnabled = true, BindingContext = this }; _indicadorActividad.SetBinding(IsVisibleProperty, "IsBusy"); _indicadorActividad.SetBinding(ActivityIndicator.IsRunningProperty, "IsBusy"); ContenedorPedido.Children.Add(_indicadorActividad); }
private async void GuardarPedidoHojaDeCalculoGoogle(Picker comboCliente) { _mensaje = "Ha ocurrido un error mientras se guardaba el pedido."; var servicioGoogle = new ServiciosGoogle(); var grabo = false; var idCliente = _clientes[comboCliente.SelectedIndex][0]; var cliente = _clientes[comboCliente.SelectedIndex][1]; var idPedido = _listaPedidos.OrderByDescending(p => Convert.ToInt32(p.Id)).First()?.Id ?? "0"; var pedido = new Clases.Pedido() { Id = (Convert.ToInt32(idPedido) + 1).ToString(), Fecha = DateTime.Now.ToString("dd/MM/yyyy"), IdCliente = idCliente, Cliente = cliente, Detalle = _listaProducto.ToList(), FechaEntrega = DateTime.Now.ToString("dd/MM/yyyy"), Estado = "Pendiente", Usuario = CuentaUsuario.ObtenerNombreUsuarioGoogle() ?? "-", Comentario = "-", Lugar = "-" }; try { //Ingresa el pedido en la tabla servicioGoogle.InsertarPedido(_servicio, pedido); 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 pedido ha sido guardado correctamente." : "No se ha registrado el pedido."; }
private void AlmacenarColumnasVerEInventario(string linkHoja) { var columnasProducto = new List <string>(); var celdas = new ServiciosGoogle().ObtenerCeldasDeUnaHoja(linkHoja, _servicio); foreach (CellEntry celda in celdas.Entries) { if (celda.Row == 1) { columnasProducto.Add(celda.Value); } else { break; } } // Almacena el arreglo de visibilidad de columnas var listaColumnas = Enumerable.Repeat(1, columnasProducto.Count).ToArray(); // La columna Código no se muestra en PaginaGrilla listaColumnas.SetValue(0, 0); CuentaUsuario.AlmacenarColumnasParaVerDeHoja(linkHoja, string.Join(",", listaColumnas)); // Almacena el arreglo de columnas de inventario listaColumnas = Enumerable.Repeat(0, columnasProducto.Count).ToArray(); // Solo se indican como columnas de inventario las que comienzan con la palabra Stock, exceptuando "Stock bajo" for (var i = 0; i < columnasProducto.Count; i++) { var nombreColumna = columnasProducto[i].Trim().ToLower(); if (nombreColumna != "stock bajo" && (nombreColumna.Contains("stock") || nombreColumna == "total")) { listaColumnas.SetValue(1, i); } } CuentaUsuario.AlmacenarColumnasInventarioDeHoja(linkHoja, string.Join(",", listaColumnas)); }
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 ); } }