private async void Guardar() { IsEnabled = false; #region Miranda: Guardar Tabla #region Ciclo para Guardar en Persistencia if (Application.Current.Properties.ContainsKey("ContadorAcciones"))//verifico cuantos elementos tiene mi lista para saber cual es la psocion del nuevo elemento a agregar { Elementos = (int.Parse((Application.Current.Properties["ContadorAcciones"]) as string)); } else { Elementos = 0; } Application.Current.Properties["TipoAccion" + Elementos] = TipoAccion.ToString(); Application.Current.Properties["FechaAccion" + Elementos] = FechaAccion.ToString(); Application.Current.Properties["Responsable" + Elementos] = ResponsableAccion.ToString(); Application.Current.Properties["Comentario" + Elementos] = Comentario.ToString(); Application.Current.Properties["ContadorAcciones"] = (Elementos + 1).ToString(); await Application.Current.SavePropertiesAsync(); #endregion int filas; filas = Elementos + 1; HeighListView = 44 * filas;//actalizo mi heigh await Application.Current.MainPage.DisplayAlert("Notificación", "Usted Tiene hasta Ahora: " + filas + " Acciones", "Excelente"); IsEnabled = true; Acciones.Add(new Accion() { Comentario = Comentario.ToString(), FechaAccion = FechaAccion, TipoAccion = TipoAccion.ToString(), Responsable = ResponsableAccion.ToString(), }); AnMeliponarioCajaViewModel.GetInstance().AccionesCaja = Acciones; //asigno los datos de mi lista AnMeliponarioCajaViewModel.GetInstance().HeighListViewB = this.HeighListView; //actualizo el heigh de mi vista anterior await Application.Current.MainPage.Navigation.PopAsync(); #endregion TipoAccion = string.Empty; OrigenColonia = string.Empty; ResponsableAccion = string.Empty; Comentario = string.Empty; IsEnabled = true; }
public ANMeliponarioViewModel() { /* * Application.Current.Properties["Idcaja" + 0] = 1.ToString(); * Application.Current.Properties["Tipocaja" + 0] = "".ToString(); * Application.Current.Properties["Fechaentregacaja" + 0] =DateTime.Now.ToString(); * Application.Current.Properties["Activacaja" + 0] = "".ToString(); * Application.Current.Properties["Comentariocaja" + 0] = "".ToString(); * Application.Current.Properties["Contadorcajas"] = 1.ToString(); * Application.Current.SavePropertiesAsync(); */ IsEnabled = true; instance = this; CajasAN = AnMeliponarioCajaViewModel.GetInstance().Cajas; //obtengo los datos de mi lista en la otra ANMeliponarioCajaViewModel HeighListViewAN = AnMeliponarioCajaViewModel.GetInstance().HeighListViewCaja; //obtengo el heigh de ANMeliponarioCajaViewModel }
async void Guardar() { isEnabled = false; #region Validaciones /* * if (string.IsNullOrEmpty(IdMeliponario) || string.IsNullOrEmpty(Productor) || string.IsNullOrEmpty(Latitud) || * string.IsNullOrEmpty(Longitud) || string.IsNullOrEmpty(TipoMeliponarioM) || string.IsNullOrEmpty(Observaciones)) * { * await Application.Current.MainPage.DisplayAlert("Error", "Llene los campos obligatorios", "aceptar"); * IsEnabled = true; * return; * } */ #endregion #region Limpiar Cache //borrar los datos existentes en persistencia if (Application.Current.Properties.ContainsKey("Contadorcajas")) //si contador es 0, entonces no hay cajas guardadas y no asigna nada a persistencia { Elementos = int.Parse((Application.Current.Properties["Contadorcajas"]) as string); } else { Elementos = 0; } for (int j = 0; j < Elementos; j++) //Elementos va a representar el total de elementos o filas existentes en mi persistencia { if (Application.Current.Properties.ContainsKey("Idcaja" + j)) { Application.Current.Properties.Remove("Idcaja" + j); } if (Application.Current.Properties.ContainsKey("Tipocaja" + j)) { Application.Current.Properties.Remove("Tipocaja" + j); } if (Application.Current.Properties.ContainsKey("Fechaentregacaja")) { Application.Current.Properties.Remove("Fechaentregacaja"); } if (Application.Current.Properties.ContainsKey("Activacaja")) { Application.Current.Properties.Remove("Activacaja"); } if (Application.Current.Properties.ContainsKey("Comentariocaja")) { Application.Current.Properties.Remove("Comentariocaja"); } } #endregion #region Ciclo para Guardar en Persistencia mi lista Actual i = 0; //inicio el contador de mis elementos o filas en (0) foreach (var caja in CajasAN) { Application.Current.Properties["Idcaja" + i] = caja.IdCaja.ToString(); Application.Current.Properties["Tipocaja" + i] = caja.TipoCaja.ToString(); Application.Current.Properties["Fechaentregacaja" + i] = caja.FechaEntrega.ToString(); Application.Current.Properties["Activacaja" + i] = caja.Activa.ToString(); Application.Current.Properties["Comentariocaja" + i] = caja.Comentario.ToString(); i++; Application.Current.Properties["Contadorcajas"] = i.ToString(); await Application.Current.SavePropertiesAsync(); } #endregion int filas; filas = CajasAN.Count; Application.Current.Properties["Contadorcajas"] = filas.ToString(); //hay que examinar esta linea, es de prueba porque creo que no se actualiza bien el contador en la otra viewmodel cuando se borran todos los registros y esta linea evita eso HeighListViewAN = 44 * filas; //actalizo mi heigh AnMeliponarioCajaViewModel.GetInstance().Cajas = this.CajasAN; //asigno los datos de mi lista await Application.Current.MainPage.DisplayAlert("Notificación", "Usted Tiene hasta Ahora: " + filas + " Cajas Registradas", "Excelente"); IsEnabled = true; }