public RegistroViewModel() { GuardarCommand = new Command(() => { RegistroModel modelo = new RegistroModel() { Nombre = Nombre, Apellido = Apellido, Cedula = Cedula, Correo = Correo, Clave = Clave }; using (var contexto = new DataContext()) { contexto.Insertar(modelo); } }); EditarCommand = new Command(() => { RegistroModel modelo = new RegistroModel() { Nombre = Nombre, Apellido = Apellido, Cedula = Cedula, Correo = Correo, Clave = Clave, IdPersona = IdPersona }; using (var contexto = new DataContext()) { contexto.Actualizar(modelo); } }); BorrarCommand = new Command(() => { RegistroModel modelo = new RegistroModel() { Nombre = Nombre, Apellido = Apellido, Cedula = Cedula, Correo = Correo, Clave = Clave, IdPersona = IdPersona }; using (var contexto = new DataContext()) { contexto.Eliminar(modelo); } }); }
//Command="{Binding EditarCommand}" private async void EditarButton_Clicked(object sender, System.EventArgs e) { RegistroModel modelo = new RegistroModel(); using (var contexto = new DataContext()) { contexto.Actualizar(modelo); } await Navigation.PopModalAsync(); }
public ModificarContacto(Cliente modelo) { InitializeComponent(); BindingContext = modelo; btnVolver.Clicked += BtnVolver_Clicked; btnModificar.Clicked += BtnModificar_Clicked; //se ingreso el metodo BtnModificar_Clicked dentro para hacer //uso del parametro (AgendaModel modelo) que viene desde listado //ya que trae el objeto seleccionado void BtnModificar_Clicked(object sender, System.EventArgs e) { using (var contexto = new DataContext()) { contexto.Actualizar(modelo); } Navigation.PopModalAsync(); //Navigation.PushAsync(new ListadoView()); //var listadoView = new ListadoView(); //listadoView.Navigation.PopModalAsync(); } }
public AgendaViewModel() { apiServices = new ApiServices(); Nuevo = new Command(() => { Nombre = ""; //Edad = int.Parse("Edad"); Telefono = ""; Mail = ""; // Saldo = int.Parse("Saldo"); Usuario = ""; }); #region Metodos #region Insertar/guardar Guardar = new Command(async() => { #region Validaciones if (string.IsNullOrEmpty(Nombre) || Edad == 0 || string.IsNullOrEmpty(Telefono) || string.IsNullOrEmpty(Mail) || string.IsNullOrEmpty(Usuario)) { Application.Current.MainPage.DisplayAlert("Error", "No deje campos vacios", "Entendido"); return; } else if (Nombre.Length < 3 || Nombre.Length > 15) { Application.Current.MainPage.DisplayAlert("Error", "Campo nombre no debe tener menos de 3 caracteres o mas de 15 caracteres", "Ok"); return; } #endregion #region guardo primero en local Cliente modelo = new Cliente { Nombre = Nombre, Edad = Edad, Telefono = Telefono, Mail = Mail, Saldo = Saldo, FechaCreacion = DateTime.Now, FechaCreacionUtc = DateTime.UtcNow, FechaModificacionLocal = DateTime.Now, FechaModificacionUtcLocal = DateTime.UtcNow, FechaModificacion = DateTime.Now, //servidor FechaModificacionUtc = DateTime.UtcNow, //servidor Proceso = 0, Usuario = Usuario, Estado = "Activo", EstadoLocal = "Activo", Id = "", Numero = 0, Sincronizado = false, }; using (var contexto = new DataContext()) //aqui inserto en mi bdLocal { contexto.Insertar(modelo); ObservableCollection <Cliente> listado = new ObservableCollection <Cliente>(contexto.Consultar()); ListViewModel.GetInstance().ListadoPersonas = listado; } Application.Current.MainPage.DisplayAlert("Mensaje", "Datos Guardados en Local", "Entendido"); #endregion #region chequeo conexion var result = await apiServices.CheckConnection(); //le falta el await para q funcione el issucces if (result.IsSuccess) //si hay conexion { #region subir al API Application.Current.MainPage.DisplayAlert("Mensaje", "Aqui se hace un Post", "ok"); #endregion } #endregion }); #endregion #region Modificar/Actualizar Modificar = new Command(async() => { #region Actualizo primero Localmente Cliente modelo = new Cliente { Numero = Numero, Nombre = Nombre, Edad = Edad, Telefono = Telefono, Mail = Mail, Saldo = Saldo, FechaCreacion = FechaCreacion, Proceso = Proceso, Usuario = Usuario, Estado = Estado, EstadoLocal = EstadoLocal, FechaCreacionUtc = FechaCreacionUtc, FechaModificacion = FechaModificacion, FechaModificacionLocal = DateTime.Now, //internamente son las unicas que cambia FechaModificacionUtc = FechaModificacionUtc, //internamente son las unicas que cambia FechaModificacionUtcLocal = DateTime.UtcNow, Id = Id, IdLocal = IdLocal, Sincronizado = false, //internamente cambia si no estoy conectado a internet }; using (var contexto = new DataContext()) { contexto.Actualizar(modelo); ObservableCollection <Cliente> listado2 = new ObservableCollection <Cliente>(contexto.Consultar()); ListViewModel.GetInstance().ListadoPersonas = listado2; } #endregion #region chequeo conexion var result = await apiServices.CheckConnection(); //le falta el await para q funcione el issucces if (result.IsSuccess) //si hay conexion { #region subir al API Application.Current.MainPage.DisplayAlert("Mensaje", "Aqui se hace un Put", "ok"); #endregion } #endregion }); #endregion #region Eliminar Eliminar = new Command(async() => { Cliente modelo = new Cliente { Numero = Numero, Nombre = Nombre, Edad = Edad, Telefono = Telefono, Mail = Mail, Saldo = Saldo, FechaCreacion = FechaCreacion, Proceso = Proceso, Usuario = Usuario, Estado = Estado, EstadoLocal = "Eliminado", FechaCreacionUtc = FechaCreacionUtc, FechaModificacion = FechaCreacion, FechaModificacionLocal = DateTime.Now, //internamente son las unicas que cambia FechaModificacionUtc = FechaModificacionUtc, //internamente son las unicas que cambia FechaModificacionUtcLocal = DateTime.UtcNow, Id = Id, IdLocal = IdLocal, Sincronizado = false, //internamente cambia si no estoy conectado a internet }; using (var contexto = new DataContext()) { contexto.Eliminar(modelo); ObservableCollection <Cliente> listado3 = new ObservableCollection <Cliente>(contexto.Consultar()); ListViewModel.GetInstance().ListadoPersonas = listado3; await Application.Current.MainPage.Navigation.PushAsync(new Listado()); } #region chequeo conexion var result = await apiServices.CheckConnection(); //le falta el await para q funcione el issucces if (result.IsSuccess) //si hay conexion { #region subir al API Application.Current.MainPage.DisplayAlert("Mensaje", "Aqui se hace un Delete", "ok"); #endregion } #endregion }); #endregion Volver = new Command(async() => { await Application.Current.MainPage.Navigation.PopModalAsync(); }); #endregion }